前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux acl权限

linux acl权限

作者头像
星哥玩云
发布2022-09-15 15:01:47
6.7K0
发布2022-09-15 15:01:47
举报
文章被收录于专栏:开源部署

linux的权限非常重要,我们之前所说的几种权限中,但是并不能只针对一个用户或者一个组进行单独设置,而ACL权限可以帮助我们实现这个功能,比如说有一个文件的所有者和所有者组都是a,这个文件的权限是660,我可以让b这个用户可以对文件进行读写的操作,而b这个用户并不属于a组的成员。那我们来看下如何使用

ACL权限的设置和查看

如果要使用acl权限,首先要确定你的文件系统支持acl权限,如果再Default mount options字段出现acl字样就意味着你的文件系统支持acl,不过在CentOS8中默认是都支持的。

代码语言:javascript
复制
[root@zutuanxue test]# tune2fs -l /dev/sda1
tune2fs 1.44.3 (10-July-2018)
Filesystem volume name:   <none>
Last mounted on:          /boot
Filesystem UUID:          be03eaec-6474-42ea-8f79-06e7198f5155
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
.
.
.

配置acl权限我们需要使用两个命令一个是setfacl用来设置acl权限,另一个是getfacl用来查看acl权限

  • setfacl命令:设置文件或文件夹的ACL权限
代码语言:javascript
复制
命令选项:
-m :设置acl
-x :删除指定的acl
-b :删除所有的acl
  • getfacl命令:用来查看文件的acl权限 现在我们来看下如何设置
代码语言:javascript
复制
[root@zutuanxue test]# ls
file  file1
[root@zutuanxue test]# ll file1
-rw-r--r-- 1 root root 0 10月 18 02:48 file1
[root@zutuanxue test]# setfacl -m u:oracle:rw file1	为指定的用户配置一个rw的权限
[root@zutuanxue test]# setfacl -m u::rwx file1		如果没有指定用户则默认是为该文件的所有者设置
[root@zutuanxue test]# ll file1
-rwxrw-r--+ 1 root root 0 10月 18 02:48 file1	所有者权限变成的rwx而且后面多了一个+号

你会发现使用ll(等同于ls -l)命令查看时会发现多了一个+号,这只是提醒我们此文件被设置了acl权限,但是具体是什么样的,我们还需要使用getfacl来查看

代码语言:javascript
复制
[root@zutuanxue test]# getfacl file1
# file: file1			文件名
# owner: root			所有者
# group: root			所有者组
user::rwx				user:后面是空的,代表的是所有者的权限
user:oracle:rw-			我们之前给额外用户设置的权限
group::r--				所有者组的权限
mask::rw-				默认的有效权限
other::r--				其他人的权限

以上是我们针对一个额外的用户设置的权限,同理可以设置针对组和其他人的acl权限

为不同用户或组设置不同权限

代码语言:javascript
复制
[root@zutuanxue test]# setfacl -m g:oracle:rw file1
[root@zutuanxue test]# setfacl -m o:rw file1
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rwx
user:oracle:rw-
group::r--
group:oracle:rw-
mask::rw-
other::rw-

删除指定的acl

代码语言:javascript
复制
[root@zutuanxue test]# setfacl -x u:oracle file1		删除用户acl
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rwx
group::r--
group:oracle:rw-
mask::rw-
other::rw-
[root@zutuanxue test]# setfacl -x g:oracle file1		删除组acl
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rwx
group::r--
mask::r--
other::rw-
[root@zutuanxue test]# chmod o=r file1				删除其他人直接使用chmod就可以
[root@zutuanxue test]# ll file1
-rw-r--r-- 1 root root 0 10月 18 04:21 file1
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r--
other::r--

删除所有acl

代码语言:javascript
复制
[root@zutuanxue test]# setfacl -m u:oracle:rw,g:oracle:rw,o:rwx file1
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:oracle:rw-
group::r--
group:oracle:rw-
mask::rw-
other::rwx

[root@zutuanxue test]# setfacl -b file1
[root@zutuanxue test]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r--
other::rwx

你没看错,权限在指定的时候是可以指定多个的,我们之前提到的chmod也可以这样使用,好了权限管理我们就说这么多

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ACL权限的设置和查看
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档