返回介绍

3.2. Linux 权限规划 Authority Division:ACL 权限控制

发布于 2024-05-13 12:42:56 字数 1569 浏览 0 评论 0 收藏 0

1、什么是 ACL?

ACL 是 Access Control List 的缩写,主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限配置。

ACL 主要可以针对哪些方面来控制权限呢?它主要可以针对以下几个项目:

  • 使用者 (user):可以针对使用者来配置权限;
  • 群组 (group):针对群组为对象来配置其权限;
  • 默认属性 (mask):还可以针对在该目录下在创建新文件/目录时,规范新数据的默认权限;

2、如何开启 ACL?

查看 /dev/sdb1 分区 ACL 权限是否开启。

$ sudo dumpe2fs -h /dev/sdb1
//找到"Default mount options",查看是否有临时开启分区 ACL 权限

重新挂载根分区,并挂载加入 acl 权限。

$ sudo mount -o remount,acl /

永久开启分区 ACL 权限

$ sudo vim /etc/fstab
UUID=e50dea0a-bcb6-4921-8762-dd96782846dd / ext4 defaults,acl 0 1     

注意:目前多数 Linux 系统 defaults 默认已经支持 acl 开启了,所以只需要添加 defaults 选项就可以了。重新挂载文件系统或重启系统,使修改生效。

$ sudo mount -o remount /

3、设定 ACL 权限

使用 setfacl 命令设定 ACL 权限
示例:构建听课权限组,为特定用户设定 ACL 权限

# useradd wang
# useradd li
# useradd zhao
# groupadd coursegroup
# mkdir /project
# chown root:coursegroup /project/
# chmod 770 /project
# setfacl -m u:zhao:rwx /project

使用 getfacl 命令获取 ACL 设定信息

格式: getfacl filename
# getfacl abc.txt

针对有效权限(effective permission) mask 的设定

有效权限: 使用者或群组所配置的权限必须要存在于 mask 的权限配置范围内才会生效。
配置规范:『 m:[rwx] 』,例如针对某个文件规范为仅有 rx :
# setfacl -m m:rx /project/testfile

针对默认权限和递归(针对目录/子目录下的所有文件) 权限的设定

配置规范:『 d:[ug]:使用者列表:[rwx] 』
# setfacl -m d:u:zhao:rx -R /project

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文