如何设置ACL权限 精细控制
发布时间 - 2025-08-18 00:00:00 点击率:次要设置linux系统中的acl权限,首先确认文件系统挂载时启用了acl选项,可通过mount | grep $(df . | tail -1 | awk '{print $1}')检查,若无acl则在/etc/fstab中添加acl挂载参数并重新挂载;其次使用getfa
cl查看当前acl,setfacl -m u:用户:权限 文件 设置用户级别acl,setfacl -m g:组:权限 目录 设置组级别acl,setfacl -x u:用户 文件 删除指定用户acl条目,setfacl -b 文件 删除所有扩展acl;对于目录可设置默认acl使新文件自动继承,命令为setfacl -d -m u:用户:权限 目录 或 setfacl -d -m g:组:权限 目录;注意权限掩码mask会限制实际有效权限,必要时可用setfacl -m m::权限 文件 手动调整mask;建议仅在多用户协作等复杂场景下使用acl,结合传统权限管理,并在备份时使用rsync -aax或cp --preserve=mode,ownership,acl以保留acl设置,最终实现对文件和目录的精细化访问控制,完整结束。
设置ACL(Access Control List,访问控制列表)权限可以实现对文件或目录更精细的访问控制,超越传统Linux权限模型中用户、组和其他的基本限制。特别是在多用户协作或复杂权限需求的场景下,ACL非常实用。以下是基于Linux系统设置ACL权限的详细方法。
一、确认系统支持ACL
大多数现代Linux文件系统(如ext4、xfs、btrfs)默认支持ACL,但需要确保挂载时启用了ACL选项。
检查挂载选项:
mount | grep $(df . | tail -1 | awk '{print $1}')输出中应包含
acl。如果没有,可以在
/etc/fstab中为对应分区添加
acl挂载选项,例如:
/dev/sda1 /home ext4 defaults,acl 0 2
修改后重新挂载:
mount -o remount,acl /home
二、基本ACL命令使用
Linux中管理ACL的主要命令是
setfacl和
getfacl。
1. 查看当前ACL权限
getfacl filename
例如:
getfacl report.txt
输出示例:
# file: report.txt # owner: alice # group: team user::rw- user:bob:r-- group::r-- mask::r-- other::r--
2. 设置用户级别的ACL权限
给特定用户添加读写权限:
setfacl -m u:bob:rw report.txt
-m
:修改ACLu:bob:rw
:用户bob拥有读写权限
3. 设置组级别的ACL权限
给特定组添加权限:
setfacl -m g:developers:rx /project/
g:developers:rx
:组developers对目录有读和执行权限
4. 删除某个ACL条目
setfacl -x u:bob report.txt
删除用户bob的ACL权限。
5. 删除所有扩展ACL
setfacl -b report.txt
此命令会清除所有扩展ACL,只保留基本的用户、组、其他权限。
三、目录默认ACL(用于新文件自动继承)
在协作目录中,常需要新创建的文件自动继承权限。可以设置 default ACL。
例如,设置目录
/shared/的默认ACL:
setfacl -d -m u:alice:rwx /shared/ setfacl -d -m g:team:rwx /shared/
-d
表示设置默认ACL,仅对目录有效- 新创建的文件和子目录将自动继承这些ACL规则
查看默认ACL:
getfacl /shared/
你会看到
default:开头的条目。
四、权限掩码(Mask)与有效权限
当你设置ACL后,系统会自动计算一个 mask,它限制了用户和组的最大访问权限。
例如:
setfacl -m u:charlie:rwx file.txt
但mask可能是
r-x,那么charlie的实际有效权限是
r-x,即使设置了
rwx。
手动设置mask:
setfacl -m m::rwx file.txt
这会提升mask权限,使其他ACL条目能真正生效。
五、实用建议与注意事项
避免过度使用ACL:ACL虽然灵活,但会增加权限管理复杂度,建议只在必要时使用。
-
定期审计权限:使用
getfacl
批量检查关键目录:getfacl /project/*
结合传统权限使用:ACL是对传统权限的补充,不是替代。确保基本的用户/组设置合理。
-
备份前注意ACL:使用
rsync
或cp
时,需加参数保留ACL:rsync -aAX source/ dest/
或
cp --preserve=mode,ownership,acl source.txt dest.txt
基本上就这些。ACL让你能精确控制“谁能在什么文件上做什么”,特别适合团队开发、共享目录等场景。关键是理解
setfacl和
getfacl的用法,并合理使用默认ACL和权限掩码。不复杂,但容易忽略细节。
# linux
# access
# ai
# red
# print
# 继承
# default
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
焦点电影公司作品,电影焦点结局是什么?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel怎么实现验证码(Captcha)功能
详解CentOS6.5 安装 MySQL5.1.71的方法
如何在IIS7中新建站点?详细步骤解析
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何正确下载安装西数主机建站助手?
EditPlus 正则表达式 实战(3)
如何快速搭建虚拟主机网站?新手必看指南
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
BootStrap整体框架之基础布局组件
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何实现API资源集合?(Resource Collection教程)
北京专业网站制作设计师招聘,北京白云观官方网站?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何破解联通资金短缺导致的基站建设难题?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
海南网站制作公司有哪些,海口网是哪家的?
如何用狗爹虚拟主机快速搭建网站?
如何快速查询网址的建站时间与历史轨迹?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何配置Horizon来管理队列?(安装和使用)
如何在景安云服务器上绑定域名并配置虚拟主机?
网站制作免费,什么网站能看正片电影?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何用搬瓦工VPS快速搭建个人网站?
如何在阿里云域名上完成建站全流程?
在Oracle关闭情况下如何修改spfile的参数
佛山网站制作系统,佛山企业变更地址网上办理步骤?
详解Huffman编码算法之Java实现
如何在搬瓦工VPS快速搭建网站?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
javascript读取文本节点方法小结
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
昵图网官方站入口 昵图网素材图库官网入口
七夕网站制作视频,七夕大促活动怎么报名?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Python图片处理进阶教程_Pillow滤镜与图像增强
如何在宝塔面板中修改默认建站目录?
实例解析angularjs的filter过滤器
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
网站制作价目表怎么做,珍爱网婚介费用多少?
在线制作视频网站免费,都有哪些好的动漫网站?

