ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux基础-附加权限与ACL访问控制 [打印本页]

作者: 来自云龙湖轮廓分明的月亮    时间: 2022-6-26 11:18
标题: 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、实例

  1. [root@localhost ~]# cp /bin/mkdir /bin/wu  #建立wu命令,功能与mkdir相同
  2. [root@localhost ~]# chmod u+s /bin/wu    #添加SUID 权限
  3. [root@localhost ~]# ls -l /bin/wu          #查看权限
  4. -rwsr-xr-x. 1 root root 79760 Jun  6 17:00 /bin/wu
  5. [root@localhost ~]# useradd wangwu   #添加用wangwu
  6. [root@localhost ~]# su wangwu        #切换到用户wangwu
  7. [wangwu@localhost root]$ wu /opt/wangwu   #在/opt下新建目录wangwu
  8. [wangwu@localhost root]$ ls -ld /opt/wangwu  #查看权限
  9. drwxrwxr-x. 2 root wangwu 6 Jun  6 17:12 /opt/wangwu
  10. #普通用户可以用该程序在/目录下创建子目录
复制代码

三、Set GID

1、简述

①Set GID简称SGID权限,占用属组(Group)的x位
②显示为s或S,取决于属组是否有权限,对目录有效
③在一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组身份

2、命令

通过chmod命令添加,格式:chmod g+s 目录

3、实例

1)未设置SGID权限时,新建文件的属组,属于创建者的属组

  1. [root@localhost ~]# groupadd zhaoliu     #创建组zhaoliu
  2. [root@localhost ~]# mkdir /opt/zhaoliu    #在/opt下创建目录zhaoliu
  3. [root@localhost ~]# chown :zhaoliu /opt/zhaoliu  #修改zhaoliu目录属组为zhaoliu
  4. [root@localhost ~]# ls -ld /opt/zhaoliu      #查看属组
  5. drwxr-xr-x. 2 root zhaoliu 6 Jun  6 17:34 /opt/zhaoliu
  6. [root@localhost ~]# mkdir /opt/zhaoliu/zl   #在zhaoliu目录下创建子目录
  7. [root@localhost ~]# ls -ld /opt/zhaoliu/zl    #查看属组
  8. drwxr-xr-x. 2 root root 6 Jun  6 17:36 /opt/zhaoliu/zl
复制代码

2)当设置了SGID权限后,新建文件的属组,属于上层目录的属组

  1. [root@localhost ~]# chmod g+s /opt/zhaoliu  #添加SUID 权限
  2. [root@localhost ~]# ls -ld /opt/zhaoliu       #查看权限
  3. drwxr-sr-x. 3 root zhaoliu 16 Jun  6 17:36 /opt/zhaoliu
  4. [root@localhost ~]# mkdir /opt/zhaoliu/lz    #在/opt/zhaoliu下创建lz目录
  5. [root@localhost ~]# ls -ld /opt/zhaoliu/lz     #查看权限,属组属于上层目录的属组
  6. 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)未设粘滞位时,普通用户可任意删除文档

  1. [root@localhost ~]# mkdir -m 777 /opt/zhangqi   #创建目录zhangqi并将权限设为777
  2. [root@localhost ~]# touch /opt/zhangqi/zq.txt    #在/opt/zhaoliu创建zq.txt文件
  3. [root@localhost ~]# useradd zhangqi   #添加用zhangqi
  4. [root@localhost ~]# su zhangqi        #切换到用户zhangqi
  5. [zhangqi@localhost root]$ rm -rf /opt/zhangqi/zq.txt   #成功删除zq.txt文件
复制代码

2)添加粘滞位后,普通用户将无法删除他人文档

  1. [root@localhost ~]# chmod o+t /opt/zhangqi     #添加粘滞位
  2. [root@localhost ~]# touch /opt/zhangqi/zq.txt    #在/opt/zhaoliu创建zq.txt文件
  3. [root@localhost ~]# su zhangqi                #切换到用户zhangqi
  4. [zhangqi@localhost root]$ cd /opt/zhangqi       #进入到/opt/zhangqi目录中
  5. [zhangqi@localhost zhangqi]$ rm -rf zq.txt        #无法删除zq.txt文件
  6. 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控制策略

  1. [root@localhost ~]# useradd liba     #创建liba
  2. [root@localhost ~]# mkdir /opt/liba   #在/opt下创建liba目录
  3. [root@localhost ~]# setfacl -m user:liba:r-x /opt/liba  
  4. #为liba目录设置acl策略,使用户liba具有rx权限
  5. [root@localhost ~]# ls -ld /opt/liba    #查看权限
  6. drwxr-xr-x+ 2 root root 6 Jun  7 14:56 /opt/liba
  7. [root@localhost ~]# getfacl /opt/liba  #查看详情
  8. ... ... ...
  9. user:liba:r-x
  10. ... ... ...
复制代码

2)清除所有ACL控制策略

  1. [root@localhost ~]# setfacl -d /opt/liba   
  2. #只清除添加的ACL控制策略,保留原有的rwx访问权限
  3. [root@localhost ~]# getfacl /opt/liba  #再次查看详情,成功删除
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4