2022-02-21 14:06:44
在 Linux 中禁用 root 用户可以通过锁定其密码实现,但需谨慎操作以避免影响系统管理。以下是具体方法、后果及注意事项:
操作方法使用具有 sudo 权限的普通用户登录系统确保当前用户已加入 sudo 或 wheel 用户组(可通过 groups 命令确认)。
锁定 root 密码在终端中运行以下命令:
sudo passwd -l root作用:此命令会锁定 root 账户的密码,使其无法通过密码登录(包括本地终端、SSH 等)。
验证:可通过 sudo passwd -S root 查看状态,输出中 locked 表示已禁用。
(可选)限制 root 的其他登录方式
禁止 SSH 的 root 登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,然后重启 SSH 服务:sudo systemctl restart sshd
禁用 root 的 Shell:将 /etc/passwd 中 root 行的 Shell 改为 /sbin/nologin 或 /bin/false(需 root 权限编辑)。
确保存在替代管理途径
至少保留一个可通过 sudo 提权的用户,避免系统完全无法管理。
测试 sudo 权限是否正常:sudo whoami 应返回 root。
谨慎使用 sudo
遵循最小权限原则,仅授予用户必要的 sudo 权限(通过 /etc/sudoers 配置)。
避免在脚本或长期会话中滥用 sudo,推荐使用 sudo -i 或 sudo su 临时提权。
密码与日志管理
为所有 sudo 用户设置强密码,并启用双因素认证(如 Google Authenticator)。
定期检查 sudo 日志(/var/log/auth.log 或 journalctl -u sshd)以监控异常活动。
恢复 root 登录(如需)若需重新启用 root,运行:
sudo passwd -u root # 解锁密码sudo chsh -s /bin/bash root # 恢复默认 Shell(可选)若需彻底移除 root 权限(而非仅锁定),可删除 root 的密码哈希(需 root 权限):
sudo usermod --password $(openssl passwd -1 "!") root警告:此操作可能导致某些依赖 root 的系统服务异常,仅建议在特定安全场景下使用。
总结锁定 root 密码是提升 Linux 系统安全性的常见措施,但必须确保存在可用的 sudo 管理路径。操作前建议备份重要配置,并在测试环境中验证流程。