Назад | Перейти на главную страницу

setfacl не работает в моем веб-каталоге

В Debian 7.0 я настроил списки управления доступом к файловой системе на моем монтировании

mx:/srv/www$ mount | grep acl
/dev/xvda on / type ext3 (rw,relatime,errors=remount-ro,acl,data=ordered)

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

sudo setfacl -Rm d:g:www-data:rX,g:www-data:rX /srv/www/

Теперь в нем есть настройки:

mx:/srv/www$ getfacl .                                                                                                                                                    
# file: .
# owner: hendry
# group: root
user::rwx
group::r-x
group:www-data:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:www-data:r-x
default:mask::r-x
default:other::r-x

Чтобы проверить, я сделал:

mx:/srv/www$ touch test
mx:/srv/www$ ll test
-rw-r--r--+ 1 hendry hendry 0 Mar 19 07:25 test

Я ожидал увидеть hendry: www-data во вновь созданном файле test. Что мне не хватает?

Попробуйте запустить:

$ getfacl test

Вы должны увидеть что-то вроде:

# file: test
# owner: hendry
# group: hendry
user::rwx          #effective: rw-
group::r-x         #effective: r--
group:www-data:r-x #effective: r--
mask::r-x
other::r--

Возможно, я ошибся здесь, но главное в том, что group:www-data:r-x должен существовать. Вот что default:group:$gid:rwx синтаксис делает - он обеспечивает group:$gid:rwx Запись ACL существует для созданного объекта.

Если вы хотите, чтобы ваши созданные файлы / каталоги / fifos / etc принадлежали группе, вы должны сделать каталог принадлежащим группе www-data и установить флаг setgid:

$ chown :www-data /srv/www
$ chmod g+s /srv/www