【问题标题】:Using Ansible to remove multiple Unix accounts使用 Ansible 删除多个 Unix 帐户
【发布时间】:2019-09-16 05:42:50
【问题描述】:

我编写了下面的ansible 代码来删除Unix 用户帐户。

  - hosts: dev
    vars:
    username: 'testuser'
    become: true
    tasks:
    - name: Remove User
      user:
       name: '{{ username }}'
       state: absent
       remove: yes

这适用于单个用户。但是,如果我想同时删除多个用户,我是否需要为每个要删除的用户创建单独的变量,并创建一个单独的 user 资源来删除该用户。在这种情况下,如果有多个用户,代码将变得太长。有什么建议么 ?

【问题讨论】:

    标签: automation ansible user-accounts rhel6


    【解决方案1】:

    创建要删除的用户列表user_names。使用loop 迭代列表。

    - hosts: dev
      become: true
      vars:
        user_names:
          - 'testuser1'
          - 'testuser2'
          - 'testuser3'
      tasks:
        - name: Remove Users
          user:
            name: '{{ item }}'
            state: absent
            remove: yes
          loop: "{{ user_names }}"
    

    【讨论】:

      【解决方案2】:

      您可能会按照以下步骤操作。 1. 创建 vars.yaml 文件并在其中添加用户列表

      ---
      
      user_name:
            - 'testuser1'
            - 'testuser2'
            - 'testuser3'
            - 'testuser4'
      
      1. 如下编写剧本。刚刚删除了其中的 var 部分。让我们将此剧本命名为“test_users.yaml”
        - hosts: dev
          become: true
          tasks:
          - name: Remove User
            user:
             name: '{{ username }}'
             state: absent
             remove: yes
      
      1. 使用以下命令运行 Playbook。

        $ ansible-playbook test_users.yaml -e @vars.yml

      【讨论】:

        猜你喜欢
        • 2016-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多