在银河麒麟系统中需先确认文件系统已启用acl支持,再用setfacl为张三设rw-、李四设r--、王五设---权限,并通过-r递归应用、-d设置默认acl;图形界面可查看和简易调整acl但不支持默认及递归操作。

您需要在银河麒麟系统中为某个文件夹精确控制多个不同用户的访问能力,比如让张三能读写、李四只能读、王五完全禁止访问,同时不干扰原有所有者和所属组的权限结构。
确认文件系统已启用ACL支持
ACL功能依赖底层ext4或xfs文件系统挂载时开启acl参数,未启用会导致setfacl命令直接报错“Operation not supported”。
执行df .查看当前所在分区设备路径,例如/dev/sda1;再运行mount | grep "$(df . | tail -1 | awk '{print $1}')" | grep acl,若输出中含acl字样则已就绪。
若无输出,说明该挂载点未启用ACL:先用sudo mount -o remount,acl /临时启用(/为根挂载点),再验证一次;如需永久生效,需编辑/etc/fstab,在对应挂载项的选项字段末尾添加acl,例如defaults,acl。
为指定用户设置独立访问权限
方法一:单用户单次授权
执行sudo setfacl -m u:zhangsan:rw- /path/to/folder,授予zhangsan对该文件夹的读写权,但明确禁用执行位——这能防止其进入子目录或运行脚本,仅限查看与修改内容。
执行sudo setfacl -m u:lisix:r-- /path/to/folder,使lisix仅有读权限;若误加了x,后续无法通过chmod o-x撤销,必须用setfacl -x清除。
执行sudo setfacl -m u:wangwu:--- /path/to/folder,彻底屏蔽wangwu的所有访问,注意此处三个短横线不可省略或替换为空格。
【务必执行getfacl /path/to/folder核对输出】,确认每行user条目后的权限符号准确无误,且末尾无意外的mask字段覆盖。
递归应用ACL并设置默认规则
第一步:将已有ACL规则同步到全部子项
运行sudo setfacl -R -m u:zhangsan:rw-,u:lisix:r--,u:wangwu:--- /path/to/folder,该命令会遍历所有子目录和文件,逐个添加对应用户的ACL条目。
第二步:设定默认ACL,确保新创建的文件自动继承
执行sudo setfacl -d -m u:zhangsan:rw-,u:lisix:r--,u:wangwu:--- /path/to/folder,其中-d参数表示“default”,仅对目录有效;此后在该文件夹内新建的任何文件或子目录,都会自动获得这些用户权限配置。
注意:默认ACL不会影响现有文件,只作用于未来创建项;若需让新文件也具备组继承能力,应配合SGID位使用,即先sudo chmod 2775 /path/to/folder再设默认ACL。
图形界面快速查看与基础调整
在麒麟文件管理器中右键目标文件夹→选择“属性”→切换至“权限”选项卡,底部会显示“访问控制列表(ACL)”按钮(若系统已启用ACL)。
点击后弹出窗口列出当前所有ACL条目,可直接勾选/取消读、写、执行复选框修改单个用户的权限,修改后点击“确定”即可生效,无需记忆命令。
该界面不支持设置默认ACL或递归操作,仅适用于临时查看和简单调整。











