Эффективное групповое разрешение каталога - setgid неэффективно

У меня есть это /srv каталог, который, для удобства, я хотел бы, чтобы члены wheel группа, чтобы иметь доступ для записи, и для любых файлов и каталогов, созданных для транзитивного наследования разрешений.

После sudo chgrp wheel /srv && sudo chmod g+ws /srvОднако я все еще не могу создавать каталоги и файлы под /srv:

$ mkdir /srv/mantis
mkdir: cannot create directory `/srv/mantis': Permission denied

Изучение ACL на /srv показывает, что действующее разрешение группы r-xпо какой-то причине:

$ getfacl /srv
getfacl: Removing leading '/' from absolute path names
# file: srv
# owner: root
# group: wheel
# flags: -s-
user::rwx
user:webmaster:rwx
group::r-x
mask::rwx
other::r-x

Есть причина, почему это происходит? Может быть, так или иначе, когда я добавил дополнительный доступ к webmaster пользователь (задолго до setgid Попытка) Я случайно вмешался в группу ACL?

1 ответ

Решение

Имея маску, установленную setfacl причина chgrp не отражает изменения. Вы можете запустить setfacl -m g::rwx /srv установить разрешение группы.

В противном случае, если вам вообще не нужен расширенный ACL, вы можете удалить все правила setfacl -b /srvand затем повторите sudo chmod g+ws /srv,

Перед редактированием

Из результатов getfacl кажется, что команда sudo chmod g+ws /srv не работал По-видимому, вы бежите sudo chgrp wheel /srv && sudo chmod g+ws /srv как одна команда. Если sudo chgrp wheel /srv не удалось (с ненулевым кодом выхода по любой причине), && разъем будет просто игнорировать что-либо потом sudo chmod g+ws /srv не будет выполнен

Чтобы проиллюстрировать, вы можете запустить cat NoSuchFile && echo "This message will be printed", echo команда игнорируется в этом примере.

Вы можете попробовать запустить sudo chgrp wheel /srv а также sudo chmod g+ws /srv отдельно и запишите любые сообщения. В качестве альтернативы вы можете попробовать sudo chmod 2775 /srv который должен правильно установить разрешение.

Другие вопросы по тегам