ACL 权限知识点

 
ACL 权限分配:给指定的用户指定目录分配指定的权限。
1 ACL 权限管理命令
查看 ACL 权限:
[root@localhost ~]# getfacle 文件名
设定 ACL 权限
语法: setfacl 选项 文件名
选项:
-m :设定 ACL 权限。如果是给予用户 ACL 权限,则使用 u: 用户名 : 权限 格式赋予;如果是给予组 ACL 权限,
则使用 g: 组名 : 权限 " 格式赋予;
-x :删除指定的 ACL 权限;
-b :删除所有的 ACL 权限;
-d :设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k :删除默认 ACL 权限;
-R :递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;
# 给用户和用户组添加 ACL 权限
给用户设定 ACL 权限: setfacl -m u: 用户名 : 权限 指定文件名
给用户组设定 ACL 权限: setfacl -m g: 组名 : 权限 指定文件名
# 通过加上选项 -R 递归设定文件的 ACL 权限,所有的子目录和子文件也会拥有相同的 ACL 权限
setfacl -Rm u: 用户名 : 权限 -R 文件名
# 如果给父目录设定了默认的 ACL 权限,那么父目录中所有新建的子文件会继承父目录的 ACL 权限
setfacl -m d:u: 用户名 : 权限 文件名
setfacl -md u: 用户名 : 权限 文件名
示例:所有者 root 用户在根目录下创建一个文件目录 /project ,然后创建一个 QQ 群所属组,所属组里面创建两个用户
zhangsan lisi 。此文件权限是 770
然后创建一个旁听用户 pt ,给他设定 /project 目录的 ACL r-x [root@kongd ~]# mkdir /project
[root@kongd ~]# useradd zhangsan
[root@kongd ~]# useradd lisi
[root@kongd ~]# groupadd QQgroup
[root@kongd ~]# gpasswd -M zhangsan,lisi QQgroup
[root@kongd ~]# chown root:QQgroup /project/
[root@kongd ~]# chmod 770 /project/
[root@kongd ~]# ll -d /project/
drwxrwx---. 2 root QQgroup 6 12 30 14:15 /project/
目录 /project 的所有者和所属组其他人权限设定为 770 。接下来我们创建旁听用户 pt ,并赋予 acl 权限 rx
[root@kongd ~]# useradd pt
[root@kongd ~]# setfacl -m u:pt:rx /project/
注意如下所示,如果某个目录或文件下有 + 标志,说明其具有 acl 权限。
[root@kongd ~]# ll -d /project/
drwxrwx---+ 2 root QQgroup 6 12 30 14:15 /project/
[root@kongd ~]# getfacl /project/
getfacl: Removing leading '/' from absolute path names
# file: project/
# owner: root
# group: QQgroup
user::rwx
user:pt:r-x
group::rwx
mask::rwx
other::---
为了验证 pt 用户对于 /project 目录没有写权限,我们用 su 命令切换到 pt 用户,然后进入 /project 目录,在此目录
下创建文件,看是否能成功:
[root@kongd ~]# su - pt
[pt@kongd ~]$ cd /project/
[pt@kongd project]$ touch test.txt
touch: 无法创建 'test.txt': 权限不够
删除 acl 权限
# 删除指定用户的 ACL 权限
setfacl -x u: 用户名 文件名
# 删除指定用户组的 ACL 权限
setfacl -x g: 组名 文件名
# 删除文件的所有 ACL 权限
setfacl -b 文件名

下面为了进行巩固,我们一起来做几道题吧!

#1、创建g1组,要求创建一个属于redhat用户g1组的文件redhat.txt


#2、新建/sc目录,所属组为group组,root用户和group组用户可在该目录下创建文件,其他人无任何权限


#3、新建/cw目录为财务部存储目录,只能对财务部人员可以写入,并且财务部人员所建立的文件都自动属于mygroup组中


#4、设置helen用户对于/sc和/cw目录可读、可写、可执行


#5、设置/test目录为公共存储目录,对所有用户可以读、写、执行,但用户只能删除属于自己的文件。


#6、在/test/dir里创建的新文件自动属于temp组    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值