linux root权限需严格管控:禁用root远程登录,普通用户通过sudo执行最小必要命令并全程日志审计,定期核查权限与账户,强化密码策略及会话安全。

Linux root权限不能“放养”,得靠机制管、靠规则控、靠日志盯。核心思路是:禁掉直连root、用sudo代劳、权限给得刚刚好、操作全程留痕。
禁用root远程登录,堵住最危险入口
默认允许SSH直接以root登录,等于把大门钥匙挂在网上。必须关掉:
- 编辑/etc/ssh/sshd_config,确保这行存在且生效:
PermitRootLogin no - 重启服务:sudo systemctl restart sshd
- 之后所有管理都走普通用户登录 → 再用sudo或su -提权,每一步都有记录可查
用sudo代替su,权限要细到具体命令
别一股脑给ALL=(ALL) ALL,那是给自己埋雷。正确做法是:
- 把管理员加进sudo组(Ubuntu)或wheel组(CentOS):
sudo usermod -aG sudo username - 用visudo编辑/etc/sudoers,只授权必要动作:
username ALL=(root) /usr/bin/systemctl restart nginx, /usr/bin/journalctl -u nginx - 免密码仅限低风险操作,且必须写全路径:
username ALL=(root) NOPASSWD: /usr/bin/systemctl reload nginx
定期检查谁有啥权限,不放过可疑项
权限配置不是设一次就完事,得常看常清:
- 查当前用户能跑哪些sudo命令:
sudo -l —— 留意是否含/bin/bash、/usr/bin/vi这类高危项 - 翻日志确认操作真实发生:
grep 'sudo:' /var/log/auth.log(Debian系)或
grep 'sudo' /var/log/secure(RHEL系) - 筛出长期不用的账户:
lastlog -b 90 —— 90天没登录的,评估是否删掉
加固底层凭证和会话行为
再细的权限控制,也挡不住弱密码或长会话被劫持:
- root密码必须12位以上,含大小写字母+数字+符号,不复用其他系统密码
- 强制密码策略(PAM):
password requisite pam_pwquality.so retry=3 minlen=12 difok=3 - 缩短sudo提权缓存时间:
Defaults timestamp_timeout=5(5分钟无操作自动失效) - 关键服务器建议加双因素,比如YubiKey或TOTP验证










