当我运行以下命令时它有效:
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
可能就是你真正想要的。