在麒麟系统中,如果您想限制用户访问某个文件夹,常见且实用的方法主要有三种:第一种是通过 ACL 将 other::--- 设为无权限,并补充默认规则,形成黑名单控制;第二种是使用 chmod 700 配合专用隔离组,采用更轻量的逻辑黑名单方案;第三种则是启用 Kysec fpro 模块,直接在内核层面对目录路径访问进行拦截。

您可能需要在麒麟操作系统中禁止特定用户或用户组访问某个文件夹,例如限制外包人员查看源码目录、阻止临时访客进入财务资料库,或隔离测试账号读取生产环境配置文件的权限。
用ACL设置other::---彻底屏蔽非授权用户
这是在麒麟系统中设置文件夹访问黑名单最直接、也最稳定的方式。它不依赖用户属于哪个组,而是默认拒绝所有未被明确授权的用户访问目标目录。
打开终端后,先执行ls -ld /path/to/folder,确认目标文件夹的归属关系以及当前权限设置。
然后运行sudo setfacl -m o::--- /path/to/folder,这条命令会将“其他用户”(other)的权限清空,即设置为---,完全取消访问能力。
【必须执行此步】接着运行sudo setfacl -d -m o::--- /path/to/folder,为该目录添加默认 ACL 规则,确保后续新建的子文件和子目录也会自动继承这一拒绝访问策略。
可通过getfacl /path/to/folder验证是否生效:输出结果中应同时包含user::rwx(或您实际设置的所有者权限)、group::r-x(或您设置的组权限)以及other::---这一行。
通过chmod 700配合用户组剥离实现逻辑黑名单
如果您只希望文件夹所有者能够访问,同时不打算启用 ACL 机制,那么这种方式会更轻便,兼容性也更好,适合常见的目录权限控制场景。
第一步:先确认目标文件夹当前的归属信息——执行ls -ld /path/to/folder,记下目录所有者用户名以及所属用户组。
第二步:将该文件夹的所属组修改为一个空组或专用隔离组,例如sudo groupadd isolated_group → sudo chown :isolated_group /path/to/folder。
第三步:执行sudo chmod 700 /path/to/folder,设置完成后,只有文件夹所有者拥有全部访问权限,所属组成员和其他用户都无法访问该目录。
第四步:确认需要被“加入黑名单”的用户不在isolated_group中,同时也不是该文件夹的所有者——否则仍可能通过所有权或组身份绕过访问限制。
启用Kysec fpro模块实施内核级路径拦截
这种方案适合保密等级较高、要求路径绝对不可见的场景,例如审计日志根目录、密钥存储区等。启用后,普通用户甚至无法通过ls列出该目录内容。
先以 root 身份执行sudo -i,切换到超级用户环境。
随后运行kysec-cli fpro add --path /path/to/folder --mode deny --type dir,该命令会向 fpro 策略库中写入一条针对目录路径的拒绝访问规则。
规则会立即生效,无需重启系统。此时可切换任意非 root 用户账号执行ls /path/to/folder进行测试,系统通常会返回Permission denied,而不是显示目录内容。
【注意】fpro 策略的优先级高于 ACL 和传统 Linux 权限控制,但它只针对 VFS 层访问生效;如果用户本身拥有 root 权限,依然可以绕过这一限制。
