명령에서 사용자 권한이 거부된 sudo

명령에서 사용자 권한이 거부된 sudo

안녕하세요, 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"

관련 정보