3

Я создал webhook на github, который вызывает мой веб-сервер для обновления файлов в корне сети. Я защитил отправляющую часть, используя токен на github, поэтому только запросы от github могут выполнять скрипт. Мой вопрос заключается в том, что скрипт будет работать как веб-сервер (www-data), что является лучшим способом дать ему права на запись в webroot. Является ли предоставление пользователям веб-сервера прав записи в webroot хорошей идеей? Какие есть альтернативы?

1 ответ1

1

Сначала напишите сценарий, который выполняет точные необходимые шаги развертывания. Затем предоставьте www-data права на запуск этого конкретного скрипта через sudo. Например, используя следующее правило sudoers:

www-data ALL=(someuser) /path/to/deploy.sh

(Замените "someuser" на учетную запись, которая фактически владеет файлами веб-приложения.)

Обработчик webhook затем выполнит:

sudo -u someuser /path/to/deploy.sh

Таким образом, ваш веб-сервер может выполнять обновления точно по сценарию, но при этом у него нет лишнего доступа для удаления файлов или установки вредоносных программ на сайт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .