목표는 www-data
사용자가 sudo -u postgres -H osm2pgsql [some options here]
비밀번호를 입력하지 않고도 실행할 수 있도록 하는 것입니다(이는 자동으로 실행되는 스크립트의 일부이므로).
sudoers
파일의 다음 줄을 사용하면 이 작업을 수행할 수 있을 것 같습니다.
www-data ALL=NOPASSWD: /usr/bin/sudo -u postgres -H osm2pgsql *
그러나 이것은 작동하지 않는 것 같습니다. 내가 뭘 잘못했나요?
답변1
필요한 구문은 다음과 같습니다.
Defaults:www-data !requiretty
www-data ALL=(postgres) NOPASSWD: /usr/bin/osm2pgsql
이는 /usr/bin/osm2pgsql
실제 경로로 대체되어야 합니다 osm2pgsql
. 이 !requiretty
줄을 사용하면 터미널 없이 스크립트에서 sudo를 실행할 수 있습니다. 이렇게 하면 모든 옵션이 포함된 명령이 sudo -u postgres -H osm2pgsql
작동할 수 있습니다.
답변2
노력하다:
www-data ALL=NOPASSWD: /path/to/osm2pgsql