私は、既存のユーザーのパスワードをAnsibleで変更しようとしていますが、ユーザーが既に存在する場合に限ります。私は新しいユーザーを作りたくありません。良い方法はありますか?既存のユーザーのパスワードを変更するにはどうすればよいですか?
vars:
myusers:
- { name: 'user1', update_pass: 'passwd' }
- { name: 'user2', update_pass: 'passwd' }
- { name: 'user3', update_pass: 'passwd' }
tasks:
- name: check exist
shell: /usr/sbin/usermod {{ item.name }}
with_items: myusers
register: result
failed_when: result.rc not in [6,2]
changed_when: result.rc != 6
- name: change passwd
user: name={{ item.name }} password={{ item.update_pass }} update_password=always
when: result|changed
with_items: myusers
あなたが開始されたアプローチを使用することができます。 "change passwd"タスクの結果変数を繰り返し処理するだけで、shellコマンドの実行ごとにitemの値が入ります。また、プレイリストが終了しないように、「check exists」タスクに「ignore_results」を追加する必要があります。 – Petro026
@ Petro026コメントありがとうございます。今、私は、ローカルシェルコマンドを使用して、 "--extra-vars:@ userX.yml'と" for - loop - extra-vars "オプションを使用します。タスクの "ignore_results"、私は挿入行を理解していない.....申し訳ありません、それは初心者ですが、それはオンライン文書に表示されますか? – techu