我创建了一个名为samX且具有root权限的用户(在visudo
中附加了“samX ALL =(ALL:ALL)ALL”)。
我正在尝试将密码应用于sudo
,然后su root
并在一行命令中依次执行whoami
。我当前的命令有点如下,但它抱怨错误: sudo:su root; whoami:找不到命令
echo 'CbEYKFKt' | sudo -S 'su root; whoami'
其中,'CbEYKFKt'是用户samX的密码。
有没有解决这个问题?非常感谢。
答案 0 :(得分:4)
您应该在sudoers文件中添加一行,例如
samX ALL=(ALL:ALL) NOPASSWD: /sbin/su
而不是在bash历史记录或任何其他文件中保存您的密码。有了它,根本不需要输入密码。
如果要执行其他命令,请添加该命令。
答案 1 :(得分:3)
echo 'CbEYKFKt' | sudo -S su -c whoami
应该工作 - -c
指定su的命令,而在你的例子中,你似乎正在运行命令'root; whoami'不存在 - 没有shell将其分解为两个单独的命令。
答案 2 :(得分:0)
这应该有效。
echo CbEYKFKt | sudo -S; whoami
答案 3 :(得分:0)
当您通过putty或moba登录到存储非root帐户登录凭据的shell会话时,只需添加此命令即可在putty或moba登录时执行,它将把您的访问权限切换到root用户离开。
echo "PASSWORD" | sudo -S su - && sudo su