Доступ к групповым папкам Linux

Доступ к групповым папкам Linux

Я уверен, что это простой вопрос, но я не могу найти ни одной причины, по которой это не работает.

Я пытаюсь настроить групповые папки в корневом каталоге веб-сервера PHP. Каждый отдел должен иметь группу, подобную этой:

/srv/www/htdocs/dev/dept1
/srv/www/htdocs/dev/dept2

Все пользователи в группе dept1 должны иметь права на чтение и запись к папке dept1, все пользователи в группе dept2 должны иметь права на чтение и запись к папке dept2 и т. д. Пытаясь реализовать это, я создал группу следующим образом:

sudo groupadd dept1
sudo useradd -G dept1 -m user1
cd /srv/www/htdocs/dev
mkdir dept1
sudo chown -R wwwrun:dept1 dept1
sudo chmod -R g+rwxs dept1

wwwrunэто пользователь, от имени которого работает Apache. Идея в том, чтобы пользователи могли создавать/читать/обновлять/удалять все, что им нужно, в папке своего отдела. Однако, если попробовать, то учетная запись пользователя может просматривать содержимое папки и читать файлы, но не создавать или записывать файлы.

Что я делаю не так?

решение1

С предоставленными вами разрешениями пользователи в dept1группе могут создавать и удалять файлы в /srv/www/htdocs/dev/dept1. Однако при типичных конфигурациях файлы и подкаталоги, которые они создадут, не будут доступны для записи группе.

Вы можете сделать большинство файлов доступными для групповой записи, изменив права доступа каждого пользователяumaskНастройка umask определяет, какие разрешениянетдается новым файлам. Обычно устанавливается на 022, что означает, что файлы не будут доступны для записи группе или другим, если это явно не указано. Вы можете изменить это на 002, чтобы файлы были доступны для записи группе по умолчанию. Однако это разумно только в том случае, если у каждого пользователя есть собственная частная группа (в противном случае файлы людей будут доступны для записи всем в их основной группе).

Лучшим решением будет убедиться,списки контроля доступавключены в файловой системе, где /srv/www/htdocs/devнаходится (убедитесь, что fstabзапись содержит aclв четвертом столбце). Затем создайте ACL для srv/www/htdocs/dev/dept1предоставления dept1группе разрешения на запись в каталоге и сделайте так, чтобы это разрешение наследовалось вновь созданными записями в каталоге. Это похоже на изменение umask, но оно привязано к этому конкретному месту в файловой системе. После выполнения следующих двух команд разрешения будут правильными во всех типичных случаях использования.

setfacl -R -m group:dept1:rwx /srv/www/htdocs/dev/dept1
setfacl -R -d -m group:dept1:rwx /srv/www/htdocs/dev/dept1

решение2

Как ваши пользователи получают доступ к файлам? Как они пытаются обновить/создать их? Я предполагаю, что они входят на сервер, пусть они запускают команду 'groups', чтобы убедиться, что они действительно находятся в правильной группе, и она должна быть указана первой.

Связанный контент