разрешения — PHP и FTP

#php #linux #permissions

#php #linux #разрешения

Вопрос:

Как настроить пользователей / группы, чтобы и PHP / Apache, и proFTPD имели полный доступ к файлам / каталогам?

Пользователь FTP

 Username: webadmin
User ID: 1001
Home dir: /var/www
Shell: /usr/sbin/nologin
Primary group: www-data

Move home dir if changed: yes
Change user ID on files: home dir
Change group ID on files: home dir
Modify user in other modules: yes
  

При входе на FTP с webadmin отображаются все файлы, но без прав на запись!?

Комментарии:

1. Вероятно, вы получите больше ответов на serverfault.com, который направлен на вопросы системного администрирования. Я пометил это модераторам, надеюсь, они перенесут это для вас.

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

3. @symcbean, как бы ты тогда настроил пользователей / группы? 🙂

4. Читается по uid веб-сервера (возможно, через ‘other’), но не принадлежит uid веб-сервера / группе. Для любых файлов / каталогов, явно предназначенных для записи с помощью webser uid, тогда, опять же, эти разрешения разрешаются через ‘other’. Особая группа для пользователей, которые могут соответствующим образом изменять набор прав собственности files / dirs — group и групповой бит, установленный в dirs (при условии, что установка не использует FastCGI, работающий от имени пользователя, отличного от веб-сервера или suPHP)

Ответ №1:

Если вы хотите предоставить нескольким пользователям доступ к чему-либо, вам следует использовать группы.

Сначала убедитесь, что все необходимые вам веб-«пользователи» являются членами определенной группы, возможно, www-data.

 usermod -a -G www-data webadmin
  

Добавьте пользователя «webadmin» в группу «www-data».

Затем измените группу файлов на эту группу:

 chgrp -R www-data files/dirs
  

Рекурсивно установите для группы файлов / каталогов значение www-data.

Наконец, измените разрешения соответствующего каталога, чтобы разрешить полный доступ всем членам его группы:

 chmod -R g rwx files/dirs
  

Рекурсивно предоставлять членам группы разрешения на чтение, запись и выполнение файлов / каталогов

Комментарии:

1. при выполнении chgrp -R www-data * ничего не происходит.. При входе на FTP владелец по-прежнему proftpd

2. chgrp -R www-data * рекурсивно установит группу для всего, что находится в текущем каталоге (не включая текущий каталог или скрытые файлы в текущем каталоге), в www-data. При запуске ls -l это должно быть отражено в разрешениях группы. Вы уверены, что запускаете команду chgrp из правильного каталога?