Как настроить один сайт для запуска с правами root с помощью Nginx в Synology
Я создал скрипт php для запуска и остановки служб в Synology. Конкретно, этот сценарий выполняет команду Synology '/usr/syno/sbin/synoservice' с помощью инструкции shell_exec.
Я запускаю этот скрипт на веб-сайте nginx в моей Synology (DSM 6.1.x)
К сожалению, начиная с последних выпусков Synology, кажется, что только пользователь root может выполнять команду "/ usr / syno / sbin / synoservice". И nginx запускает мой скрипт с пользователем 'http'.
Сделав 'ls -la / usr / syno / sbin /', я заметил, что многие команды теперь помечены 'x' только для пользователя root. Поэтому я попытался предоставить всем пользователям право на их выполнение: chmod o + x syno *. Но без успеха.
Итак, я предоставил следующему пользователю "http" право выполнять команду "/ usr / syno / sbin / synoservice" в качестве пользователя root без пароля через файл sudoers: http ALL=(root) NOPASSWD: /usr/syno/sbin/synoservice. И это работает.
Но мне интересно, если бы вместо использования sudoers я мог настроить nginx для запуска моего сайта (и только этого) в качестве пользователя root?
Спасибо большое за советы!
V.
PS: Возможно, мне нужно быть немного более точным, когда я говорю, что я запускаю свой скрипт на веб-сайте, размещенном nginx в моей Synology: это не веб-сайт, определенный в WebStation моей Synology. Я использую файл.conf в... / nginx / conf.d /, чтобы определить "местоположение" и правильно обработать мой скрипт с помощью /usr/local/bin/php70-cgi -c /etc/php/php.ini (хитрость в том, чтобы запускать php-скрипты вне WebStation).