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 验证






























