Table of Contents

问题:Centos7 用户不在 sudoers 文件中。此事将被报告

  1. sudoers 的分析

    Linux是多用户多任务的操作系统, 共享该系统的用户往往不只一个。 出于安全性考虑, 有必要通过useradd创建一些非root用户, 只让它们拥有不完全的权限; 如有必要,再来提升权限执行。

    sudo就是来解决这个需求的: 这些非root用户不需要知道root的密码,就可以提权到root,执行一些root才能执行的命令。

    执行sudo -u <用户名> <命令>, 将允许当前用户,提权到<用户名>的身份,再执行后面的<命令>, 即使<命令>原本需要root权限。

  2. 解决方法:赋予用户 sudo 操作的权限

    • 利用改变用户组的方式

      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      # 1. 进入到root 用户
      su root
      输入密码:
      
      # 2. 以root用户身份执行如下命令, 将用户加入wheel/admin/sudo组
      usermod -a -G wheel <用户名>
      
      # 3. 如果提示wheel组不存在,则需要先创建该组
      groupadd wheel
      
    • 修改/etc/sudoers 文件

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      
      # 1. 进入到root 用户
      su root
      
      # 2. 查看文件权限,一般来说这个文件平时只有读权限
      ll /etc/sudoers
      
      # 3. 修改文件权限
      chmod u+w /etc/sudoers
      
      # 4. 编辑/etc/sudoers文件。
      也就是输入命令”vi /etc/sudoers”,输入”i”进入编辑模式,找到这一 行:”root
      ALL=(ALL) ALL”在起下面添加”xxx ALL=(ALL) ALL”(这里的xxx是你的用户名),然后保存退出。
      
      # 5. 撤销文件的写权限