我需要/ etc / ansible / hosts文件中所有服务器上的用户的更改外壳程序。 但是,用户位于某些服务器上,而不是全部服务器上,因此我需要在用户所在的服务器上更改外壳程序。 我创建了剧本,但是当我为用户运行shell时,它不变:
---
- hosts: new_servers
tasks:
- include_vars: users.yml
- name: Check that user exists
shell: "grep {{item.username}} /etc/passwd"
ignore_errors: yes
register: userexist
with_items: "{{ users }}"
- name: Block user
user:
name: "{{item.username}}"
shell: /bin/false
when: userexist == 0
with_items: "{{ users }}"