socketwench.users-and-groups

Ansibleロール: ユーザーとグループ

Debian/Ubuntu Linux用のユーザーとグループを作成します。

要件

特になし。

ロール変数

使用可能な変数は、デフォルト値とともに以下に示されています(defaults/main.ymlを参照)。

デフォルトの設定でユーザーを作成し、プライマリーグループがそのユーザー名と同じである場合:

server_users:
  - name: "ash"
    password: "imnotarobot"

グループ

別のグループ変数はありません。グループはserver_users変数の一部です。

プライマリーグループ名と代替グループを指定するには:

server_users:
  - name: "ash"
    password: "imnotarobot"
    group: "primarygroupname"
    groups:
      - "anothergroup"
      - "more-groups-here"

SSHキー

デフォルトでは、このロールで作成されるすべてのユーザーに新しいSSHキーが生成されます:

server_users_ssh_key_generate: yes
server_users_ssh_key_bits: "4096"

これをユーザーごとにオーバーライドすることもできます:

server_users:
  - name: "ash"
    password: "imnotarobot"
    ssh_key_generate: yes
    ssh_key_bits: "4096"

SSH認証キー

時々、ユーザーがパスワードの代わりに公開鍵を使ってログインできるように、認証キーを設定したいことがあります。すべてのユーザーに対してそれを設定するには:

server_users_auth_keys: "{{ contents_of_ssh_authorized_keys }}"

変数の内容は、~/.ssh/authorized_keysファイルと同じです。

これもユーザーごとにオーバーライドできます:

server_users:
  - name: "ash"
    password: "imnotarobot"
    auth_keys: "{{ contents_of_ssh_authorized_keys }}"

デフォルトシェル

デフォルトのシェルはbashです。すべてのユーザーに対してこれをオーバーライドすることができます:

server_users_shell: "/bin/bash"

特定のユーザーに対してシェルを指定することもできます。これは上記のデフォルトをオーバーライドします:

server_users:
  - name: "ash"
    password: "imnotarobot"
    shell: "/bin/zsh"

デフォルトでは、ロールはセキュリティ上の理由からタスクアクションをログに記録しません。ログ記録を有効にするには:

server_users_no_log: true

Ansible設定

このロールは各ユーザーのホームディレクトリに.ansible.cfgファイルを配布します。これにより、デフォルトのrole_pathとno_cows設定をオーバーライドできます:

server_users_ansible_role_path:  "~/.ansible/roles"
server_users_ansible_nocows: 1
server_users_ansible_log: false
server_users_ansible_log_path: '~/ansible.log'

これもユーザーごとにできます:

server_users:
  - name: "ash"
    password: "imnotarobot"
    ansible_role_path: "/etc/ansible/roles"
    ansible_nocows: 0
    ansible_log: true
    ansible_log_path: "/home/ash/logs/ansible.log"

ユーザーの削除

state変数を使ってユーザーを削除することもできます:

server_users:
  - name: "ash"
    state: absent

ホームディレクトリも削除したい場合は、removeを使います:

server_users:
  - name: "ash"
    state: absent
    remove: yes

依存関係

特になし。

例プレイブック

server_users:
  - name: "ash"
    password: "imnotarobot"
    group: "wy"
    groups:
      - "scidiv"
  - name: "kane"
    password: "ihateeggs"
    shell: "/bin/ksh"
    ssh_key_generate: no

ライセンス

GPL 3.0。

作成者情報

このロールは2017年に socketwench によって作成されました。

プロジェクトについて

Creates users and groups for Linux

インストール
ansible-galaxy install socketwench.users-and-groups
ライセンス
gpl-3.0
ダウンロード
334
所有者