应将用户家目录权限设为750,确保主组合理且无冗余成员;安全审计需检查权限异常、可疑文件、suid/sgid项及近7天隐藏文件修改行为,并配置adduser.conf、umask及auditctl实现持续防护。

禁用用户家目录的全局读写权限,核心是修改目录权限为 750(属主读写执行、属组读执行、其他用户无权限),并确保用户所属主组合理、无多余组成员关系;安全审计则需检查权限异常、可疑文件、SUID/SGID项及最近访问行为。
一、收紧家目录权限(关键一步)
默认创建的家目录常为 755(其他用户可读),存在信息泄露风险。应统一设为 750:
- 执行命令:
chmod 750 /home/用户名 - 若需批量处理所有普通用户(排除系统账户),可用:
awk -F: '$3 >= 1000 && $3 - 同时检查
/home/用户名/.ssh目录权限是否为700,authorized_keys是否为600,否则 SSH 可能拒绝登录
二、校验用户主组与组成员关系
全局可读问题常因用户被误加进 users、staff 等共享组导致。需确认:
- 每个用户的主组应唯一且专用于该用户(如
用户名:x:1001:在/etc/group中仅含该用户) - 运行
id 用户名查看实际组列表,剔除非必要附加组:gpasswd -d 用户名 组名 - 避免使用
wheel或sudo组作为家目录属组——这些组本意是提权,不是文件共享
三、执行基础安全审计
定位潜在风险点,不依赖第三方工具:
- 查找家目录下权限过宽的文件:
find /home -type f \( -perm -o+w -o -perm -o+r \) -ls 2>/dev/null - 检查异常 SUID/SGID 文件(尤其在
.local/bin或.cache下):find /home -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/null - 列出近7天被修改过的隐藏文件(常为恶意脚本落脚点):
find /home -name ".*" -mtime -7 -ls 2>/dev/null - 检查
~/.bashrc、~/.profile是否包含可疑远程加载(如curl|bash、未验证的source)
四、加固与持续防护建议
权限调整后需防止被覆盖或绕过:
- 在
/etc/adduser.conf中设置:DIR_MODE=0750,确保新用户家目录默认安全 - 启用
umask 002仅对协作环境必要;日常应设为007(即新建文件默认不给组和其他用户写权限) - 定期用
auditctl监控关键目录变更(如-w /home -p wa -k home_access),配合aureport分析 - 对多用户共享服务器,考虑用
bindfs或 ACL 实现可控协作,而非放宽家目录权限










