首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用root为其他用户创建根外壳

使用root为其他用户创建根外壳
EN

Unix & Linux用户
提问于 2016-08-12 20:37:36
回答 1查看 1.1K关注 0票数 2

我正在使用一个嵌入式linux系统,它有两个值得注意的用户: root和admin。我可以以管理员身份通过ssh登录,但不能以root身份登录(密码未知)。系统的制造商暂时打开了一个安全漏洞,允许我使用管理用户创建一个引导脚本,作为root执行。我想使用这个引导脚本生成一个根shell,我可以在以后使用用户管理连接到它。我不确定术语,但我想创建一个虚拟tty,它连接到具有权限集的交互式shell,这样管理员就可以打开它。我不知道要运行什么命令才能实现这一点。

EN

回答 1

Unix & Linux用户

发布于 2016-08-13 22:54:37

我想要创建一个连接到交互式shell的虚拟tty。

当然,你可以这样做,- but,你要怎么连接到这个tty呢?如果设备上有串行连接,则可以在设备上运行交互式shell:

代码语言:javascript
复制
sh </dev/ttyS0 >/dev/ttyS0 2>/dev/ttyS0

这里不涉及登录,您插入一个串行电缆,并得到一个根外壳。如果您正在通过SSH进行连接,这就不那么容易了,因为SSH不是为绕过登录而设计的。当然,您可以为根帐户设置一个空白密码,并将SSH配置为授权root登录。

但是,如果您希望允许任何能够连接到设备的人以root用户的身份运行命令的话。如果您希望允许管理员用户将权限提升到根用户,那么涉及一个终端就没有意义了。

最简单的方法是为您所知道的根帐户设置密码。或者,在设备上安装数独,并将以下行添加到文件/etc/sudoers中:

代码语言:javascript
复制
admin ALL=(ALL:ALL) ALL

然后,您可以通过运行sudo mycommand (sudo -s以获取一个shell)从管理帐户以根用户身份运行命令。如果您不想在运行admin时键入sudo帐户的密码,请在结束括号后添加NOPASSWD:

如果根文件系统是只读的,则可以在其他地方安装sudo。二进制文件必须安装在没有noexecnosuid选项的文件系统上。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/303108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档