Linux用户权限ACL权限

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

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


一、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权限分享到这,下一篇分享特殊权限。


相关文章
|
5天前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
15 1
|
11天前
|
Linux 数据安全/隐私保护 Windows
Linux专栏10:Linux权限详解(上)
Linux专栏10:Linux权限详解(上)
31 3
|
2天前
|
Shell Linux 程序员
详解shell 运行原理及Linux权限
详解shell 运行原理及Linux权限
|
1月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
1月前
|
Linux 数据安全/隐私保护 iOS开发
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
|
2月前
|
安全 关系型数据库 MySQL
技术经验解读:【Linux】Linux系统中的权限详解
技术经验解读:【Linux】Linux系统中的权限详解
24 0
|
2月前
|
Linux 开发工具 C语言
【Linux】Linux的权限_2 + Linux环境基础开发工具_1
【Linux】Linux的权限_2 + Linux环境基础开发工具_1
22 0
|
Linux 数据安全/隐私保护 算法
|
Linux 数据安全/隐私保护 Shell
Linux用户及权限基础 5---- Linux帐号管理与ACL权限设置
一 Linux的帐号与用户组     1 每个登录的用户至少都会取得两个ID,一个是用户ID简称UID,一个是用户组ID简称GID     2 每一个文件都会有所谓的所有者ID与用户组ID,当我们有要显示文件属性的需求时,系统会依据/et...
1056 0
|
2天前
|
Linux
会玩这10个Linux命令,一定是个有趣的IT男!
会玩这10个Linux命令,一定是个有趣的IT男!