sudo -u user "whoami" 有效但其他命令无效

sudo -u user "whoami" 有效但其他命令无效

当我运行以下命令时它有效:

sudo -u apache 'whoami'

但是当我运行这个时,它说没有找到命令:

sudo -u apache 'ls -al ~/.ssh'

我该如何解决?

答案1

sudo将整个ls -al ~/.ssh字符串视为一个参数并将其作为一个参数运行,就像用户apache调用

'ls -al ~/.ssh'

但这不起作用,因为没有一个工具被完整地命名ls -al ~/.ssh。你的命令应该更像

sudo -u apache ls -al ~/.ssh

请注意,在实际用户的上下文中,这将~sudo开始之前展开。另一方面:

sudo -u apache ls -al ~apache/.ssh

可能就是你真正想要的。

相关内容