问题

问题

首先,我设置该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 (即incrondinotifywait)如果您需要较短的响应时间或目录包含大量文件

相关内容