如何在一行命令中将密码应用于sudo并执行su root?

Jud*_*ing 7 linux bash

我创建了一个名为samX且具有root权限的用户(附加了"samX ALL =(ALL:ALL)ALL" visudo).

我想申请密码sudo,然后su root并执行whoami一个命令行的顺序.我当前的命令有点如下,但它抱怨错误:sudo:su root; whoami:找不到命令

echo 'CbEYKFKt' | sudo -S 'su root; whoami'
Run Code Online (Sandbox Code Playgroud)

其中,'CbEYKFKt'是用户samX的密码.

反正有没有解决这个问题?非常感谢.

Dav*_*idC 6

echo 'CbEYKFKt' | sudo -S su -c whoami
Run Code Online (Sandbox Code Playgroud)

应该工作 --c为 su 指定一个命令,而在您的示例中,您似乎正在运行一个命令 'root; whoami' 不存在 - 没有外壳将其分解为两个单独的命令。