sudo 作为用户权限在命令上被拒绝

sudo 作为用户权限在命令上被拒绝

您好,我在尝试以 root 身份运行脚本时遇到了一个真正的问题,该脚本是根据用户需要使用 sudo 运行 wp-cli 。

我正在使用的命令是

sudo -u hstestsite1 -s "cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list"

我收到

/bin/bash: cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list: Permission denied

但是,如果我 su 到该用户并运行命令,一切正常

su - hstestsite1
cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list
+---------+----------+--------+---------+
| name    | status   | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none   | 3.3.3   |
| hello   | inactive | none   | 1.6     |
+---------+----------+--------+---------+

有任何想法吗?

干杯。

答案1

Sudo 不在其 shell 中处理多行命令,但您可以在 sudo 命令内创建一个 shell 并让该 shell 运行多个命令,如下所示:

sudo -u hstestsite1 -s sh -c "cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list"

相关内容