使用 ACL 设置每个目录的 umask

Yar*_*rin 6 linux permissions access-control-list posix umask

我们想在某个目录上模拟系统范围 002 umask 的行为,foo以确保以下结果:

  1. 在下面创建的所有子目录foo将具有 775 权限
  2. 在下面创建的所有文件foo和子目录都将具有 664 权限
  3. 1 和 2 将发生在所有用户(包括 root 和所有守护进程)创建的文件/目录中。

假设在我们的分区上启用ACL,这是我们想出的命令:

setfacl -R -d -m mask:002 foo
Run Code Online (Sandbox Code Playgroud)

......但这不起作用。在目录中创建的新文件最终看起来像:

-rw--wr--+

当我运行getfacl新文件时,我得到:

# file: newfile.py
# owner: root
# group: agroup
user::rw-
group::rwx #effective:-w-
mask::-w-
other::r--

换句话说,施加mask:200与ACL是一样的涂敷umask 200

那么没有办法通过 ACL 应用每个目录的 umask?

Mir*_*ici 0

您可以使用每次创建文件时触发的 dnotify 和脚本。请参阅: https: //serverfault.com/a/127686/30946