/root目录权限必须为700且属主属组均为root,否则违反最小权限原则;应执行sudo chmod 700 /root和sudo chown root:root /root修复,并禁用root直接登录以增强安全。

Linux 中的 “root 目录” 通常指 /root(超级用户 root 的家目录),不是系统根目录 /。普通用户默认不应访问 /root,但若权限配置不当(如误设为 755),就可能被浏览。保护它的关键是确保只有 root 能进、能看、能操作。
确认并修正 /root 目录权限
/root 必须仅对 root 用户可读、写、执行,其他任何人无任何权限:
- 运行
ls -ld /root查看当前权限——理想输出应为drwx------(即权限值 700) - 若末三位不是
---(比如显示r-x或r-x),立即修复:sudo chmod 700 /root - 同时确认属主和属组均为 root:
sudo chown root:root /root
检查并加固新用户默认家目录策略
虽然问题聚焦 /root,但普通用户的家目录(如 /home/xxx)若权限宽松(如 755),也可能间接暴露系统信息或成为跳板。建议同步规范:
- 对现有用户家目录收紧:
chmod 700 /home/用户名 - 让新用户创建时自动获得安全权限:编辑
/etc/adduser.conf,将DIR_MODE设为0700 - Ubuntu/Debian 系统还可修改
/etc/skel/下的默认配置文件(如.bashrc)避免继承不安全设置
禁用 root 直接登录,切断非法访问入口
即使 /root 权限正确,若允许 root 通过 SSH 或控制台直接登录,攻击者一旦获取密码,仍可进入并读取内容。必须关闭该通道:
- 编辑
/etc/ssh/sshd_config,设PermitRootLogin no,然后重启服务:sudo systemctl restart sshd - 确保
/etc/passwd中 root 行的 shell 字段为/sbin/nologin或/bin/false,而非/bin/bash - 运维人员统一使用普通账号 +
sudo,且 sudo 权限按需分配,不开放ALL=(ALL) ALL
验证是否生效
切换到任意普通用户(如 su -l normaluser),尝试以下操作:
-
ls /root→ 应提示Permission denied -
cd /root→ 同样报错,无法进入 -
stat /root→ 查看 Access 字段,确认 Others 权限全为---











