如何为使用 Ansible 创建的用户添加 sudo 权限?

如何为使用 Ansible 创建的用户添加 sudo 权限?

最干净的方法是什么?尝试使用用户模块将用户添加到 sudo 组,但 ​​Ansible 报告找不到 sudo 组。

答案1

代替

- name: create a new user
    user: name=user
          state=present
          groups="group1, group2"
          password={{ password }}
          comment="Comment"

我做到了

- name: create a new user
    user: name=user
          state=present
          group=primary-group
          groups="sudo"
          password={{ password }}
          comment="Comment"

并且该用户被添加到了 sudo 组。

答案2

- name: Create Deploy user
  user: name={{ deploy }} comment="Deploy User" groups="sudo,admin,{{ deploy }}"
  sudo: yes

请小心您的群组列表中的空格...如果有空格,您会收到“群组不存在”的提示。

答案3

groups="admin" 将创建用户添加到管理组

答案4

使用 ansible 以传统的 Linux 方式执行此操作:)

创建一个文件,create_user.yml并添加以下代码。
将其更改<username>为要添加到 sudo 组的用户名

- name: "run command"
  become: true
  gather_facts: no
  hosts: all
  tasks:
    - name: add user to sudo group
      shell: usermod -aG sudo <username>
      args:
        executable: /bin/bash

现在使用命令运行此 user_create.yml 剧本

ansible-playbook -K <filename>.yml

相关内容