ansibleでcommand モジュールを使ってコマンドを実行する時は気を付けましょう
普通にcommandを使って、ユーザのパスワードを変更しようと思ったところ、
なぜか上手くいかない。
"changed" と返ってくるんだけど、かわってない。という現象に遭遇。
- name: change {{user_name}} password # set password for ftp access command: echo "{{user_password}}" | passwd --stdin "{{user_name}}"
色々悩んだあげく、
公式サイトで下記のような記述を発見。
commandモジュールはシェルを通して実行されないので、パイプやリダイレクトをコマンドで使う場合はshell モジュールを使ってね
これかぁぁぁ!
というわけで、シンプルにコマンドする場合は、shellをつかっとけってことでした。
- name: change {{user_name}} password # set password for ftp access shell: echo "{{user_password}}" | passwd --stdin "{{user_name}}"