ab’s blog

インフラの呟きです。

Ansibleでユーザパスワードの有効期限を設定(shellモジュール編)

hahahahahaha

目次

はじめに

ansibleからchageコマンドを打たせてユーザパスワードの有効期限を設定します。EPEL版のAnsibleが入った状態での説明になります。

プレイブック作成

作成例として「testuser」というユーザのパスワード有効期限を設定するプレイブックを作ります。「chage」を実行するためにはroot権限への昇格が必須なので「become:」入れときます。

#user_password_limit.yml
---
- hosts: all
  become: yes

  tasks:
    - name: パスワード有効期限90日
      shell: "chage -M 90  {{ username }}"

    - name: パスワード有効期限 結果表示
      shell: "chage -l {{ username }}"
      register: result
  
    - debug:
        msg: "{{ result }}"

プレイブック実行

例として自ホスト(localhost)向けにプレイブックを実行します。

$ ansible-playbook -i localhost, user_password_limit.yml -e username=testuser --ask-become-pass

実行後、/etc/shadowを見るか$ cat /etc/shadowchageコマンド$ chage -l testuserでパスワードの有効期限が変更されたことをチェックしておきます。

以上