我正在使用一个嵌入式linux系统,它有两个值得注意的用户: root和admin。我可以以管理员身份通过ssh登录,但不能以root身份登录(密码未知)。系统的制造商暂时打开了一个安全漏洞,允许我使用管理用户创建一个引导脚本,作为root执行。我想使用这个引导脚本生成一个根shell,我可以在以后使用用户管理连接到它。我不确定术语,但我想创建一个虚拟tty,它连接到具有权限集的交互式shell,这样管理员就可以打开它。我不知道要运行什么命令才能实现这一点。
发布于 2016-08-13 22:54:37
我想要创建一个连接到交互式shell的虚拟tty。
当然,你可以这样做,- but,你要怎么连接到这个tty呢?如果设备上有串行连接,则可以在设备上运行交互式shell:
sh </dev/ttyS0 >/dev/ttyS0 2>/dev/ttyS0这里不涉及登录,您插入一个串行电缆,并得到一个根外壳。如果您正在通过SSH进行连接,这就不那么容易了,因为SSH不是为绕过登录而设计的。当然,您可以为根帐户设置一个空白密码,并将SSH配置为授权root登录。
但是,如果您希望允许任何能够连接到设备的人以root用户的身份运行命令的话。如果您希望允许管理员用户将权限提升到根用户,那么涉及一个终端就没有意义了。
最简单的方法是为您所知道的根帐户设置密码。或者,在设备上安装数独,并将以下行添加到文件/etc/sudoers中:
admin ALL=(ALL:ALL) ALL然后,您可以通过运行sudo mycommand (sudo -s以获取一个shell)从管理帐户以根用户身份运行命令。如果您不想在运行admin时键入sudo帐户的密码,请在结束括号后添加NOPASSWD:。
如果根文件系统是只读的,则可以在其他地方安装sudo。二进制文件必须安装在没有noexec或nosuid选项的文件系统上。
https://unix.stackexchange.com/questions/303108
复制相似问题