안녕하세요, 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는 셸에서 여러 줄 명령을 처리하지 않지만 다음과 같이 sudo 명령 내에서 셸을 만들고 해당 셸에서 여러 명령을 실행하도록 할 수 있습니다.
sudo -u hstestsite1 -s sh -c "cd /home/hstestsite1/public_html; /usr/local/bin/wp plugin list"