我试图使目录内的新文件和目录始终具有相同的权限和组。
我已经这样做了:
cd /
sudo mkdir apps
sudo chown deploy:www-data apps
sudo chmod g+s apps
sudo setfacl -d -m g:www-data:rwx apps/
cd apps
mkdir foo
ls -lah foo
我获得了 foo 的正确权限和组所有权:
drwxrwsr-x+ 2 deploy www-data 4.0K Apr 22 17:29 foo
但是,如果我这样做:
mkdir -p /apps/bar
...我获得了正确的组所有权,但没有获得组权限:
drwxr-sr-x+ 2 deploy www-data 4.0K Apr 22 17:30 bar
显然,我不明白 ACL 的工作方式。我不明白为什么第二个目录没有 rwx 组权限。
答案1
将mkdir -p
使用默认的 umask。您可以将其与-m
设置权限
mkdir -m 2775 -p path/dirname