
Linux ACL权限管理
可以单独针对用户设置权限 可以针对用户组设置权限 文件或目录的 ACL 权限可以递归设置到子文件或子目录 Linux 内核和文件系统是否支持 ACL大多数现代 Linux 发行版(如 CentOS 7.X)默认支持 ACL,尤其是使用 xfs、ext4 等文件系统时 查看 ACL 是否已安装使用以下命令检查看是否已安装 ACL 软件包
发布日期:2025-04-05 20:24:24
浏览次数:5
分类:精选文章
本文共 1845 字,大约阅读时间需要 6 分钟。
关于对文件和目录权限的管理
ACL权限基础知识
什么是 ACL 权限?
ACL(Access Control List,访问控制列表)是 Linux 系统中用于管理文件和目录访问权限的一种机制。
它在传统的 UGO 权限管理(所有者、组、其他人)基础上,提供了更灵活的权限管理方式。通过 ACL,管理员可以为单一用户或用户组分配特定的访问权限,并支持递归设置。例如,可以为用户设置读取(read, rx)、写入(write, wx)和执行(execute, cx)权限,或者直接使用更普通的缩写 r-x
来表示常规权限。
ACL 权限有什么用?
ACL 权限作为 UGO 权限管理的补充,主要优势在于:
检查系统是否支持 ACL
为了确认系统是否支持 ACL,最好检查以下内容:
rpm -qa | grep acl
如果未安装,可通过 yum install acl
安装
检查系统是否安装 ACL
通常情况下,现代发行版的 ACL 已预装。如果确认未安装,可通过以下命令安装 ACL 软件包:
yum install acl
ACL权限设置(setfacl 和 getfacl 命令)
在 Linux 系统中,主要通过 setfacl
和 getfacl
两个命令来管理 ACL 权限。
1. getfacl 命令
用于查看文件或目录当前设定的 ACL 权限信息。基本格式为:
getfacl [选项] 文件名
2. setfacl 命令
用于设定文件或目录的 ACL 权限。基本格式为:
setfacl [选项] 文件名
常用选项说明
选项 | 功能 | 示例 |
---|---|---|
-m | 设定 ACL 权限 | ``` |
setfacl -m u:用户名:权限 文件名setfacl -m g:组名:权限 文件名
| `-x` | 删除用户或用户组的 ACL 权限 | ```setfacl -x u:用户名/ g:组名 文件名``` || `-b` | 递归删除文件的所有 ACL 权限 | ```setfacl -bR 文件名``` || `-d` | 设定默认 ACL 权限(只对目录生效) | ```setfacl -m d:u:用户名:权限/ d:g:组名:权限 目录``` || `-R` | 递归设定 ACL 权限 | ```setfacl -m 权限 -R 文件或目录``` || `-k` | 删除默认 ACL 权限 | ```setfacl -k 文件或目录``` |##### 给用户设定 ACL 权限```bashmkdir /root/d_acluseradd user1passwd user1llsetfacl -m u:user1:rx /root/d_aclgetfacl /root/d_acl
给目录设定默认 ACL 权限
setfacl -m d:u:user1:rx /root/d_aclmkdir d_bbtouch bb.fll
设定递归 ACL 权限
setfacl -m u:user1:rwx -R /root/d_aclgetfacl aa.f
删除指定用户的 ACL 权限
setfacl -x u:user1 aa.fgetfacl aa.f
删除所有 ACL 权限
setfacl -b /root/d_acl
了解最大有效权限 mask
ACL 权限的最大有效权限(mask)决定了用户或用户组能享有的 ACL 权限。通常,默认的 mask 值为 rwx
,即全权限。
setfacl -m m:rwx 文件名
sudo 命令
在 Linux 系统中,sudo
命令是一个强大的权限管理工具。管理员可以通过 sudo
授权普通用户执行超级用户或其他用户角色所需的操作。
/etc/sudoers
文件中。 通过合理配置 sudoers
文件,管理员可以指定普通用户执行特定命令的权限。
了解更多内容,可参考相关 documentation 或技术文档。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月12日 06时59分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leftjoin多个on条件_MySQL:left join 避坑指南
2023-01-31
legend2---开发日志3(thinkphp的入口目录是public的体现是什么)
2023-01-31
legoblock秀上限
2023-01-31
LeNet介绍-ChatGPT4o作答
2023-01-31
LeNet剪枝
2023-01-31
Length of Last Word
2023-01-31
Lenovo E47A Ubuntu闪屏解决办法
2023-01-31
Leopard系统装好后不能从硬盘引导的朋友看过来
2023-01-31
Lepus搭建企业级数据库全方位监控系统
2023-01-31
LESS 中的变量有什么作用?如何声明和使用变量?
2023-01-31
Less 日常用法
2023-01-31
Lettuce 移动框架 for Romantic
2023-01-31
let、const、var的四点区别( 代码示例 )
2023-01-31
LexPredict法律词典项目教程
2023-01-31
LFS最终幻想
2023-01-31
lftp命令详解
2023-01-31
lib/libstdc++.so.6: version `GLIBCXX_3.4.30‘ not found (required by /lib/x86_64-linux-gnu/libLLVM-15
2023-01-31
Libevent 事件管理和添加事件
2023-01-31
libevent-简单的定时器
2023-01-31