麒麟系统权限继承依赖ACL或SGID位:先启用挂载分区ACL,再设SGID位(chmod 2775)确保新建文件继承所属组,用setfacl -d设置默认ACL实现跨用户继承,图形界面需勾选“应用到子文件夹和文件”。

确认文件系统是否支持权限继承机制
麒麟系统中,真正的权限继承依赖于ACL(访问控制列表)或SGID位,而非普通chmod的-R参数。先验证当前挂载分区是否启用ACL:执行mount | grep "$(df . | tail -1 | awk '{print $1}')" | grep acl,若无输出,需临时启用——运行sudo mount -o remount,acl /。注意:此操作仅对当前会话生效,重启后需写入/etc/fstab才持久化。
启用SGID位保障新建文件继承所属组
多人协作目录必须开启SGID,否则用户在该目录下新建的文件属组会变成其主组,而非目录所属组,导致他人无法编辑。
第一步:设置目录基础权限并启用SGID位:sudo chmod 2775 /path/to/directory。其中开头的【2】即为SGID位,它强制所有在该目录内创建的子目录和文件自动继承父目录的所属组。
第二步:单独清理已有文件权限,避免误赋执行位:sudo find /path/to/directory -type f -exec chmod 664 {} \;。这一步不能省略——SGID只影响新建项,已有文件仍需手动修正。
第三步:验证SGID已生效:执行ls -ld /path/to/directory,输出权限字段应显示为【drwxrwsr-x】(注意第4位是小写s,表示SGID已设且组有执行权;若为大写S,说明组无x权限,需补chmod g+x)。
用ACL实现跨用户权限继承式授权
当需要让非本组成员(如张三、李四)也能在协作目录中新建文件并保持可编辑性时,必须用ACL绑定权限到具体用户,且需开启“默认ACL”才能实现继承。
方法一:为指定用户添加默认ACL(关键!不加default则新建文件不继承):sudo setfacl -d -m u:zhangsan:rwx /path/to/directory。
方法二:同时设置当前目录权限与默认ACL(一步到位):sudo setfacl -m u:zhangsan:rwx -d -m u:zhangsan:rwx /path/to/directory。
方法三:批量为多个用户设置默认读写权限:sudo setfacl -d -m u:user1:rw-,u:user2:rw-,u:user3:rw- /path/to/directory。
执行后务必运行getfacl /path/to/directory核对输出——在“#default”段落下必须出现对应用户的rwx条目,否则新建文件不会自动获得该权限。
图形界面中启用“应用到子文件夹和文件”
该选项仅作用于当前目录及其已有内容,不提供真正意义上的“新建项继承”,但对快速统一现有结构有效。
在文件管理器中右键目标文件夹→选择“属性”→切换至“权限”选项卡。
分别设置“所有者”“所属组”“其他用户”的读、写、执行状态,确保“所属组”至少勾选“读取”和“进入文件夹”(即r和x)。
【务必勾选下方“应用到子文件夹和文件”复选框】——不勾选则仅修改该文件夹自身权限,子项保持原状。
点击“确定”,输入当前用户开机密码完成授权。

















