来自云龙湖轮廓分明的月亮 发表于 2022-6-26 11:18:58

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]
查看完整版本: Linux基础-附加权限与ACL访问控制