Linux--ACL权限管理

一.ACL权限管理简介

ACL(Access Control List,访问控制列表)是一种文件权限管理机制,它提供了比传统的UGO(用户、组、其他)权限更灵活的权限设置方式。以下是ACL的一些主要功能:

  1. 针对特定用户或用户组设置权限:ACL允许管理员为特定的用户或用户组设置访问某个文件或目录的权限,而不影响其他用户的权限。
  2. 子文件/目录继承父目录的权限:在ACL中,可以设置子文件和子目录继承父目录的权限,这样可以简化权限管理的工作。
  3. 解决传统权限分配的限制:在传统的Linux文件权限中,一个文件只有所有者、所属组和其他用户的权限设置,这在某些复杂的权限需求面前显得不够用。ACL通过提供更多的权限设置选项,解决了这一问题。
  4. 检查和支持ACL :要使用ACL,需要确保Linux内核和文件系统支持。大多数现代Linux发行版默认都支持ACL,但可以通过命令如dumpe2fs来检查文件系统的ACL支持状态。
  5. 挂载时启用ACL :如果某些分区没有启用ACL,可以通过mount命令重新挂载分区并加入acl选项来启用ACL权限。
  6. 操作系统的支持:不同的操作系统对ACL的支持程度可能不同。例如,CentOS 6.x系统中ACL权限默认是开启的,而在其他系统中可能需要手动开启或检查ACL权限的状态。

二.操作步骤

  1. 添加测试目录,用户,组,并将用户添加到组(创建zs,ls添加到tgroup组中)

输入mkdir /project然后ll查看即可

查看组是否正常建立 (输入cat/ect/group)进行查看

修改目录的所有者和所属组

设定权限

此时需要为临时用户进行分配权限, r-x 添加临时用户

为临时用户分配特定权限

查看目录权限,注意+,表示文件或目录有acl权限

验证acl权限

切换到tempuser用户

验证可以进入project目录

验证不能在project中创建文件

控制组的ACL权限

groupadd temp

创建一个temp组

setfacl -m g:temp:rx /project

设置组的ACL

getfacl /project

查看设置后ACL

创建一个用户,并将该用户设置为temp组

useradd tempu02

passwd tempu02

将用户添加到temp组中

gpasswd -a tempu02 temp

验证

su tempu02

可以进入目录

cd /project

不能创建文件

touch aa.txt

相关推荐
比奇堡派星星几秒前
cmdline使用详解
linux·arm开发·驱动开发
钱彬 (Qian Bin)6 分钟前
项目实践14—全球证件智能识别系统(切换回SQLite数据库并基于Docker实现离线部署和日常管理)
运维·docker·容器·fastapi·证件识别
岚天start10 分钟前
Docker部署NGINX实现服务四层转发方案
服务器·nginx·docker
yaso_zhang18 分钟前
linux 下sudo运行程序,链接找不到问题处理
java·linux·服务器
2501_9418868622 分钟前
基于法兰克福金融系统实践的高可靠消息队列设计与多语言实现经验总结分享
服务器·前端·数据库
云和恩墨33 分钟前
表空间、巡检、建库:DBA最熟悉的3个场景,正在被zCloud开放运维中心重新定义
运维·数据库·表空间·dba·巡检·建库
飘忽不定的bug1 小时前
记录:编译rockchip libv4l-rkmpp库
linux·libv4l-rkmpp
oMcLin1 小时前
如何在 Ubuntu 22.04 服务器上实现分布式数据库 Cassandra 集群,优化数据一致性与写入吞吐量
服务器·分布式·ubuntu
UCH1HA1 小时前
MySQL主从复制与读写分离
linux·mysql·集群
Xの哲學2 小时前
Linux 文件系统一致性: 从崩溃恢复到 Journaling 机制
linux·服务器·算法·架构·边缘计算