Доступ папки группы 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 выполняет как. Идея состоит в том, чтобы пользователи смогли создавать/читать/обновлять/удалять независимо от того, что они хотят в их папке отдела. Однако после испытания его, учетная запись пользователя может просмотреть содержание папки и считать файлы, но не создать или записать файлы.

Что я делаю неправильно?

3
задан 04.03.2013, 21:32

2 ответа

С полномочиями Вы даете, пользователи в 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
ответ дан 08.12.2019, 01:44

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

0
ответ дан 08.12.2019, 01:44

Теги

Похожие вопросы