必须设为700(drwx------)才能彻底阻断所有访问路径;家目录权限若为755或711,其他用户仍可通过cd、ls -U或cat已知文件名探测内容。

银河麒麟系统中要让普通用户无法查看其他用户的家目录内容,必须切断其进入目录和列出文件的权限路径,仅靠图形界面勾选或简单 chmod 555 无法达成真实隔离效果。
统一设为700权限是硬性前提
家目录权限若为755或711,其他用户仍可通过 cd 进入并配合 ls -U 或直接 cat 已知文件名来探测内容。701 和 711 都保留了 other 的执行位(x),等于主动开门放人——【必须设为700(drwx------)才能彻底阻断所有访问路径】。
执行 sudo chmod 700 /home/用户名,确认输出为 drwx------;批量处理所有普通用户:awk -F: '$3 >= 1000 && $3
检查是否生效:ls -ld /home/用户名,末三位必须全是 ---,不能出现 r、w、x 中任意一个。
堵住组权限绕过漏洞
即使权限是700,若用户被误加进共享组(如 users、staff),而该组对他人家目录有读或执行权,越权访问仍会发生。
运行 id 用户名,确认其只属于自身主组(如 zhangsan),无额外附加组。
剔除冗余组成员:sudo gpasswd -d 用户名 共享组名;特别注意避免将家目录属组设为 wheel、sudo 等提权相关组。
用ACL精准禁止特定用户访问
当需要对某个已有用户(如 testuser)实施定向封锁,而不想动基础权限时,ACL 是唯一可靠手段。
方法一:禁止该用户访问所有家目录
sudo setfacl -m u:testuser:--- /home/用户名
方法二:设置默认ACL,使新建子项自动继承禁止规则
sudo setfacl -d -m u:testuser:--- /home/用户名
验证:getfacl /home/用户名 输出中必须包含 user:testuser:--- 条目;ACL 规则优先于传统权限,且 --- 彻底剥夺所有能力,包括进入与读取。
实测验证是否真“查不到”
切忌只看权限数字,必须以目标用户身份实操验证:
第一步:su - testuser 切换到另一普通用户
第二步:cd /home/otheruser → 应报 Permission denied
第三步:ls /home/otheruser → 应报 Permission denied
第四步:cat /home/otheruser/.bashrc → 同样拒绝
这四步全部失败,才说明限制真正生效。

















