linux之权限管理(实施必会!!!!)

一、什么是ACL

ACL是Access Control List的缩写,即访问控制列表。可以通过下列的实例来理解ACL的作用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、操作步骤

2.1. 添加测试目录,用户,组,并将用户添加到组

在这里插入图片描述

2.2.查看组是否正常建立 cat /etc/group

在这里插入图片描述

2.3设定权限

在这里插入图片描述

2.4此时需要为临时用户进行权限: r-x

  • 添加临时用户
    在这里插入图片描述
  • 为临时用户分配特定权限-在这里插入图片描述
  • 查看目录权限,注意+,表示文件或目录有acl权限
    在这里插入图片描述
  • 验证acl权限
    切换到tempuser用户
    在这里插入图片描述
    验证可以进入project目录
    在这里插入图片描述
    验证不能在project中创建文件
    在这里插入图片描述
    控制组的ACL权限
    创建一个temp组
    在这里插入图片描述
    设置组的ACL
    在这里插入图片描述
    查看设置后ACL
    在这里插入图片描述
    创建一个用户,并将该用户设置为temp组
    在这里插入图片描述
    将用户添加到temp组中
    在这里插入图片描述
    验证
    在这里插入图片描述
    进入主目录
    在这里插入图片描述
    不能创建文件
    在这里插入图片描述

三、ACL中mask修改最大权限

什么是最大权限,看下面的信息:

[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
     # 所属用户权限
user:tempuser:r-x
   # 临时用户权限
group::rwx
    # 所属组权限, 文件创建时的所属组
group:temp:r-x
  # 一般组的权限  创建的临时组
mask::rwx
   # 权限掩码,用来控制最大权限  ✨
other::---
  • 最大权限是指:如果给用户赋予了ACL权限,则用户所获取的权限并不是ACL时所附的权限,而是赋予的ACL权限 与 mask权限 进行 与 操作 之后的权限。例如:user:tempuser:r-x 第一位是r, mask的第一位也是r, 则与操作后,用户则有 r 的权限, user:tempuser:r-x 第二位是 - ,mask的第二位是 w,则与操作后用户则没有 w 的权限。
  • 最大权限的作用:mask的默认值为rwx,即最大权限,任何其他的权限值和mask相“与”都会得到其自身; 可以通过调整mask的方式来控制分配给用户的最大权限,例如: mask值调整为 r-x ,则不管是否给用户分配”w”权限,用户都没有“w”的权限。mask可以用来避免权限分配不当而给系统带来的风险。
    注意:mask不会影响文件所有者的权限
    实验:
# 设置mask
[root@localhost ~]# setfacl -m m:rx /project
# 查看mask
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx			#effective:r-x
   # 所属组虽然设置的权限为rwx,但其实际的权限 r-x  ✨
group:temp:r-x
mask::r-x
    # 修改之后的mask

四、ACL权限的删除

# 删除指定ACL权限
[root@localhost ~]# setfacl -x u:tempuser /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
group::rwx
group:temp:r-x
mask::rwx
other::---
# 删除所有ACL权限
[root@localhost ~]# setfacl -b /project
[root@localhost ~]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
+
user::rwx
group::rwx
other::---
# 注意: 权限没有 + 
[root@localhost ~]# ll -d /project
drwxrwx---. 2 root tgroup 6 823 13:07 /project

五、ACL权限的递归及默认值

所谓递归是指:指定目录下的所有文件及其子目录,都具体指定的ACL权限属性

注意:ACL权限只对已有的文件或目录起作用,对新加的不起作用

ACL的默认值:如果希望新加的文件或目录都具有父目录所拥有的ACL权限属性,则需要设置默认值

# 设置ACL权限
[root@localhost project]# setfacl -m u:tempuser:rx /project
[root@localhost project]# ll -d 
drwxrwx---+ 2 root tgroup 6 823 13:07 .
# project目录已经设置好了ACL权限,在该目录中添加一个文件,文件并不具有ACL权限,因为在设置ACL权限时并没有指定递归属性
[root@localhost project]# touch abc.txt
[root@localhost project]# ll
总用量 0
-rw-r--r--. 1 root root 0 823 17:29 abc.txt
# 设置ACL权限可以递归,注意:R参数的位置在此处是固定的,这算是Linux中命令的一个特例,Linux中命令参数的位置一般是不敏感的
[root@localhost ~]# setfacl -m u:tempuser:rx -R /project
[root@localhost project]# ll /project
总用量 0
-rw-r-xr--+ 1 root root 0 823 17:29 abc.txt
# 在设置了project目录递归ACL权限属性后,再在该目录中创建一个新的文件,此时发现新的文件并没有ACL权限,这说明ACL权限只对已有的文件或目录起作用,对新加的不起作用
[root@localhost project]# touch def.txt
[root@localhost project]# ll
总用量 0
-rw-r-xr--+ 1 root root 0 823 17:29 abc.txt
-rw-r--r--. 1 root root 0 823 17:43 def.txt
# 设置ACL默认值,默认值的参数是d,可以和-R结合使用
[root@localhost project]# setfacl -m d:u:tempuser:rx -R /project
[root@localhost project]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:tempuser:r-x
default:group::rwx
default:mask::rwx
default:other::---

[root@localhost project]# touch www.txt
[root@localhost project]# ll
总用量 0
-rw-r-xr--+ 1 root root 0 823 17:29 abc.txt
-rw-r--r--. 1 root root 0 823 17:43 def.txt
  # 该文件在设置规则之后,默认值之前创建,两头都不管,所以没有ACL权限属性
-rw-rw----+ 1 root root 0 823 17:51 www.txt
[root@localhost project]# 
  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小邹会码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值