当前位置:首页 > Linux > 正文

Linux如何设置root权限控制?

在Linux中通过配置sudoers文件授权特定用户/组执行root命令,限制直接root登录(如禁用SSH root登录),并遵循最小权限原则管理超级用户权限。

核心原则:避免直接使用root

  • 使用sudo替代su

    通过sudo授权普通用户执行特定命令,而非直接登录root:

    1. 安装sudo(部分发行版默认安装): apt install sudo # Debian/Ubuntu yum install sudo # CentOS/RHEL
    2. 将用户加入sudo组: usermod -aG sudo username # Debian/Ubuntu usermod -aG wheel username # CentOS/RHEL
    3. 配置sudo权限文件(/etc/sudoers):

      使用visudo命令编辑(避免语法错误): # 允许wheel组用户使用sudo %wheel ALL=(ALL) ALL # 允许特定用户无密码执行命令(谨慎使用) username ALL=(ALL) NOPASSWD: /usr/bin/systemctl


禁止root远程登录(SSH加固)

修改SSH配置文件 /etc/ssh/sshd_config:

Linux如何设置root权限控制? 第1张

  1. 禁止root通过SSH登录: PermitRootLogin no
  2. 限制登录用户(仅允许普通用户): AllowUsers username
  3. 重启SSH服务生效: systemctl restart sshd

️ 注意:先测试普通用户SSH登录权限,再禁用root登录,避免被锁在系统外。


设置强密码策略

  1. 修改root密码复杂度

    编辑 /etc/security/pwquality.conf: minlen = 12 # 最小长度 minclass = 3 # 包含数字、字母、符号等至少3类

  2. 设置密码有效期

    修改 /etc/login.defs:

    Linux如何设置root权限控制? 第2张

    PASS_MAX_DAYS 90 # 密码最长有效期 PASS_WARN_AGE 7 # 过期前7天提醒
  3. 使用命令强制root修改密码: chage -M 90 root


使用PAM模块精细化控制

通过Pluggable Authentication Modules (PAM) 限制root访问:

  1. 限制root的TTY终端

    编辑 /etc/securetty,仅允许本地tty1登录: tty1 # 注释其他行(如tty2, pts/0等)

  2. 禁止普通用户su到root

    编辑 /etc/pam.d/su,添加: auth required pam_wheel.so use_uid # 仅允许wheel组成员使用su


审计与监控root活动

  1. 启用auditd日志审计

    • 安装auditd: apt install auditd # 或 yum install audit
    • 监控root执行的所有命令: auditctl -a always,exit -F arch=b64 -F euid=0 -S execve
    • 查看日志:ausearch -ue 0(0为root的UID)
  2. 记录sudo操作

    在/etc/sudoers中添加:

    Defaults logfile=/var/log/sudo.log

  3. 安全增强建议

    1. 使用双因素认证(2FA)

      为sudo或SSH登录启用Google Authenticator等2FA工具。

    2. 定期审查权限
      • 检查sudoers文件:sudo visudo -c
      • 审计特权用户:grep -Po '^sudo.+:K.*$' /etc/group
    3. 内核级防护

      启用SELinux/AppArmor限制root进程行为(如配置enforcing模式)。


    控制root权限的关键在于:

    优先使用sudo而非直接root操作

    禁用远程root登录

    强制密码复杂性策略

    通过PAM和审计实现精细化管控

    ️ 任何配置修改前,务必备份相关文件(如/etc/sudoers),并在测试环境验证。

    基于Linux官方文档及安全最佳实践,参考来源:

    • Linux man-pages (man sudoers, man pam_wheel)
    • NSA《Linux安全加固指南》
    • Ubuntu/CentOS官方安全文档

      遵循CC BY-SA 4.0协议,允许署名共享。

    Linux如何设置root权限控制? 第3张

0