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 }}"

默认 shell

默认 shell 是 bash。您可以为所有用户覆盖此设置:

server_users_shell: "/bin/bash"

您还可以为特定用户指定一个 shell。这样会覆盖上述默认设置:

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。

作者信息

此角色由 socketwench 于 2017 年创建。

关于项目

Creates users and groups for Linux

安装
ansible-galaxy install socketwench.users-and-groups
许可证
gpl-3.0
下载
334
拥有者