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 轮盐生成。 请参阅 https://systemd.io/USER_RECORD/。 这对于 |
|
给定用户的密码提示。 |
|
用户在其中定义的“领域”。 |
|
用户的真实姓名(“人类”姓名)。 这也可以用于添加注释,以保持与 |
|
用于给定用户的终端登录的Shell二进制文件。 如果未指定,homed 默认使用 |
|
用于从其填充新主目录的骨架目录的绝对路径。 这仅在首次创建主目录时使用。 如果未指定,homed 默认使用 |
|
用逗号分隔的字符串,每个字符串列出一个被授权访问帐户的SSH公钥。 这些密钥应遵循与传统 |
|
对用户采取的操作。 选项
|
|
指示用户主目录的存储机制。 如果未指定存储类型,则`homed.conf(5)` 定义要使用的默认存储。 仅在首次创建用户时使用。 选项
|
|
用户首选的时区。 应为与 tzdata 兼容的位置字符串,例如 |
|
设置用户登录会话的umask。 值从 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全支持 |
可以在 |
|
支持: 不支持 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
注释
注意
此模块需要已弃用的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
返回值
常用返回值已在此处记录,以下是此模块独有的字段
键 |
描述 |
---|---|
从 返回:成功 示例: |