如何覆盖特定文件夹的所有用户的 umask 设置?

eng*_*ng3 5 rhel permissions umask

我运行的是 RHEL6。我要求在 /etc/bashrc 中包含“umask 077”,但不允许更改。我们有一个指定用于小组协作的文件夹,我们希望同一小组中的每个人都能够在其中读写。因此,用户必须手动设置“umask 002”或在本地 .bashrc 文件中设置,或者记住 chmod。他们经常忘记,并且管理员被要求“修复”权限,因为文件的所有者不可用。

有没有办法强制文件夹为“umask 002”?我读过我应该使用 setfacl 但我认为 umask 会覆盖它。

小智 6

请参阅如何强制在特定目录中创建的文件的组和权限?

我测试的是创建一个目录/var/test。我将组设置为 tgroup01。我确保在 /var/test 下创建的任何内容都将设置为 tgroup01 组。然后我确保 /var/test 下任何内容的默认组权限都是 rwx。

sudo mkdir /var/test
sudo chgrp tgroup01 /var/test
sudo chmod 2775 /var/test
sudo setfacl -m "default:group::rwx"
Run Code Online (Sandbox Code Playgroud)

如果我然后创建一个目录 foo 或触摸一个文件等等,他们就有正确的权限

ls -al /var/test

drwxrwsr-x+  3 root   tgroup01  .
drwxr-xr-x   5 root   root      ..
-rw-rw-r--   1 userA  tgroup01  blah
drwxrwxr-x+  2 userA  tgroup01  foo
Run Code Online (Sandbox Code Playgroud)