Я собираюсь поработать над веб-проектом и поэтому у меня есть www
папка внутри $HOME
. Я хочу, чтобы эта папка принадлежала user
пока я принадлежу к группе www-data
. Я выпускаю:
mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www
Тогда ls -alh | grep www
дает:
drwxr-s--- 2 user www-data 4,0K Aug 10 17:33 www
Кроме того, я хочу, чтобы разрешения по умолчанию были установлены независимо от разрешений процессов создания. Итак, я делаю:
setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www
Затем getfacl $HOME/www
дает:
# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---
Теперь я cd
во вновь созданную папку:
touch testfile
И тогда ls -alh | grep testfile
дает:
-rw-r----- 1 user www-data 0 Aug 10 17:44 testfile
Как видите, группа www-data
была унаследована из-за бита setgid
. Но списки ACL по умолчанию из каталога $HOME/www
не были унаследованы (как я и ожидал). $HOME
имеет разные ACL по умолчанию по сравнению с $HOME/www
- но я ожидаю, что ручное переопределение списков ACL по умолчанию для подкаталогов работает довольно просто.
Я хочу, чтобы подкаталоги и файлы внутри $HOME/www
имели разрешения по умолчанию, как указано выше. Что мне здесь не хватает?