adfinis-sygroup.users
用户
此角色设置客户和Adfinis用户账号。
要求
此角色假设系统上存在一个初始的非根用户,并且该用户具有sudo权限({{users_default_user}}
,请参见下面的角色变量)。
该用户用于初始用户账号的设置,然后会被删除。删除操作在此角色的最后一个任务中进行(所以第一次运行会正常,但如果重复运行,登录将失败)。
因此,在剧本(或系列剧本)中,建议以两种变体应用此角色:
第一次使用
remote_user: {{users_default_user}}
进行应用。之后,使用预期的用户(个人账号或允许的
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: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
:所有清理默认用户账号的任务。
支持政策
仅维护和支持最新版本(请参见标签页面)。
一旦发布新版本,前一个版本的分支将不再接收任何错误修复。