Ketika saya melakukan hal berikut di 1.9.1, itu memperlakukan setiap _individu_ kunci per pengguna sebagai eksklusif, bukan _grup_ kunci per pengguna sebagai eksklusif. Akibatnya, hanya kunci per pengguna yang ditentukan terakhir yang dapat digunakan.
- name: sync all users keys
authorized_key: user={{item.0.name}} key='{{item.1}}' state=present exclusive=yes
with_subelements:
- users
- keys
yang diharapkan, Anda menjalankan modul X beberapa kali, setiap kali dengan eksklusif (X == jumlah item).
Hai!
Terima kasih banyak atas kiriman Anda ke Ansible. Ini dengan tulus sangat berarti bagi kami.
Kami yakin tiket yang Anda ajukan agak disalahpahami, karena satu hal bekerja sedikit berbeda dari yang dinyatakan.
Di masa mendatang, ini mungkin topik yang lebih cocok untuk daftar pengguna, yang juga dapat Anda posting di sini jika Anda menginginkan bantuan lebih lanjut terkait hal di atas.
Terima kasih sekali lagi untuk ini dan minat Anda pada Ansible!
Saya telah memecahkan ini dengan langkah perantara. Seperti begitu
# Read each file and split by newline, allowing for multiple keys per file
- name: Assemble keys
set_fact:
key_item: "{{ lookup('file', role_path + '/files/' + item).split('\n') }}"
with_items:
- bob.pub
- fred.pub
- barney.pub
register: keys
# Select each key, joining it again and join all keys. Internally the ansible
# module will then split the string by newline and work at each one. This is
# the only way exclusive works with a list of keys.
- name: Distribute operations ssh-keys to root
authorized_key:
key : "{{ keys.results|selectattr('ansible_facts','defined')|map(attribute='ansible_facts.key_item')|map('join', '\n')|join('\n') }}"
manage_dir : yes
state : present
user : root
exclusive : yes
Komentar yang paling membantu
Saya telah memecahkan ini dengan langkah perantara. Seperti begitu