Я пытаюсь настроить ACL так, чтобы пользователь и группа новых файлов и каталогов, созданных в каталоге веб-сервера, принадлежали пользователю www-data. У меня точно такой же ACL на другом сервере, и они работают нормально.
andrew@sona:/srv/www$ getfacl .
# file: .
# owner: www-data
# group: www-data
user::rwx
group::rwx
group:www-data:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:www-data:rwx
default:mask::rwx
default:other::r-x
andrew@sona:/srv/www$ mount | grep acl
/dev/xvda on / type ext3 (rw,noatime,errors=remount-ro,acl)
andrew@sona:/srv/www$ touch test.txt
andrew@sona:/srv/www$ ll
total 12
drwxrwxr-x+ 3 www-data www-data 4096 Sep 3 17:14 ./
drwxr-xr-x+ 3 root root 4096 Sep 1 19:36 ../
-rw-rw-r--+ 1 andrew andrew 0 Sep 3 17:14 test.txt
Сервер Ubuntu 12.04 LTS
Distributor ID: Ubuntu
Description: Ubuntu 12.04.3 LTS
Release: 12.04
Codename: precise
ubuntu-12.04
acl
Prydie
источник
источник
Ответы:
Списки контроля доступа (ACL) обеспечивают мелкозернистый механизм для управления доступ в файл / каталог. Они не меняют и не определяют владельца.
default
значение определяет, какой ACL должен «наследовать» новый созданный файл внутри этого каталога. Это, кажется, работает для/srv/www
, потому что ваш новый созданный файлtest.txt
получает некоторые ACL (обратите внимание на+
в списке каталогов).Основы для достижения вашей цели приведены в ответе SF, связанном с @Darius:
который устанавливает установленный идентификатор пользователя а также установленный идентификатор группы немного. Информационное руководство по coreutils объясняет этот механизм:
Обратите внимание на ограничение «на нескольких системах» для установленный идентификатор пользователя немного. Действительно, ни в моем Debian, ни в моей системе openSuSE наследование владельца не работает, распространяется только группа. В соответствии с Википедия это верно для все Linux-системы:
источник
default:group:www-data:rwx
это разрешения по умолчанию, которые должны быть определены для файла, созданного членами этой группы?group:www-data:rwx
- независимый кто создал файл. Проверить сgetfacl test.txt
например, вы увидите, что всеdefault
записи каталога отображаются.group:www-data:
Часть определяет, кто должен получить следующие разрешения.