通过修改配置文件来赋予 root 权限

1. /etc/sudoers 文件

  • 这个文件只能由 root 用户来修改;
  • 文件中的内容有 admin、sudo 两个组与 root 用户具有相同的权限,所以只要将一个普通用户加入到这两个组里,就可以使用 root 权限;

image.png

2. 让普通用户具有 sudo 命令的权限:

  • 将 jenkins 赋予 root 权限,先看看 jenkins 用户信息

    1. $ id jenkins
    2. uid=124(jenkins) gid=128(jenkins) groups=128(jenkins)
  • 将 jenkins 加入 sudo 组

    $ su root
    $ usermod -a -G sudo -s /bin/bash jenkins
    $ id jenkins
    uid=124(jenkins) gid=128(jenkins) groups=128(jenkins),27(sudo)
    
  • jenkins 用户执行 sudo xxx 命令时就不用输入密码,可以直接执行;

    3. 运行免密执行 sudo 命令的权限:

  • 将 jenkins 用户的 root 权限配置到 /etc/sudoers.d 目录下的文件里,文件名和用户名相同;

    • 为了测试,将 jenkins 从 sudo 组里踢出来:(root用户执行) gpasswd -d test sudo
  • root 用户执行
    $ echo "jenkins ALL=(ALL) NOPASSED: ALL">> /etc/sudoers.d/jenkins
    $ chmod 0440 /etc/sudoers.d/jenkins