adfinis-sygroup.users

用户

此角色设置客户和Adfinis用户账号。

要求

此角色假设系统上存在一个初始的非根用户,并且该用户具有sudo权限({{users_default_user}},请参见下面的角色变量)。

该用户用于初始用户账号的设置,然后会被删除。删除操作在此角色的最后一个任务中进行(所以第一次运行会正常,但如果重复运行,登录将失败)。

因此,在剧本(或系列剧本)中,建议以两种变体应用此角色:

  1. 第一次使用 remote_user: {{users_default_user}} 进行应用。

  2. 之后,使用预期的用户(个人账号或允许的root用户)进行应用。

建议为初始设置保留一个剧本/播放,以及一个用于持续管理的剧本/播放。

角色依赖

(无)

角色变量

必填项

  • users_root_password_salt(字符串,默认:未设置):
    用于哈希根密码的盐值。
    注意:只有在设置了 users_root_password 并且 users_root_password_is_hashed 为假时才需要。

  • users_customer_group(字符串):
    所有客户用户账号添加到的系统组名称。
    注意:只有在 users_customer 不为空时才需要。

可选项

  • users_root_password(字符串,默认:未设置):
    如果未设置,则根密码不会被更改。
    如果设置了该值且 users_root_password_is_hashed 为假,则这是明文密码,且必须设置 users_root_password_salt
    如果设置了该值且 users_root_password_is_hashed 为真,则假设这是一个哈希密码(如通过 ansible.builtin.password_hash 生成的)。

  • users_root_password_is_hashed(布尔值,默认:false):
    如果设置为 true,那么 users_root_password 被假设为已经被哈希过(在这种情况下,不需要 users_root_password_salt)。

  • users_root_authorized_keys(列表,默认:[]):
    授权以 root 身份登录的SSH公钥。
    每个列表元素都是一个具有以下属性的对象:

    • key(字符串,必填):
      密钥数据本身。
    • comment(字符串,可选,默认:未设置):
      附加到密钥行的注释(通常是 user@host)。
    • description(字符串,可选,默认:未设置):
      以人类可读的方式放置在密钥行上方的 authorized_keys 文件中的描述。
    • options(字符串,可选,默认:未设置):
      附加到密钥行的密钥选项字符串。
  • users_adfinis(列表,默认:[]):
    要设置的Adfinis用户账号。每个用户将被添加到 {{users_adfinis_group}} 系统组中。相应地,在该组中每个未列出且不是系统用户的现有用户将被删除
    每个列表元素都是一个具有以下属性的对象:

    • username(字符串,必填):
      用户账号名。
    • authorized_keys(列表,默认:[]):
      授权以 root 身份登录的SSH公钥。
      每个列表元素都是一个具有在 users_root_authorized_keys 中描述的属性的对象。
  • users_adfinis_group(字符串,默认:adfinis):
    所有Adfinis用户账号添加到的系统组名称。

  • users_adfinis_ssh_pubkey_options(字符串,默认:未设置):
    要附加到所有密钥行的密钥选项字符串。

  • users_adfinis_homedir_mode(文件权限模式,默认:0700):
    每个Adfinis用户的主目录的文件权限模式。
    注意:由于Jinja2的历史问题,模式的八进制表示必须作为字符串传递(以确保不会被错误转换),或 这个Ansible选项 必须设置为真。

  • users_adfinis_unrestricted_sudo(布尔值,默认:true):
    是否给予Adfinis用户无限制的sudo权限。

  • users_adfinis_user_remove_home(布尔值,默认:false):
    删除未列出Adfinis账户时,是否也删除该用户的主目录。

  • users_customer(列表,默认:[]):
    要设置的客户用户账号。每个用户将被添加到 {{users_customer_group}} 系统组中。
    每个列表元素都是一个具有在 users_adfinis 中描述的属性的对象。

  • users_customer_homedir_mode(文件权限模式,默认:0755):
    每个客户用户主目录的文件权限模式。
    默认保持为世界可读,以便客户可以使用 sudo -u 以其他用户身份运行命令,并仍然能够在其主目录中传递文件。
    注意:由于Jinja2的历史问题,模式的八进制表示必须作为字符串传递(以确保不会被错误转换),或 这个Ansible选项 必须设置为真。

  • users_customer_unrestricted_sudo(布尔值,默认:false):
    是否给予客户用户无限制的sudo权限。

  • users_default_user(字符串,默认:adfinis):
    系统上初始存在的非根用户账号名,待删除。

  • users_default_user_remove_home(布尔值,默认:false):
    是否在删除初始存在的非根用户账号时,也删除其主目录。

角色标签

  • init:与 role::users:rootrole::users:adfinis 组合同义。
  • role::users:该角色中的所有任务。
  • role::users:root:所有设置根用户账号的任务。
  • role::users:adfinis:所有设置Adfinis用户账号的任务。
  • role::users:adfinis:create:所有设置Adfinis用户账号的任务(不进行删除)。
  • role::users:adfinis:delete:所有删除多余Adfinis用户账号的任务。
  • role::users:customer:所有设置客户用户账号的任务。
  • role::users:default:所有清理默认用户账号的任务。

支持政策

仅维护和支持最新版本(请参见标签页面)。

一旦发布新版本,前一个版本的分支将不再接收任何错误修复。

关于项目

Create and remove posix users and groups, add or remove ssh keys

安装
ansible-galaxy install adfinis-sygroup.users
许可证
Unknown
下载
3.5k
拥有者
Adfinis SyGroup was rebranded to Adfinis, follow the link below: