家目录默认权限应设为700以防止越权访问;umask建议设为077确保新建文件和目录权限为600/700;共享需求应通过专用目录(如/srv/project-alpha)配合gid位实现;~/.ssh、~/.gnupg等关键子目录必须严格设为700或600。

Linux家目录默认权限若设置不当,容易导致其他用户读取、写入甚至执行你的私有文件。关键在于合理配置目录和文件的权限位,并配合umask与用户组策略,实现最小必要访问原则。
家目录基础权限应设为700
家目录(如/home/username)必须禁止其他用户(others)的任何访问权限:
- 执行
chmod 700 /home/username,确保仅属主可读、写、进入 - 检查命令:
ls -ld /home/username,输出应类似drwx------ - 若显示r-x或rwx给group/others,说明存在越权风险
新建文件与子目录的默认权限由umask控制
用户创建的文件/目录默认权限受umask影响。建议普通用户设为077(即屏蔽group和others所有权限):
- 临时生效:
umask 077 - 永久生效:将
umask 077加入~/.bashrc或~/.profile - 验证:新建文件后运行
ls -l,文件应为-rw-------,目录为drwx------
谨慎使用用户组共享,避免权限泛滥
如需有限共享(如协作项目),不应直接放宽家目录权限,而应:
- 创建专用共享目录(如/srv/project-alpha),设置gid位和组写权限:
chmod 2775 /srv/project-alpha - 将协作用户加入同一组(如project-alpha),并确保其umask不破坏组权限
- 禁止将敏感目录(如~/Documents、~/.ssh)加入共享组或设为g+r
特别加固关键子目录
以下目录必须严格限制,即使家目录已设700:
-
~/.ssh:必须
chmod 700,密钥文件(如id_rsa)必须chmod 600 -
~/.gnupg:GPG密钥环目录,同样需
chmod 700 - ~/.config等配置目录:若含认证凭据(如API token),也应保持700

















