ACL权限控制
ACL(access control list),可以提供除属主、属组、其他人的rwx权限之外的细节权限设定
ACL的权限控制
(1)User 使用者
(2)Group 群组
(3)Mask 默认权限掩码
启动ACL(yum安装ACL)
# yum -y install acl
# mount
# mount -o remount,acl /
# mount
*********************************************
ACL的设置
setfacl命令
格式:setfacl 选项 acl参数 目标文件或目录
-m 设置后续的acl参数,不可与-x一起使用
-x 删除后续的acl参数,不可与-m一起使用
-b 删除所有的acl参数
-k 删除默认的acl参数
-R 递归设置acl参数
-d 设置默认acl参数,只对目录有效
ACL参数
u:用户名:权限 给某个用户设定权限,若不添加用户名,默认修改属主权限
g:组名:权限 给某个组设定权限,若不添加组名,默认修改属组权限
m:权限 更改权限掩码
增加用户test1与gtest组具有读写权限
权限发生变化,结尾增加了一个“+”
********************************************
ACL的查询
getfacl命令
格式: getfacl 文件或目录
权限掩码
类似于umask,ACL权限设置必须要在mask的权限范围内才会生效
递归修改目录下现有文件的ACL设置
递归修改/aaa/目录及其目录下的ACL设置,并新建文件查看是否具有相同acl权限
递归式修改目录及目录下的ACL设置,但对当前存在的文件生效,但新建文件并不具有相同的ACL设置。
预设ACL权限
设置/aaa/目录下,test1用户一直具有读写执行权限
删除ACL设置
(1)删除某文件或目录单个用户或组的权限
(2)删除某文件或目录全部ACL设置
递归删除/aaa/目录及其目录下所有文件的ACL设置
特殊权限SUID、SGID、SBIT
SUID(Set UID)
s标志出现在文件属主权限的X权限上
/usr/bin/passwd文件具有SUID这种特殊权限
SUID特殊权限的特点:
SUID权限仅对二进制程序有效
执行者对于改程序需要具有可执行x权限
SUID权限仅在执行该程序的过程中有效
执行者将具有该程序拥有者的权限
SGID (Set GID)
s标志出现在文件属组权限的X权限上
除了与SUID相同的对二进制程序有效以外,SGID还能够用在目录上,当一个目录设定了SGID的权限后,用户若对此目录具有r与x权限,该用户能进入次目录后,在此目录下的有效群组将变为目录的群组,即若该用户具有w权限,新建文件或目录后我们会发现,该用户所建立的文件或目录的属组为上层(具有SGID设置)的目录的属组。
SBIT (Sticky Bit) 粘滞位
当目录权限x的位置变为t时,即该目录舍友SBIT粘滞位权限,主要作用是该目录下的文件及即目录仅其属主与root用户具有删除该文件或目录的权限,增强安全性。
SUID、SGID、SBIT权限的设定
(1)八进制数设置方法
方法:在属主、属组、其他人的权限前增加特殊权限的八进制数字表示
4 为SUID
2 为SGID
1 为SBIT
设置SUID权限
设置SGID权限
设置SBIT权限
(2)字母设置方法
设置SUID权限
设置SGID权限
设置SBIT权限