普通用户宿主目录必须设为700(rwx------),因其存放ssh密钥、配置文件等敏感数据,仅用户和root可访问,否则违反最小权限原则且不满足cis安全规范。

普通用户宿主目录(如 /home/username)的权限必须严格限制,核心原则是:**仅用户本人和 root 可读写执行,同组及其他用户一律无访问权**。默认权限 700(即 rwx------)是最安全、最规范的配置。
为什么必须设为 700?
家目录存放用户的敏感数据:SSH密钥(~/.ssh/)、配置文件(~/.bashrc、~/.gnupg/)、浏览器凭据、私有文档等。若权限过宽:
-
755(rwxr-xr-x):其他用户能ls列出文件名,甚至读取公开配置,可能泄露路径结构或服务信息; -
750(rwxr-x---):同组用户可进入并遍历,一旦误加用户进敏感组(如sudo、docker),风险陡增; - 任何含
r或x给other的组合,都违反最小权限原则,且不符合 CIS Linux 基准等主流安全规范。
如何检查和修复权限
用 ls -ld /home/用户名 查看当前权限。正常应显示:drwx------ 12 username username 4096 Jun 10 09:22 /home/username
- 修复命令:
chmod 700 /home/username - 批量检查所有家目录:
find /home -maxdepth 1 -type d -not -perm 700 -ls - 注意:不要对
/home本身设 700(否则 root 无法列出子目录),它通常保持755即可。
新建用户时自动合规
系统默认行为已满足要求。使用 useradd 创建用户时:
- 若未指定
-m,则不创建家目录; - 若启用
-m(默认),会从/etc/skel/复制模板,并自动设家目录权限为700; - 确认
/etc/adduser.conf(Debian/Ubuntu)或/etc/login.defs(RHEL/CentOS)中DIR_MODE或UMASK设置合理(如UMASK 077)。
特别注意子目录与关键文件
家目录内部分子目录需单独加固:
-
~/.ssh必须700,私钥文件(id_rsa)必须600; -
~/.gnupg推荐700,避免密钥环被读取; - 避免在
/home/username下创建public_html等需开放访问的目录——这类服务应走/var/www或专用 Web 根目录,而非家目录。











