首页 > 代码库 > 控制对文件的访问

控制对文件的访问

第二单元

控制对文件的访问

 

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

 技术分享

 

 

 

 

 

 

 

 

 

 

 

 


控制对文件的访问