必须启用并配置acl才能实现精细访问控制;操作包括确认文件系统支持acl、为用户/组添加权限、设置默认acl继承规则、移除特定用户acl权限。

如果您需要为特定用户或组授予超出标准三元权限(所有者/组/其他)的精细访问控制,则必须启用并配置访问控制列表(ACL)。以下是统信UOS中设置文件ACL权限的具体操作步骤:
一、确认文件系统已启用ACL支持
ACL功能依赖于底层文件系统挂载选项中包含
1、执行命令检查根分区是否启用ACL:sudo tune2fs -l /dev/sda1 | grep "Default mount options:"
2、观察输出中是否包含acl字样;若无,需重新挂载分区并添加acl选项。
3、临时启用ACL(重启失效):sudo mount -o remount,acl /
4、永久启用ACL:编辑/etc/fstab,在对应分区行末尾的挂载选项中添加acl,例如:defaults,acl。
二、为指定用户添加ACL读写执行权限
该方法允许为非所有者、非所属组的单个用户赋予独立权限,不干扰原有权限结构,适用于协作场景下的临时授权。
1、定位目标文件或目录路径,例如/home/user/project/report.txt
2、执行命令为用户tester添加完整权限:setfacl -m u:tester:rwx /home/user/project/report.txt
3、验证ACL是否生效:getfacl /home/user/project/report.txt
4、观察输出中是否新增一行user:tester:rwx,且文件权限末尾显示+号。
三、为指定用户组设置ACL权限
当需批量授权给一组用户时,可直接对组名设置ACL,避免逐个为成员添加规则,提升管理效率。
1、确认目标组已存在,例如组名为devteam
2、为该组赋予读写权限:setfacl -m g:devteam:rw /home/user/project/src/
3、若需同时授权执行权限(如脚本目录),改为rwx
4、检查结果:getfacl /home/user/project/src/,确认出现group:devteam:rw-条目。
四、配置默认ACL使子项自动继承权限
默认ACL仅对目录生效,其作用是为后续在该目录下创建的新文件和子目录自动应用指定权限,无需每次手动设置。
1、进入目标父目录,例如/home/user/shared/
2、设置默认ACL,使新创建项自动赋予tester用户读写权限:setfacl -m d:u:tester:rw /home/user/shared/
3、设置默认组权限:setfacl -m d:g:collab:rwx /home/user/shared/
4、验证默认ACL:getfacl /home/user/shared/,确认输出中包含以default:开头的对应条目。
五、移除特定用户的ACL权限
当协作结束或权限需回收时,应精确删除对应用户的ACL规则,保留其余ACL及基础权限不变。
1、查看当前ACL完整配置:getfacl /path/to/target
2、识别待删除的用户名,例如tempuser
3、执行删除命令:setfacl -x u:tempuser /path/to/target
4、再次运行getfacl确认该用户条目已消失,且文件权限末尾+号仍存在(表示仍有其他ACL规则)。










