从 kernel 2.6 开始 linux 已经默认使用扩展权限模块了,这个模块大大的增加了 linux 下权限设置的灵活程度。在 ext3 文件系统下能够设置 25 中权限,在 reiserfs jfs 文件系统上可以设置高达 8000 多种权限。 我们可以用如下方法打开扩展权限。 mount -o acl -o remount /boot 也可以在 /etc/fstab 里配置,这样重启后仍然有效。 LABEL=/data /data ext3 defaults,acl 1 2 完成以上设置以后我们就可以通过 getfacl filename 来查看文件的权限及扩展权限了。 [root root@ data]# getfacl test # file: test # owner: root # group: root user::rw- group::r-- other::r-- 下面我们就可以开始设置文件的扩展权限了。 [root root@ data]# setfacl -m user:xinyv:rw ./test [root root@ data]# setfacl -m group:users:rw ./test [root root@ data]# getfacl test # file: test # owner: root # group: root user::rw- user:xinyv:rw- group::r-- group:users:rw- mask::rw- other::r-- 很明显我们增加了文件的权限。如果我们把权限的优先级设置为 0-5 的话,我觉得可以这么分配。 user::rwx(---) 对文件属主有效,优先级最高。 --- 0 mask::rwx(---) 在文件权限设置里要特别注意这个,优先级次之。 --- 1 user:username:rwx(---) 对某一个用户有效,优先级次之。 --- 2 group:groupname:rwx(---) 对某一个组有效,优先级次之。 --- 3 group::rwx(---) 组权限。 --- 4 other:rwx(---) 其他权限。 --- 5 mask 权限: mask 权限很特殊,他是所有权限的和,也就是说他决定了某个用户能获得的最大权限。 目录权限: 目录的权限基本上和文件一样,但多了两个 default 这里说明一下。 default:user:rwx(---) default:group:rwx(---) default:user::rwx(---) default:user:username:rwx(---) default:group::rwx(---) default:mask:rwx(---) default:other:rwx(---) 这两个权限设置了对当前的目录无效,但对目录下新建的文件,文件夹有效。 一些命令的例子: setfacl -m 修改权限 setfacl -x 删除权限 chacl u::rwx,g::r-x,o::r--,u:username:r--,m::r-x file1 file2 修改多个文件 getfacl -R dir1 > dir1.acl 备份文件权限 setfacl -R -b dir1 删除所有权限 setfacl --restore dir1.acl 恢复备份权限。 一个讲解 acl 的网站: http://www-128.ibm.com/developerworks/cn/linux/l-acl/index.html#author |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 23:33 , Processed in 0.115258 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.