Как настроить один сайт для запуска с правами 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).

0 ответов

Другие вопросы по тегам