首先,我设置该setgid
位,以便目录下的文件/文件夹将使用与目录相同的组创建。
chmod g+s <directory>
然后我尝试更改文件夹的权限结构,以便该组可以rwx
通过以下方式访问它:
setfacl -R -m g::rwx /<directory>
问题
现在,root
在此目录下创建一个新文件夹(包含文件),这将导致:
drwxr-xr-x+ 3 root homecontrol 4096 May 11 20:20 '<folder>'
因此homecontrol
已正确设置为组,但缺少写入权限。
答案1
您需要添加default
关键字:
shadur@proteus:~/test$ mkdir testdir
shadur@proteus:~/test$ setfacl -m default:g::rwx testdir/
shadur@proteus:~/test$ touch testdir/test2
shadur@proteus:~/test$ ls -lsa testdir/
total 8
4 drwxr-xr-x+ 2 shadur shadur 4096 May 13 14:59 .
4 drwxr-xr-x 3 shadur shadur 4096 May 13 14:57 ..
0 -rw-rw-r-- 1 shadur shadur 0 May 13 14:59 test2
答案2
您无法强制执行新文件的所有者;您只能在文件创建后更改它。这可以通过以下方式完成
- 一个 cron 作业/Systemd 计时器(非常简单)
- inotify (即
incrond
或inotifywait
)如果您需要较短的响应时间或目录包含大量文件