
Я запускаю определенный скрипт, который использует пользователя без прав root для выполнения следующих действий...
mkdir: cannot create directory `/srv/www/example.com/releases'
*** [err :: 12.23.45.789] : Permission denied
Как бы мне разрешить пользователю xyz иметь постоянные разрешения на это и при этом сохранить этот веб-сервер в безопасности? Также возможно ли сделать его рекурсивным для всех подпапок?
Я знаю, что это, вероятно, chmod something, но я не настолько разбираюсь в Linux, спасибо.
решение1
Стандартный способ — сделать пользователя членом стандартной группы веб-сервера.
На серверах на базе Debian веб-служба обычно имеет идентификатор пользователя www-data
и идентификатор группы с тем же именем.
Все подпапки www
, как правило, должны принадлежать этому пользователю/группе.
Добавление пользователя в www-data
группу должно позволить ему создавать и изменять папки и файлы по мере необходимости.
Конечно, это означает, что пользователь имеет доступ ко всем папкам, принадлежащим www-data, что может быть неверно.
Было бы полезно, если бы вы предоставили нам вывод команды ls -l
на /srv/www/example.com/
, вы можете изменить имена пользователей/групп, если вам это необходимо.