こんにちは、sudoを使用してwp-cliをユーザーとして実行するスクリプトをrootとして実行する際に実際の問題があります。
私が使用するコマンドは
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 はシェルで複数行のコマンドを処理しませんが、次のように sudo コマンド内でシェルを作成し、そのシェルで複数のコマンドを実行することができます.
sudo -u hstestsite1 -s sh -c "cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list"