linux – 使用ACL设置每个目录的umask
我们想模仿某个目录foo上系统范围的002 umask的行为,以确保以下结果:
>在foo下创建的所有子目录将拥有775个权限 假设我们的分区上有ACL is enabled,这是我们提出的命令: setfacl -R -d -m mask:002 foo ……但这不起作用.在目录中创建的新文件最终看起来像:
当我在新文件上运行getfacl时,我得到:
换句话说,应用具有ACL的掩码:200与应用umask 200不同. 那么有没有办法将每个目录的umask应用于ACL? 解决方法
这是ACL的典型工作:-)
你的榜样 $mkdir /tmp/foo 设置目录本身的权限 $setfacl -m g::rwx -m o::rx /tmp/foo 为新创建的目录和该目录中的文件设置权限. $setfacl -m default:g::rwx -m o::rx /tmp/foo 测试 $mkdir /tmp/foo/bar $touch /tmp/foo/bar/baz.py $ls -ld /tmp/foo/bar /tmp/foo/bar/baz.py drwxrwxr-x+ 2 jdoe jdoe 4096 Mar 10 00:06 /tmp/foo/bar -rw-rw-r-- 1 jdoe jdoe 0 Mar 10 00:06 /tmp/foo/bar/baz.py 说明 >掩码的概念与ACL和Unix权限掩码非常不同. ACL的掩码是文件的属性…它限制通过ACL授予的最大权限(掩码:r-x group:foo:rwx =>有效权限= r-x) 建议 >使用setgid(如chmod 2755),以便控制哪个组可以写入文件.>和/或显式授予组setfacl -m group的权限:dev_team:rwx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |