У меня есть сценарий оболочки под названием boot.sh на сервере Ngnix
Я пытаюсь вызвать его через PHP, но не думаю, что у меня есть разрешения.
Как я могу дать разрешение www-data для запуска boot.sh - и только boot.sh
При попытке sudo chown
или sudo chgrp
я получаю Operation Not Permitted
system("whoami");
чтобы получить имя пользователя веб-сервера, я использую www-data
в этом примере. Отредактируйте файл sudoers и добавьте следующее. куда user
- это имя пользователя, под которым он будет работать.
www-data ALL=(user) NOPASSWD: /path/to/program/or/script
Затем используйте следующую команду в PHP.
system("sudo -u user /path/to/program/or/script");
Несмотря на то, что сообщение издано давно, я хотел бы порекомендовать это: запустите команду whoami на языке сценариев стороннего сервера, выполнив строки команд (php), а затем в некоторых случаях измените файл sudoers с конкретной причиной пользователя www-data, а другие - демон .....