목표는 사용자가 암호를 묻지 않고 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