www-data и сервер пользователя
У меня есть установка WordPress на моем первом VPS, и проблема владения с пользователем www-data и пользователем, которого я создал (назовем его user1), чтобы использовать для входа (я отключил root-вход).
Я использую user1 для FTP, но я не могу перезаписать файлы, принадлежащие www-данным, и если я перебиваю все файлы для user1, я могу перезаписать, но WordPress не может установить что-либо с панели управления или удалить, пока я не верну право собственности к www-данным.
Как я могу иметь оба? Пользователь FTP, который способен писать, перезаписывать файлы и иметь возможность добавлять, удалять и обновлять плагины с панели инструментов?
Заранее спасибо!
1 ответ
В целом, это плохая практика безопасности - делать веб-файлы доступными для записи веб-сервером, поскольку пользователь, который подвергает риску веб-сервер, может затем изменить любой из веб-файлов.
Лучше всего сделать веб-файлы принадлежащими и записываемыми другим пользователем, скажем user1, и читаемыми, но недоступными для записи с помощью www-data. Теперь для каталога плагинов WordPress вы можете либо сделать только один этот каталог доступным для записи с помощью www-данных постоянно, или, что еще лучше, оставить его доступным только для чтения, пока вам не понадобится установить плагин, затем сделать его доступным для записи, установить плагин, и удалите разрешение на запись снова.
Чтобы сделать каталог доступным для записи для www-данных, оставаясь при этом владельцем user1, у вас есть несколько вариантов:
Добавьте www-данные в группу, которой принадлежат веб-файлы, и сделайте группу файлов доступной для записи, например:
adduser www-data webdev chgrp -R webdev $plugindir chmod -R g+w $plugindir
Добавьте ACL, чтобы разрешить это:
setfacl -R -m u:www-data:rwX $plugindir