Модуль community.general.homectl — управление учётными записями пользователей с помощью systemd-homed
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля могут потребоваться дополнительные зависимости; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.homectl.
Добавлено в community.general 4.4.0
Краткое описание
- Управляет домашним каталогом пользователя, управляемым systemd-homed.
Требования
Следующие требования необходимы на узле, выполняющем этот модуль.
- passlib (библиотека Python, рекомендуется) или legacycrypt в Python 3.13 и новее
- В Python 3.12 и более ранних версиях зависимости не требуются, но в этом случае используется устаревший модуль стандартной библиотеки
crypt.
Параметры
Параметр | Комментарии |
|---|---|
disksize string | Предполагаемый объём дискового пространства домашнего каталога. Удобочитаемое значение, например |
string | Адрес электронной почты пользователя. |
environment псевдонимы: setenv string | Строка со значениями переменных среды, разделёнными запятыми. Каждая переменная и её значение задаются для сеанса входа пользователя в формате, совместимом с Любая указанная здесь переменная среды автоматически задаётся pam_systemd для всех сеансов входа пользователя. |
gid integer | Задаёт gid пользователя. При использовании Используется только при первом создании пользователя. |
homedir path | Путь, используемый в качестве домашнего каталога пользователя. Это каталог, куда монтируется домашний каталог пользователя, когда он входит в систему. Здесь не хранятся данные пользователя; см. Используется только при первом создании пользователя. |
iconname string | Имя значка, выбранного пользователем, например для аватара. Имя должно соответствовать семантике, определённой в спецификации именования значков. Подробности см. на странице https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html. |
imagepath path | Путь для размещения домашнего каталога пользователя. Дополнительные сведения см. на странице https://www.freedesktop.org/software/systemd/man/homectl.html#--image-path=PATH. Используется только при первом создании пользователя. |
language string | Предпочитаемый язык/локаль пользователя. Значение должно быть в формате, совместимом с переменной среды |
location string | Произвольная строка с описанием местоположения пользователя. |
locked boolean | Определяет, следует ли заблокировать учётную запись пользователя. Варианты:
|
memberof псевдонимы: groups string | Строка со списком групп UNIX, разделённых запятыми, в которые должен входить пользователь. Группы, в которые должен входить пользователь, следует указать в виде списка, разделённого запятыми. |
mountopts string | Строка с параметрами монтирования домашнего каталога пользователя, разделёнными запятыми. Допустимые параметры: По умолчанию homed использует |
name псевдонимы: user, username string / обязательный | Имя пользователя, которого нужно создать, удалить или обновить. |
notafter integer | Время в секундах с начала эпохи UNIX, после которого запись следует считать недействительной для входа в систему. |
notbefore integer | Время в секундах с начала эпохи UNIX, до которого запись следует считать недействительной для входа в систему. |
password string | Задаёт пароль пользователя. При создании пользователя и его обновлении homed требует, чтобы это значение было указано в открытом виде. Модуль принимает пароль и создаёт его хеш SHA-512 с 10000 раундами генерации соли с помощью crypt. См. https://systemd.io/USER_RECORD/. Обязателен для |
passwordhint string | Подсказка для пароля указанного пользователя. |
realm string | «Область» (realm), в которой определён пользователь. |
realname псевдонимы: comment string | Настоящее («человеческое») имя пользователя. Это значение также можно использовать для добавления комментария, чтобы сохранить совместимость с |
resize boolean | При использовании с Варианты:
|
shell string | Исполняемый файл оболочки для входа пользователя в систему через терминал. Если значение не указано, homed по умолчанию использует |
skeleton псевдонимы: skel path | Абсолютный путь к каталогу-шаблону, содержимое которого копируется в новый домашний каталог. Используется только при первом создании домашнего каталога. Если значение не указано, homed по умолчанию использует |
sshkeys string | Строка со списком открытых ключей SSH, которым разрешён доступ к учётной записи; ключи разделяются запятыми. Ключи должны соответствовать формату строк в традиционном файле |
state string | Операция, которую необходимо выполнить с пользователем. Варианты:
|
storage string | Определяет механизм хранения домашнего каталога пользователя. Если тип хранилища не указан, Используется только при первом создании пользователя. Варианты:
|
timezone string | Предпочитаемый часовой пояс пользователя. Строка местоположения должна быть совместима с tzdata, например |
uid integer | Задаёт UID пользователя. При использовании Используется только при первом создании пользователя. |
umask integer | Задаёт umask для сеансов входа пользователя. Значение от |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: full | Модуль может работать в режиме |
diff_mode | Поддержка: none | В режиме diff возвращает сведения об изменениях (или возможных изменениях в |
Примечания
Примечание
- При наличии этот модуль использует passlib для хеширования паролей, а в противном случае — модуль Python
cryptили 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
data dictionary | Словарь, возвращаемый Возвращается: success Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/homectl_module.html