限制 root 用户的访问权限范围是 Linux 系统安全加固的重要部分。完全“禁用 root”通常不现实,但可以通过多种手段缩小 root 的能力范围、使用场景和攻击面。下面按常用且有效的方式说明。
编辑:
/etc/ssh/sshd_config
设置:
PermitRootLogin no
重启 SSH:
systemctl restart sshd
✅ 效果:root 不能直接 SSH 登录,必须先普通用户 + sudo
编辑:
/etc/sudoers
# 或用
visudo
示例(只允许某用户重启服务):
alice ALL=(root) /usr/bin/systemctl restart nginx
✅ 效果:用户只能以 root 执行指定命令
避免给程序 root 权限,只给必要能力:
setcap cap_net_bind_service=+ep /usr/bin/nginx
✅ 效果:程序无需 root 也能绑定 80 端口
示例(SELinux):
setenforce 1
✅ 效果:即使是 root,也受策略限制
在 /root/.bashrc 中:
PATH=/sbin:/usr/sbin
避免 root 执行未知目录中的脚本。
sudo 自动记录日志auditd:auditctl -w /etc -p wa -k etc_change
✅ 效果:root 做了什么可追溯
passwd -l root
完全不登录 root:
su - # 不允许
sudo -i # 允许
✅ 禁止 root 远程登录
✅ 普通用户 + sudo 精确授权
✅ 开启 SELinux / AppArmor
✅ 审计 root 行为
如果你能说明:
我可以给你一套可直接执行的安全配置方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。