Я настраиваю некоторую автоматизацию с помощью ботов с дистанционным управлением. Крайне важно, чтобы у этих ботов были только права на выполнение определенных команд (я не могу открыть слишком много разрешений в sudoers
чтобы разрешить произвольные команды).
Он хорошо работает, я могу настроить на несколько команд , которые мне нужно и обойти ограничение пароля (потому что нет никакой возможности ввести пароли при ИНГАХ sudo
с директивой NOPASSWD
в файле sudoers
Но есть проблема. Некоторые сценарии, особенно те, которые написаны в некоторых ... э-э, средах PHP ... ожидаются для запуска из определенного каталога, который считается корнем проекта.
Этот каталог в большинстве случаев принадлежит другому пользователю, www-data
или apache
. Хорошо, я могу разрешить бот , чтобы запустить сценарий , как этот пользователь, но я не могу cd
на правильный путь в неинтерактивной сессии, потому что это не представляется возможным включить cd
- диск в качестве команды в файле sudoers
Обычно я бы сделал что-то вроде cd /var/www/path/to/app && php whatever.php --some args
, но я не могу найти способ настроить этот шаблон в файле sudoers
, похоже, что нет быть возможным
Вы знаете способ обойти это?