禁用root远程登录可降低安全风险。编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,重启SSH服务后需通过普通用户登录并使用su -或sudo提权,提升操作可审计性。

linux系统中,root账户拥有最高权限,一旦被滥用或泄露,可能造成严重安全风险。合理管理root账户是保障系统安全的关键环节。以下是一些实用的安全管理技巧,帮助降低潜在威胁。
禁止直接使用root登录
允许直接以root身份通过SSH登录会显著增加被暴力破解的风险。建议禁用root的远程登录功能。
- 编辑SSH配置文件:/etc/ssh/sshd_config
- 找到或添加这一行:PermitRootLogin no
- 保存后重启SSH服务:systemctl restart sshd
之后只能通过普通用户登录,再使用su –或sudo切换到root,提升操作可审计性。
限制sudo权限的使用范围
并非所有管理员都需要完全的root权限。通过sudo精细化控制命令执行权限,可以有效降低误操作和恶意行为的风险。
- 使用visudo编辑/etc/sudoers文件,避免语法错误
- 为特定用户或组分配所需命令,例如:
admin ALL=(ALL) /bin/systemctl restart nginx, /bin/journalctl -u nginx - 禁止执行危险命令,如rm、dd等,除非必要
启用登录日志与行为审计
记录root相关的操作行为,有助于事后追溯和发现异常活动。
- 确保rsyslog或syslog-ng服务正在运行
- 查看认证日志:/var/log/auth.log(debian系)或/var/log/secure(RHEL系)
- 结合auditd工具监控关键操作,例如:
auditctl -a always,exit -F euid=0 -F key=root_cmd
定期检查日志中是否有异常时间、IP地址或频繁失败的登录尝试。
设置强密码并定期更换
root密码必须足够复杂,防止被字典攻击破解。
- 使用混合大小写字母、数字和特殊字符组合
- 长度不少于12位
- 配合PAM模块强制密码策略,如pam_pwquality
- 设定密码过期时间:chage -M 90 root
基本上就这些。只要不开放root直连、控制提权路径、做好日志追踪,就能大幅提高系统安全性。关键是养成良好习惯,不图方便牺牲安全。


