0

0

Linux setfacl与getfacl命令详解

冷漠man

冷漠man

发布时间:2025-10-25 16:47:02

|

876人浏览过

|

来源于php中文网

原创

答案:getfacl和setfacl命令用于查看和设置文件的ACL权限,实现更精细的访问控制。1. getfacl显示文件或目录的ACL信息,包括用户、组、掩码和其他权限;2. setfacl通过-m添加或修改ACL规则,-x删除指定条目,-b清除所有扩展ACL;3. 可使用-d设置默认ACL以供新文件继承,-R递归应用到子目录和文件;4. 实际应用包括共享目录权限管理、临时授权及批量处理;5. 使用时需确保文件系统挂载时启用acl选项,并注意chmod可能影响mask权限。

linux setfacl与getfacl命令详解

在Linux系统中,传统的文件权限管理基于用户、组和其他三类主体进行控制,但有时需要更精细的权限设置。这时就需要使用ACL(Access Control List,访问控制列表)。setfaclgetfacl 是用于管理和查看ACL权限的核心命令。它们让管理员可以为特定用户或组设置独立的读、写、执行权限,而不影响原有权限结构。

getfacl:查看文件或目录的ACL权限

该命令用于显示文件或目录的访问控制列表,包括标准权限和扩展ACL规则。

基本语法:
getfacl filename

例如,查看 testfile 的ACL信息:

getfacl testfile

输出示例:

# file: testfile
# owner: alice
# group: users
user::rw-
user:bob:r--
group::r--
mask::r--
other::r--

说明:

  • user::rw- 表示文件所有者的权限
  • user:bob:r-- 表示用户 bob 被单独赋予只读权限
  • group::r-- 表示所属组的权限
  • mask::r-- 是最大有效权限,限制赋予用户和组的权限上限
  • other::r-- 表示其他用户的权限

常用选项:

  • -a:仅显示ACL条目,不显示文件名和注释
  • -d:显示默认ACL(针对目录)
  • -R:递归列出子目录和文件的ACL

setfacl:设置或修改ACL权限

该命令用于为文件或目录添加、修改或删除ACL规则。

Linux命令详解手册
Linux命令详解手册

Linux命令详解手册

下载
基本语法:
setfacl [选项] -m|-x acl规则 文件

-m 用于添加或修改ACL规则,-x 用于删除指定的ACL条目。

常见用法示例:

  • 给用户 alice 对 file1 的读写权限:
    setfacl -m u:alice:rw file1
  • 给组 dev 对 project_dir 的读执行权限:
    setfacl -m g:dev:rx project_dir
  • 设置默认ACL(新创建的文件自动继承):
    setfacl -m d:u:bob:rwx /shared_folder
  • 删除用户 alice 的ACL条目:
    setfacl -x u:alice file1
  • 移除所有扩展ACL(保留基本权限):
    setfacl -b file1

重要提示:

  • 目录必须启用ACL支持(通常ext4/xfs等现代文件系统默认支持)
  • 挂载时需开启 acl 选项,如:mount -o acl /dev/sda1 /mnt/data
  • 使用 chmod 修改权限后,可能会更新 mask 值,从而影响ACL的实际生效权限

实际应用场景建议

ACL特别适用于共享目录环境。比如多个开发人员需要不同级别的访问权限。

  • 创建一个共享项目目录,设置默认ACL确保新文件自动分配正确权限
    setfacl -d -m g:developers:rwx /project
  • 临时授权某位同事访问敏感配置文件,完成后立即撤销
    setfacl -m u:jane:r /etc/app.conf
    完成后执行:
    setfacl -x u:jane /etc/app.conf
  • 批量处理目录及其内容的ACL
    setfacl -R -m g:qa:rx /test-suites

基本上就这些。掌握 setfacl 与 getfacl 可以大幅提升Linux系统权限管理的灵活性和安全性。注意定期检查ACL设置,避免遗留不必要的访问权限。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

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

1345

2023.06.21

如何安装LINUX
如何安装LINUX

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

700

2023.06.29

linux find
linux find

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

294

2023.06.30

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

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

773

2023.07.05

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

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

571

2023.07.06

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

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

544

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

296

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

374

2023.07.25

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

PHP入门到实战消息队列RabbitMQ
PHP入门到实战消息队列RabbitMQ

共22课时 | 1.3万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号