Linux怎么设置文件ACL权限_Linux setfacl访问控制列表教程【高级】

星宇吖_4215

星宇吖_4215

2026-04-07

582人浏览

原创

可使用acl实现linux文件系统更精细的权限控制:一、确认并启用文件系统acl挂载选项;二、用setfacl添加用户级acl;三、添加组级acl;四、设置目录默认acl以影响新文件;五、用getfacl/setfacl查看、备份与清除acl。

linux怎么设置文件acl权限_linux setfacl访问控制列表教程【高级】

如果您需要为Linux文件或目录设置更精细的访问控制权限,而标准的用户、组和其他权限无法满足需求,则可以使用访问控制列表(ACL)进行扩展授权。以下是设置文件ACL权限的具体步骤:

一、确认文件系统支持ACL并启用挂载选项

ACL功能依赖于底层文件系统支持,并需确保挂载时启用了acl选项。多数现代ext4/xfs文件系统默认支持ACL,但需验证实际挂载参数是否包含acl。

1、运行命令 mount | grep "$(df . | tail -1 | awk '{print $1}')" 查看当前根分区或目标分区的挂载选项。

2、若输出中未出现 acl,则需重新挂载:执行 sudo mount -o remount,acl /mount/point(将/mount/point替换为实际路径)。

3、为使设置永久生效,编辑 /etc/fstab,在对应分区行的第四列(options字段)添加 acl,例如: UUID=xxx / ext4 defaults,acl 0 1。

二、使用setfacl命令添加用户级ACL条目

通过setfacl可为指定用户赋予对文件或目录的独立读、写、执行权限,该权限优先于传统组权限,且不改变原有属主和属组设置。

1、为用户alice对文件report.txt授予读写权限:运行 setfacl -m u:alice:rw report.txt。

2、为用户bob对目录docs/递归设置读执行权限(含子目录与文件):执行 setfacl -Rm u:bob:r-x docs/。

3、若需同时设置多个用户权限,使用逗号分隔: setfacl -m u:alice:rx,u:charlie:w docs/。

三、使用setfacl命令添加组级ACL条目

组级ACL允许将特定权限授予非文件属组的其他用户组,适用于跨部门协作或临时项目组场景,避免修改文件主属组引发权限混乱。

1、为组devteam对脚本deploy.sh添加执行权限:运行 setfacl -m g:devteam:x deploy.sh。

2、为组qa对整个testsuite/目录及其内容赋予读写权限:执行 setfacl -Rm g:qa:rwX testsuite/(注意大写X仅对已有执行位的项生效,对目录自动添加x)。

3、若组名含空格或特殊字符,需用引号包裹: setfacl -m "g:app testers":r test.log。

四、设置默认ACL以影响新创建的文件和子目录

默认ACL仅对目录有效,它定义了该目录下未来新建文件和子目录自动继承的ACL规则,不影响现有条目,是实现目录级权限策略自动延续的关键机制。

1、为目录project/设置默认ACL,使新文件默认对user2可读:运行 setfacl -m d:u:user2:r project/。

2、设置默认组权限并启用递归:执行 setfacl -Rm d:g:editors:rwX project/。

3、查看默认ACL是否生效:使用 getfacl project/,输出中含 default: 前缀的行即为默认规则。

五、查看、备份与清除ACL条目

ACL状态需定期核查以防止冗余或冲突规则;批量操作前建议导出当前ACL配置作为基准快照,清除操作则用于还原至基础权限模型。

1、查看文件report.txt的完整ACL信息(含默认规则):运行 getfacl report.txt。

2、将目录src/的所有ACL导出至备份文件:执行 getfacl -R src/ > acl_backup.acl。

3、清除report.txt所有扩展ACL条目(保留基本权限):运行 setfacl -b report.txt。

4、仅移除默认ACL而不影响当前ACL:执行 setfacl -k project/。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2820

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4050

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3453

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2633

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6410

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6042

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3513

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习