community.general.homectl 模块 – 使用 systemd-homed 管理用户账户
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.homectl
。
community.general 4.4.0 中的新增功能
概要
管理由 systemd-homed 管理的用户的主目录。
要求
在执行此模块的主机上需要以下要求。
legacycrypt(在 Python 3.13 或更新版本上)
参数
参数 |
注释 |
---|---|
预期主目录磁盘空间。 人类可读的值,例如 |
|
用户的电子邮件地址。 |
|
以逗号分隔的字符串,每个字符串都包含一个环境变量及其值,以 ``putenv()`` 兼容的格式为用户的登录会话设置。 此处列出的任何环境变量都由 pam_systemd 为用户的所有登录会话自动设置。 |
|
用户选择的图标名称,例如用于头像。 应遵循图标命名规范中定义的语义。 有关详细信息,请参阅 https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html。 |
|
放置用户主目录的路径。 有关详细信息,请参阅 https://www.freedesktop.org/software/systemd/man/homectl.html#–image-path=PATH。 仅在首次创建用户时使用。 |
|
用户的首选语言/区域设置。 这应采用与 |
|
描述用户位置的自由格式位置字符串。 |
|
是否应锁定用户帐户。 选项
|
|
以逗号分隔的字符串,每个字符串都指示此用户应成为成员的 UNIX 组。 用户应成为成员的组应以逗号分隔的列表形式提供。 |
|
以逗号分隔的字符串,每个字符串都指示用户主目录的挂载选项。 有效选项为 默认情况下,Homed 使用 |
|
要创建、删除或更新的用户名。 |
|
自 UNIX 纪元以来的时间,在此时间之后,该记录应被视为无效,无法用于登录。 |
|
自 UNIX 纪元以来的时间,在此时间之前,该记录应被视为无效,无法用于登录。 |
|
将用户的密码设置为此值。 Homed 要求此值在用户创建和更新用户时为明文。 该模块获取密码,并使用 crypt 生成 SHA-512 的密码哈希,并进行 10000 轮 salt 生成。 请参阅 https://systemd.io/USER_RECORD/。 这是 |
|
给定用户的密码提示。 |
|
用户定义的“领域”。 |
|
用户的真实(“人类”)姓名。 这也可以用于添加注释,以保持与 |
|
用于给定用户的终端登录的 Shell 二进制文件。 如果未指定,默认情况下,homed 使用 |
|
用于填充新主目录的骨架目录的绝对路径。 仅在首次创建主目录时使用。 如果未指定,默认情况下,homed 使用 |
|
以逗号分隔的字符串,其中每个字符串列出一个被授权访问该帐户的 SSH 公钥。 这些密钥应遵循传统 |
|
要对用户执行的操作。 选项
|
|
指示用户主目录的存储机制。 如果未指定存储类型,``homed.conf(5)`` 将定义要使用的默认存储。 仅在首次创建用户时使用。 选项
|
|
用户首选的时区。 应该是一个与 tzdata 兼容的位置字符串,例如 |
|
设置用户登录会话的 umask。 值从 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
可以在 |
|
支持: 无 |
当处于 diff 模式时,将返回有关已更改的内容(或可能需要在 |
说明
注意
此模块需要已弃用的 crypt Python 模块库,该库已从 Python 3.13 中删除。对于 Python 3.13 或更高版本,您需要安装 legacycrypt。
示例
- name: Add the user 'james'
community.general.homectl:
name: johnd
password: myreallysecurepassword1!
state: present
- name: Add the user 'alice' with a zsh shell, uid of 1000, and gid of 2000
community.general.homectl:
name: alice
password: myreallysecurepassword1!
state: present
shell: /bin/zsh
uid: 1000
gid: 1000
- name: Modify an existing user 'frank' to have 10G of diskspace and resize usage now
community.general.homectl:
name: frank
password: myreallysecurepassword1!
state: present
disksize: 10G
resize: true
- name: Remove an existing user 'janet'
community.general.homectl:
name: janet
state: absent
返回值
常见的返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
从 返回: 成功 示例: |