如何在Linux中设置文件的访问控制列表(ACL)?

发布时间 - 2025-10-24 00:00:00    点击率:
Linux ACL提供细粒度文件权限管理,支持为单个文件或目录设置多用户和组权限。需确认文件系统挂载时启用acl选项,可通过mount | grep " / "检查,若无则在/etc/fstab中添加acl并重新挂载。使用setfacl -m设置ACL,如u:alice:rw赋予用户权限,g:dev:rx赋予组权限,d:前缀设置默认ACL以实现继承。通过getfacl查看ACL配置,setfacl -x删除特定条目,-b清除全部ACL。目录上设置默认ACL可使新文件自动继承权限,适用于共享环境,但应避免过度授权并定期检查配置。

Linux中的访问控制列表(ACL)提供比传统UNIX权限更精细的文件权限管理方式。通过ACL,可以为单个文件或目录设置多个用户和组的访问权限,而不受主权限的限制。

启用文件系统的ACL支持

大多数现代Linux文件系统(如ext4、xfs)默认支持ACL,但仍需确认挂载时启用了acl选项。

检查根分区是否启用ACL:

mount | grep " / "

输出中应包含 acl 选项。如果没有,可在/etc/fstab中为对应分区添加acl挂载选项:

UUID=xxxx-xxxx / ext4 defaults,acl 0 1

然后重新挂载:

sudo mount -o remount /

使用setfacl设置ACL权限

setfacl 命令用于设置文件或目录的ACL。

常见用法:

  • 给用户alice赋予文件read和write权限:
    setfacl -m u:alice:rw filename
  • 给组dev赋予目录的执行和读取权限:
    setfacl -m g:dev:rx dirname
  • 设置默认ACL(对新创建的文件生效):
    setfacl -m d:u:bob:rwx dirname
  • 同时设置多个ACL项:
    setfacl -m "u:alice:rwx,g:staff:rx" file

查看和删除ACL

使用getfacl命令查看文件的ACL:

getfacl filename

输出会显示所有拥有者、组和其他用户的权限,以及额外的user和group条目。

删除某个用户的ACL:

setfacl -x u:alice filename

清除文件所有ACL设置:

setfacl -b filename

目录ACL与继承

在目录上设置ACL时,可配合默认ACL实现权限继承。

例如,让dev组在/project目录及其未来文件中都有读写权限:

setfacl -m g:dev:rw /project
setfacl -d -m g:dev:rw /project

这样,之后在该目录中创建的新文件会自动继承这些ACL规则。

基本上就这些。只要文件系统支持,ACL是管理复杂共享环境权限的有效工具。操作时注意不要过度授权,定期用getfacl检查配置是否符合预期。


# linux  # 工具  # unix  # 继承  # 文件系统  # 多个  # 新文件  # 都有  # 适用于  # 不受  # 可在  # 如果没有  # 可通过  # 可使 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Android自定义控件实现温度旋转按钮效果  PythonWeb开发入门教程_Flask快速构建Web应用  如何快速上传建站程序避免常见错误?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Android实现代码画虚线边框背景效果  ,交易猫的商品怎么发布到网站上去?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Python数据仓库与ETL构建实战_Airflow调度流程详解  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel模型事件有哪些_Laravel Model Event生命周期详解  北京的网站制作公司有哪些,哪个视频网站最好?  如何在香港服务器上快速搭建免备案网站?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  *服务器网站为何频现安全漏洞?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  如何选择可靠的免备案建站服务器?  Laravel怎么为数据库表字段添加索引以优化查询  EditPlus中的正则表达式 实战(1)  Linux系统命令中screen命令详解  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  活动邀请函制作网站有哪些,活动邀请函文案?  javascript中闭包概念与用法深入理解  如何快速搭建个人网站并优化SEO?  Laravel怎么实现模型属性的自动加密  Laravel怎么在Controller之外的地方验证数据  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  晋江文学城电脑版官网 晋江文学城网页版直接进入  Thinkphp 中 distinct 的用法解析  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  网易LOFTER官网链接 老福特网页版登录地址  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  大同网页,大同瑞慈医院官网?  php json中文编码为null的解决办法  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel storage目录权限问题_Laravel文件写入权限设置  敲碗10年!Mac系列传将迎来「触控与联网」双革新  香港服务器租用费用高吗?如何避免常见误区?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何彻底删除建站之星生成的Banner?