首页 > 代码库 > 控制对文件的访问
控制对文件的访问
第二单元
控制对文件的访问
ACL :访问控制列表
一 权限列表的读取
getfacl filename
# file: file 文件名称
# owner:root 文件所有人
# group: root文件所有组
user::rw- 用户权限
user:westos:rwx 特殊指派用户及权限
group::rw- 组权限
mask::rwx 可指派最大权限
other::r - - 其他人权限
二 setfacl 用于设置或修改文件的 ACL(访问控制列表)
修改文件的访问控制列表后,原本 “ . ” 会变成“ + ”:
setfacl -m u:westos:rwx filename : 授予用户 westos 读写权限
例:root在/mnt下创建一个文件westos,此时该文件的所有人和所有组均属于root,想要让westos用户(对westos文件来说,westos用户为其他人)拥有rwx的权限
setfacl -m g:redhat:rw filename :授予组 redhat 读写权限
setfacl -m g:redhat:r filename :授予组 redhat 读的权限
setfacl -x u:westos filename :删除用户 westos 的 ACL 权限
setfacl -m o::- filename :修改其他所有人的权限为空,也可以写o::0
三 ACL 掩码及继承
1 具有 ACL 的文件拥有一个 “ mask” ( 掩码 ), 这个掩码既
能够限制拥有该文件的组的最大权限 , 有能 够限制 ACL
中的补充用户和组所拥有的最大权限
当你对文件的访问权限进行修改后,ls -l 后出现的权限会发生变化,显现出来的是mask的值,要想看到真正的权限执行getfacl filename 即可。
此时也不能够用chmod命令去修改权限值,因为此时修改的值为mask的值,会导致错误
修改方法:setfacl -m m:rwx file
2 目录可以有 “ 默认 ACL” 条目 , 系统自动针对在该目录中创建的新文件设置这些条目,这类似setgid权限的方法( 针对目录时 ), 使得在该目录中创建的新文件归拥有该目录的组所有。
setfacl -m d:u:bob:rw directory
控制对文件的访问