Linux用户权限ACL权限

        ACL权限名叫ACL文件权限管理也是UGO权限的加强版。


目录

一、ACL和UGO的区别

二、用法

1、语法

2、准备文件以及用户

3、设置ACL权限


一、ACL和UGO的区别

UGO基本权限:只能一个用户、一个组合、其他人这三个对象进行授权

ACL文件权限管理:设置不同用户,不同的基本权限(r、w、x),对象数量不同

总结:UGO是针对用户、组、其他人三个对象的文件授权,ACL是可以针对指定用户指定组和其他人的文件授权。


二、用法

1、语法

setfacl    -m  u:用户或用户组:权限     文件                //给指定用户或组授权

getfacl     文件                                                                 //查看文件有哪些ACL权限

2、准备文件以及用户

准备一个测试用的文件夹以及用户在文件夹内创建一个文件,这里不做详细解释

mkdir   /test                //创建文件夹

touch   /test/t1                //创建文件t1

useradd   zhangsna        //创建用户zhangsan

useradd   lisi                        //创建用户lisi

3、设置ACL权限

1)首先先查看一下新创好的文件有哪些ACL权限

[root@localhost ~]# getfacl  /test/t1                                        //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1                                                                        //文件的位置
# owner: root                                                                       //文件拥有者
# group: root                                                                          //文件所属组
user::rw-                                                                               //用户的权限
group::r--                                                                               //组的权限
other::rw-                                                                               //其他人的权限

2)设置用户zhangsan、lisi权限

[root@localhost ~]# setfacl -m u:zhangsan:rwx  /test/t1        //给zhangsan授予可以对文件读写执行的权利
[root@localhost ~]# setfacl -m u:lisi:rwx /test/t1        //给lisi授予可以对文件读写执行的权利
[root@localhost ~]# getfacl /test/t1                                        //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
user:zhangsan:rwx                                        //权限增加成功
user:lisi:rwx

group::r--
mask::rwx
other::rw-

小拓展:在设置完ACL权限之后使用ls查看文件内容会有所不一样,查看的时候文件的权限可能会叠加上ACL的权限,但是具体的权限内容还是需要用getfacl来查看因为是在设置ACL权限使用一getfacl命令查看的为主。

[root@localhost ~]# ll /test/t1
-rw-rwxrw-+ 1 root root 0 9月  27 14:46 /test/t1

用ls命令查看后会发发现权限字段上多了一个+号,这个加号代表着有ACL权限,不止有显示的这些权限,具体权限用getfacl命令查看。

3)对组S1进行ACL授权

[root@localhost ~]# setfacl -m g:S1:rw /test/t1              //给S1组授予对文件t1读写权限
[root@localhost ~]# getfacl /test/t1                                //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
user:zhangsan:rwx
user:lisi:rwx
group::r--
group:S1:rw-                                                                          //授权成功
mask::rwx
other::rw-

4)对其他人授权

[root@localhost ~]# setfacl -m o::rwx /test/t1        //给其他人授予对文件t1的读写执行的权限
[root@localhost ~]# getfacl /test/t1                       //查看t1ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
user:zhangsan:rwx
user:lisi:rwx
group::r--
group:S1:rw-
mask::rwx
other::rwx                                                //成功

注意:setfacl -m o::rwx /test/t1  ,o后面有两个冒号是不能少的,其他人是不用用户名的,虽然不用写用户名但仍然要加冒号表示一个站位,不然命令不够这个长度是无法执行的。

5)删除ACL权限

命令setfacl  -x   对象:名称      文件

删除用户的权限

[root@localhost ~]# setfacl   -x u:zhangsan   /test/t1        //删除用户张三对文件的权限
[root@localhost ~]# getfacl /test/t1                                        //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
user:lisi:rwx                                                           //只有lisi的权限在,张三的权限已经移除
group::r--
group:S1:rw-
mask::rwx
other::rwx

删除组的权限

[root@localhost ~]# setfacl -x g:S1  /test/t1                        //删除组S1的权限
[root@localhost ~]# getfacl /test/t1                                        //查看问价t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
user:lisi:rwx
group::r--
mask::rwx
other::rwx

清空所有设置的ACL权限(将文件的ACL权限恢复到默认)

命令:setfacl    -b   文件

[root@localhost ~]# setfacl   -b   /test/t1                        //清空ACL的所有扩展权限
[root@localhost ~]# getfacl  /test/t1                                //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1
# owner: root
# group: root
user::rw-
group::r--
other::rwx

[root@localhost ~]# ll /test/t1                                        //查看t1文件信息
-rw-r--rwx. 1 root root 0 9月  27 14:46 /test/t1             //原本的+号不在了,没有设置ACL权限

ACL权限分享到这,下一篇分享特殊权限。

你的点赞是对我的激励!!!

你的评论是对我的勉励!!!

你的收藏是对我的认可!!!

你的关注是我们之间距离的增进!!!

你可能感兴趣的:(Linux,linux,运维)