adfinis.users
用户
此角色用于设置客户和 Adfinis 用户账户。
要求
此角色要求系统上必须有一个初始的非根用户,并且具有 sudo 权限({{users_default_user}},见下方 角色变量)。
该用户用于初始用户账户设置,设置完成后将被删除。 删除操作在此角色的最后一个任务中执行(因此首次运行会正常工作,但如果重复运行,将无法登录)。
在一个剧本(或一系列剧本)中,建议以两种变体应用此角色:
第一次运行时,使用
remote_user: {{users_default_user}}。之后,使用预定的用户(个人账户或如果允许则使用
root)。
建议为初始设置保留一个剧本/操作,并为持续管理保留另一个剧本/操作。
角色依赖
(无)
角色变量
必需
users_root_password_salt(字符串,默认值:未设置):
用于哈希根密码的盐。
注意:仅在设置users_root_password且users_root_password_is_hashed为 false 时需要。users_customer_group(字符串):
所有客户用户账户添加的系统组名称。
注意:仅在users_customer非空时需要。
可选
users_root_password(字符串,默认值:未设置):
如果未设置,则根密码不会更改。
如果设置并且users_root_password_is_hashed为 false,则该字段是明文密码,且必须同时设置users_root_password_salt。
如果设置并且users_root_password_is_hashed为 true,则假定这是一个哈希密码(由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 选项 为 true。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 选项 为 true。users_customer_unrestricted_sudo(布尔值,默认值:false):
是否给予客户用户无限制的sudo权限。users_default_user(字符串,默认值:adfinis):
系统上最初存在的非根用户账户名称,将被删除。users_default_user_remove_home(布尔值,默认值:false):
是否同时删除最初存在的非根用户账户的主目录。
角色标签
init:与role::users:root和role::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:清理默认用户账户的所有任务。
支持政策
只维护和支持最新版本(见 标签页面)。
一旦发布新版本,之前的版本分支将不再接受任何 bug 修复。
