webofmars.users

构建状态

ansible-users

用于管理系统用户的角色。

角色配置

  • users_create_per_user_group(默认值:true)- 创建用户时,同时创建一个与用户名相同的组,并将其设为用户的主组。
  • users_group(默认值:users)- 如果没有设置 users_create_per_user_group,则这是所有创建用户的主组。
  • users_default_shell(默认值:/bin/bash)- 如果没有为用户指定默认为的 shell,则使用此值。
  • users_create_homedirs(默认值:true)- 为新用户创建主目录。如果您单独管理主目录,则将其设为 false。

创建用户

添加一个包含要添加的用户列表的 users 变量。可以将其放在 group_vars/allgroup_vars/groupname 中,如果您只想让用户存在于某些机器上。

每个用户必需的属性:

  • username - 用户的用户名。
  • name - 用户的全名(gecos 字段)
  • home - 要创建的用户主目录(可选,默认为 /home/username)
  • uid - 用户的数字 ID。为了在系统间保持 UID 一致性,这是必需的。
  • gid - 组的数字 ID(可选)。否则,将使用 uid。
  • password - 如果提供了哈希值,则会使用该值,否则账户将被锁定。
  • update_password - 可以是 'always' 或 'on_create'
    • 'always' 将在密码不同的情况下更新密码。(默认)
    • 'on_create' 仅为新创建的用户设置密码。
  • group - 可选的主组覆盖
  • groups - 用户的附加组列表。
  • profile - 用于设置自定义 shell 配置的字符串块。
  • ssh_authorized_keys - 这应是用户的 ssh 密钥列表。每个 ssh 密钥应直接包含,且不应有换行。

此外,以下项目对于每个用户是可选的:

  • generate_ssh_key - 是否为用户生成 SSH 密钥(可选,默认值为否)。
  • ssh_priv_key - 用户的 ssh 私钥(RSA 格式)
  • shell - 用户的 shell。默认值为 /bin/bash。如果您希望所有用户使用相同的 shell,可以使用 users_default_shell 变量配置默认值,但它会与 /bin/bash 不同。

示例:

---
users:
  - username: foo
    name: Foo Barrington
    groups: ['wheel','systemd-journal']
    uid: 1001
    home: /local/home/foo
    profile: |
      alias ll='ls -lah'
    ssh_authorized_keys:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
    ssh_priv_key: |
      -----BEGIN RSA PRIVATE KEY-----
      密钥内容 <...>
      -----END RSA PRIVATE KEY-----
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar User
    uid: 1002

删除用户

users_deleted 变量包含一列表,指示系统中不再需要的用户,这些用户将在下次 ansible 运行时被移除。格式与要添加的用户相同,但唯一必需的字段是 username。不过,建议您保留 uid 字段,以便参考,以防数字用户 ID 被意外重用。

关于项目

provision users and groups on linux servers

安装
ansible-galaxy install webofmars.users
许可证
mit
下载
298
拥有者
webofmars is a devops & IT company based in Marseille, France