You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何启动Ansible Playbook时覆盖循环变量创建临时用户

解决Ansible命令行临时创建单个用户的问题

方案思路

通过判断命令行是否传入username变量,动态切换循环使用的用户列表:

  • 当命令行传入username时,用该值构建单个用户的列表
  • 未传入时,继续使用原users变量列表

修改后的Playbook

- name: creation des users
  become: yes
  become_method: sudo
  become_user: root
  user:
    name: "{{ item.username }}"
    shell: /bin/bash
    groups: admin
    append: yes
    state: present
    password: "{{ 'some_password' | password_hash('sha512') }}"
    update_password: on_create
  with_items: "{{ target_users }}"
  register: createaccount
  vars:
    target_users: "{{ [{'username': username}] if username is defined else users }}"

变量文件(vars/main.yml)保持不变

# vars file for linux_users_saas_create
users:
  - username: user1
  - username: user2
  - username: user3
  - username: user4

执行命令

创建临时用户user5时,运行:

ansible-playbook -i inventory -e "username=user5"

如果要继续批量创建原列表用户,直接运行常规命令即可:

ansible-playbook -i inventory

内容的提问来源于stack exchange,提问作者Kain Taozia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:46:01