Я установил CentOS на компьютере в своей локальной сети и установил httpd, PHP, Webmin (и UserMin) и т. д. Я выбрал ProFTPd и открыл порты для FTP, Webmin и Apache.
Теперь я могу получить доступ к Webmin по локальной сети и просмотреть тестовую страницу Apache по умолчанию. Я также могу создать соединение sfpt как созданный мной пользователь. Однако я не могу записывать файлы в /var/www/ по FTP.
Что мне нужно сделать, чтобы предоставить одному или нескольким пользователям доступ к соответствующему каталогу?
решение1
Хотя ответ LDJames (больше не здесь) направил меня на проблему пользователей и групп в целом, он не был полностью полезен. К счастью, этого оказалось достаточно, чтобы привлечь Google. Вот шаги, которые я предпринял для решения проблемы.
Папка принадлежала пользователю root, что не было хорошей группой для добавления пользователя. Решением было создать специальную группу. Я назвал ее «www», потому что я такой изобретательный. Затем переместить папку html в эту группу.
<user>
это имя пользователя в моей системе
- su для получения прав root (или используйте sudo в каждой строке)
groupadd www
(Создать группу)usermod -a -G www <user>
(Добавить пользователя в группу)- перейдите в /var/www/
chgrp www html
(установить папку для группы)chmod g+rwx html
(разрешить групповой доступ к папке - см. такжеhttp://ss64.com/bash/chmod.htmlчто было весьма полезно)
Результат: теперь я могу загружать файлы и могу позволить другим пользователям делать то же самое, если захочу.
- По какой-то подсказке я также настроил Apache на работу от имени группы www.
Это делается путем настройки переменных окружения (точное расположение которых различается в зависимости от версии Linux).
Несмотря на другие ответы, правильный способ сделать это:
export APACHE_RUN_USER=www
export APACHE_RUN_GROUP=www
Вышеизложенное предполагает, что я также создал пользователя с именем www, тогда как, поскольку это компьютер разработчика на моем рабочем столе, я пока могу запустить Apache от имени пользователя root.
Узнал о настройке пользователя и группы Apache через:Под каким пользователем должны работать Apache и PHP? Какие права доступа должны быть у файлов /var/www?