Spec-Zone.ru › Ansible

Модуль community.general.homectl – Управление учетными записями пользователей с systemd-homed

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробной информации.

Чтобы использовать его в книге задач, укажите: community.general.homectl.

Добавлена в community.general 4.4.0

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Управляет домашним каталогом пользователя, управляемым systemd-homed.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • legacycrypt (на Python 3.13 или новее)

Параметры

Параметр

Комментарии

disksize

string

Предназначенное дисковое пространство домашнего каталога.

Значение, читаемое человеком, например 10G, 10M, или 10B.

email

string

Адрес электронной почты пользователя.

environment

aliases: setenv

string

Строка, разделенная запятыми, каждая из которых содержит переменную среды и ее значение, которое необходимо установить для сеанса входа пользователя в формате, совместимом с ``putenv()``.

Любая переменная среды, указанная здесь, автоматически устанавливается pam_systemd для всех сеансов входа пользователя.

gid

integer

Устанавливает gid пользователя.

При использовании uid homed требует, чтобы значение было одинаковым.

Используется только при первом создании пользователя.

homedir

path

Путь, используемый в качестве домашнего каталога для пользователя.

Это каталог, к которому подключен домашний каталог пользователя во время его входа в систему.

Это не место, где фактически хранятся данные пользователя, см. imagepath для этого.

Используется только при первом создании пользователя.

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

Предпочтительный язык/местоположение для пользователя.

Это должно быть в формате, совместимом с переменной среды LANG.

location

string

Произвольная строка местоположения, описывающая местоположение пользователя.

locked

boolean

Следует ли блокировать учетную запись пользователя или нет.

Варианты:

  • false
  • true

memberof

aliases: groups

string

Строка, разделенная запятыми, каждая из которых указывает на UNIX-группу, членом которой должен быть этот пользователь.

Группы, членом которых должен быть пользователь, должны быть указаны в виде списка, разделенного запятыми.

mountopts

string

Строка, разделенная запятыми, каждая из которых указывает параметры монтирования для домашнего каталога пользователя.

Допустимые параметры: nosuid, nodev или noexec.

По умолчанию Homed использует nodev и nosuid, а noexec отключен.

name

aliases: user, username

string / required

Имя пользователя для создания, удаления или обновления.

notafter

integer

Время с момента начала эпохи UNIX, после которого запись следует считать недействительной для целей входа в систему.

notbefore

integer

Время с момента начала эпохи UNIX, до которого запись следует считать недействительной для целей входа в систему.

password

string

Установить пароль пользователя на это значение.

Homed требует, чтобы это значение было в открытом тексте при создании пользователя и обновлении пользователя.

Модуль принимает пароль и генерирует хэш пароля в SHA-512 с 10000 раундами генерации соли с помощью crypt.

См. https://systemd.io/USER_RECORD/.

Это требуется для state=present. При обновлении существующего пользователя это проверяется по хранящемуся хэшу в homed.

passwordhint

string

Подсказка к паролю для данного пользователя.

realm

string

«Сфера», в которой определен пользователь.

realname

aliases: comment

string

Настоящее («человеческое») имя пользователя.

Это также можно использовать для добавления комментария для обеспечения совместимости с useradd.

resize

boolean

При использовании с disksize это приведет к попытке немедленного изменения размера домашнего каталога.

Варианты:

  • false ← (по умолчанию)
  • true

shell

string

Бинарный файл оболочки для входа в терминал данного пользователя.

Если не указано, homed по умолчанию использует /bin/bash.

skeleton

aliases: skel

path

Абсолютный путь к каталогу шаблонов для заполнения нового домашнего каталога.

Используется только при первом создании домашнего каталога.

Если не указано, homed по умолчанию использует /etc/skel.

sshkeys

string

Строка, разделенная запятыми, в которой перечислены открытые ключи SSH, авторизованные для доступа к учетной записи.

Ключи должны соответствовать формату строк в традиционном файле ~/.ssh/authorized_key.

state

string

Действие, которое нужно выполнить с пользователем.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

storage

string

Указывает механизм хранения домашнего каталога пользователя.

Если тип хранения не указан, ``homed.conf(5)`` определяет, какой хранилище по умолчанию использовать.

Используется только при первом создании пользователя.

Варианты:

  • "classic"
  • "luks"
  • "directory"
  • "subvolume"
  • "fscrypt"
  • "cifs"

timezone

string

Предпочтительная часовая зона для пользователя.

Должна быть строка расположения, совместимая с tzdata, например America/New_York.

uid

integer

Устанавливает UID пользователя.

При использовании gid homed требует, чтобы значение было одинаковым.

Используется только при первом создании пользователя.

umask

integer

Устанавливает umask для сеансов входа пользователя.

Значение от 0000 до 0777.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме проверки и возвращать прогноз состояния изменений без изменения целевого объекта.

diff_mode

Поддержка: отсутствует

Возвращает подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode), при использовании режима сравнения.

Примечания

Примечание

  • Этот модуль требует устаревшей библиотеки crypt Python module, которая была удалена из 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

Значения возврата

Общие значения возврата описаны в этой статье, следующие поля уникальны для данного модуля:

Ключ

Описание

data

dictionary

Словарь JSON, возвращаемый из homectl inspect -j.

Возвращаемое значение: успех

Пример: {"data": {"binding": {"e9ed2a5b0033427286b228e97c1e8343": {"fileSystemType": "btrfs", "fileSystemUuid": "7bd59491-2812-4642-a492-220c3f0c6c0b", "gid": 60268, "imagePath": "/home/james.home", "luksCipher": "aes", "luksCipherMode": "xts-plain64", "luksUuid": "7f05825a-2c38-47b4-90e1-f21540a35a81", "luksVolumeKeySize": 32, "partitionUuid": "5a906126-d3c8-4234-b230-8f6e9b427b2f", "storage": "luks", "uid": 60268}}, "diskSize": 3221225472, "disposition": "regular", "lastChangeUSec": 1641941238208691, "lastPasswordChangeUSec": 1641941238208691, "privileged": {"hashedPassword": ["$6$ov9AKni.trf76inT$tTtfSyHgbPTdUsG0CvSSQZXGqFGdHKQ9Pb6e0BTZhDmlgrL/vA5BxrXduBi8u/PCBiYUffGLIkGhApjKMK3bV."]}, "signature": [{"data": "o6zVFbymcmk4YTVaY6KPQK23YCp+VkXdGEeniZeV1pzIbFzoaZBvVLPkNKMoPAQbodY5BYfBtuy41prNL78qAg==", "key": "-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAbs7ELeiEYBxkUQhxZ+5NGyu6J7gTtZtZ5vmIw3jowcY= -----END PUBLIC KEY----- "}], "status": {"e9ed2a5b0033427286b228e97c1e8343": {"diskCeiling": 21845405696, "diskFloor": 268435456, "diskSize": 3221225472, "service": "io.systemd.Home", "signedLocally": true, "state": "inactive"}}, "userName": "james"}}

Авторы

  • James Livulpi (@jameslivulpi)

Ссылки на коллекции

  • Система отслеживания ошибок
  • Репозиторий (источники)
  • Задать вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/homectl_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API