linux ACL可突破传统权限限制,通过setfacl和getfacl为特定用户或组设置精细权限,需确保文件系统挂载时启用acl选项,并安装acl工具包,支持递归设置与规则清除,提升多用户环境下的安全与协作灵活性。
Linux访问控制列表(ACL)可以对文件和目录实现更精细的权限管理,突破传统用户-组-其他三类权限的限制。通过ACL,你可以为特定用户或组设置独立的读、写、执行权限。
启用文件系统ACL支持
大多数现代Linux发行版默认支持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 /home
安装ACL工具
使用 getfacl 和 setfacl 命令管理ACL,需安装 acl 软件包。
配置文件和目录的ACL权限
使用 setfacl 设置访问控制规则,getfacl 查看当前ACL设置。
- 为用户设置文件权限:setfacl -m u:username:rw file.txt
- 为组设置目录权限:setfacl -m g:groupname:rwx /project
- 递归设置子目录和文件:setfacl -R -m g:developers:rx /shared
- 查看ACL信息:getfacl file.txt
删除和清除ACL规则
根据需要移除个别规则或清空所有ACL设置。
- 删除某用户的ACL:setfacl -x u:username file.txt
- 清除文件所有ACL:setfacl -b file.txt
基本上就这些操作。合理使用ACL能提升系统安全性与协作灵活性,特别是在多用户共享环境中。记得定期用 getfacl 检查权限配置,避免出现意外访问问题。不复杂但容易忽略细节,比如递归设置时要确认范围。
评论(已关闭)
评论已关闭