Linux基础-附加权限与ACL访问控制
目录一、附加权限(特殊权限)
1、权限作用
2、权限分类
二、Set UID
1、简述
2、命令
3、实例
三、Set GID
1、简述
2、命令
3、实例
1)未设置SGID权限时,新建文件的属组,属于创建者的属组
2)当设置了SGID权限后,新建文件的属组,属于上层目录的属组
四、Sticky Bit
1、简述
2、命令
3、实例
1)未设粘滞位时,普通用户可任意删除文档
2)添加粘滞位后,普通用户将无法删除他人文档
五、ACL访问控制策略
1、简述
1)特殊权限的局限性:任何人只属于三种角色:属主、属组、其他人一无法实现更精细的控制
2)ACL访问控制策略:能够对个别用户、个别组设置独立的权限,大多数挂载的EXT3/4、XFS文件系统默认支持
2、命令
1)功能
2)格式
3)常用命令选项
3、实例
1)定义ACL控制策略
2)清除所有ACL控制策略
一、附加权限(特殊权限)
1、权限作用
叠加于权限位的u、g、o分组之上,用来传递程序执行身份、限制目录写入权等
2、权限分类
类别
字符表示
数字表示
叠加位置
Set UID
s
4
User的x位
Set GID
s
2
Group的x位
Sticky Bit
t
1
Other的x位
二、Set UID
1、简述
①Set UID简称为SUID权限,占用属主(User)的x位
②SUID权限显示为s或S,取决于属主是否有权限,仅对可执行的程序有意义
③当其他用户执行带SUID权限标记的程序时,具有此程序属主的身份和相应权限
2、命令
通过chmod命令添加,格式:chmod u+s 可执行的程序
3、实例
# cp /bin/mkdir /bin/wu #建立wu命令,功能与mkdir相同
# chmod u+s /bin/wu #添加SUID 权限
# ls -l /bin/wu #查看权限
-rwsr-xr-x. 1 root root 79760 Jun 6 17:00 /bin/wu
# useradd wangwu #添加用wangwu
# su wangwu #切换到用户wangwu
$ wu /opt/wangwu #在/opt下新建目录wangwu
$ ls -ld /opt/wangwu #查看权限
drwxrwxr-x. 2 root wangwu 6 Jun 6 17:12 /opt/wangwu
#普通用户可以用该程序在/目录下创建子目录
三、Set GID
1、简述
①Set GID简称SGID权限,占用属组(Group)的x位
②显示为s或S,取决于属组是否有权限,对目录有效
③在一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组身份
2、命令
通过chmod命令添加,格式:chmod g+s 目录
3、实例
1)未设置SGID权限时,新建文件的属组,属于创建者的属组
# groupadd zhaoliu #创建组zhaoliu
# mkdir /opt/zhaoliu #在/opt下创建目录zhaoliu
# chown :zhaoliu /opt/zhaoliu #修改zhaoliu目录属组为zhaoliu
# ls -ld /opt/zhaoliu #查看属组
drwxr-xr-x. 2 root zhaoliu 6 Jun 6 17:34 /opt/zhaoliu
# mkdir /opt/zhaoliu/zl #在zhaoliu目录下创建子目录
# ls -ld /opt/zhaoliu/zl #查看属组
drwxr-xr-x. 2 root root 6 Jun 6 17:36 /opt/zhaoliu/zl
2)当设置了SGID权限后,新建文件的属组,属于上层目录的属组
# chmod g+s /opt/zhaoliu #添加SUID 权限
# ls -ld /opt/zhaoliu #查看权限
drwxr-sr-x. 3 root zhaoliu 16 Jun 6 17:36 /opt/zhaoliu
# mkdir /opt/zhaoliu/lz #在/opt/zhaoliu下创建lz目录
# ls -ld /opt/zhaoliu/lz #查看权限,属组属于上层目录的属组
drwxr-sr-x. 2 root zhaoliu 6 Jun 7 11:11 /opt/zhaoliu/lz
四、Sticky Bit
1、简述
①Sticky Bit权限又称粘滞位
②显示为t或T,取决于其他人是否有x权限,适用于目录,用来限制用户滥用写入权,占用其他人(0ther)的x位
③在设置了粘滞位的文件夹下,即使用户有写入权限,也不能删除或改名其他用户文档
2、命令
通过chmod命令添加,格式:chmod o+t 目录
3、实例
1)未设粘滞位时,普通用户可任意删除文档
# mkdir -m 777 /opt/zhangqi #创建目录zhangqi并将权限设为777
# touch /opt/zhangqi/zq.txt #在/opt/zhaoliu创建zq.txt文件
# useradd zhangqi #添加用zhangqi
# su zhangqi #切换到用户zhangqi
$ rm -rf /opt/zhangqi/zq.txt #成功删除zq.txt文件
2)添加粘滞位后,普通用户将无法删除他人文档
# chmod o+t /opt/zhangqi #添加粘滞位
# touch /opt/zhangqi/zq.txt #在/opt/zhaoliu创建zq.txt文件
# su zhangqi #切换到用户zhangqi
$ cd /opt/zhangqi #进入到/opt/zhangqi目录中
$ rm -rf zq.txt #无法删除zq.txt文件
rm: cannot remove ‘zq.txt’: Operation not permitted
五、ACL访问控制策略
1、简述
1)特殊权限的局限性:任何人只属于三种角色:属主、属组、其他人一无法实现更精细的控制
2)ACL访问控制策略:能够对个别用户、个别组设置独立的权限,大多数挂载的EXT3/4、XFS文件系统默认支持
2、命令
1)功能
setfacl 定义ACL控制策略
getfacl 查看ACL控制策略
2)格式
setfacl [选项] u:用户名:权限 文件|目录
setfacl [选项] g:组名:权限 文件|目录
getfacl [选项] 文件|目录
3)常用命令选项
①setfacl
-m:定义一条ACL策略
-x:清除指定的ACL策略
-b:清除所有已设置的ACL策略
-R:递归设置ACL策略
②getfacl
-t:使用制表符分隔的输出格式
-c:不显示注释表头
-R:递归显示ACL策略
3、实例
1)定义ACL控制策略
# useradd liba #创建liba
# mkdir /opt/liba #在/opt下创建liba目录
# setfacl -m user:liba:r-x /opt/liba
#为liba目录设置acl策略,使用户liba具有rx权限
# ls -ld /opt/liba #查看权限
drwxr-xr-x+ 2 root root 6 Jun 7 14:56 /opt/liba
# getfacl /opt/liba #查看详情
... ... ...
user:liba:r-x
... ... ...
2)清除所有ACL控制策略
# setfacl -d /opt/liba
#只清除添加的ACL控制策略,保留原有的rwx访问权限
# getfacl /opt/liba #再次查看详情,成功删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]