Spec-Zone.ru › Ansible 2.10

ansible.builtin.user – Управление учетными записями пользователей

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев можно использовать короткое имя модуля user, даже не указывая collections: ключевое слово. Несмотря на это, рекомендуется использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Введено в версии 0.2: of ansible.builtin

  • Обзор
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Значения возврата

Обзор

  • Управление учетными записями пользователей и атрибутами пользователей.
  • Для целей Windows используйте модуль ansible.windows.win_user вместо него.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
append
boolean
    Варианты:
  • нет ←
  • да
Если yes, добавить пользователя в группы, указанные в groups.
Если no, пользователь будет добавлен только в группы, указанные в groups, удаляя его из всех остальных групп.
authorization
string
добавлен в 2.8 ansible.builtin
Устанавливает авторизацию пользователя.
Не имеет эффекта при использовании с другими платформами.
Можно задать несколько авторизаций через запятую.
Для удаления всех авторизаций используйте authorization=''.
В настоящее время поддерживается на Illumos/Solaris.
comment
string
Необязательно задает описание (также известное как GECOS) учетной записи пользователя.
create_home
boolean
    Варианты:
  • нет
  • да ←
Если не установлено значение no, домашний каталог будет создан для пользователя при создании учетной записи или если домашний каталог не существует.
Изменено с createhome на create_home в Ansible 2.5.

псевдонимы: createhome
expires
float
добавлен в 1.9 ansible.builtin
Время истечения срока действия для пользователя в эпохе, будет проигнорировано на платформах, которые не поддерживают это.
В настоящее время поддерживается на GNU/Linux, FreeBSD и DragonFlyBSD.
С Ansible 2.6 вы можете удалить время истечения, указав отрицательное значение. В настоящее время поддерживается на GNU/Linux и FreeBSD.
force
boolean
    Варианты:
  • нет ←
  • да
Это влияет только на state=absent, оно принудительно удаляет пользователя и связанные каталоги на поддерживаемых платформах.
Поведение такое же, как userdel --force, см. страницу руководства для userdel на вашей системе для получения подробной информации и поддержки.
При использовании с generate_ssh_key=yes, это принудительно перезаписывает существующий ключ.
generate_ssh_key
boolean
добавлен в 0.9 ansible.builtin
    Варианты:
  • нет ←
  • да
Создать ли SSH-ключ для данного пользователя.
Это не перезапишет существующий SSH-ключ, если не используется с force=yes.
group
string
Необязательно устанавливает основную группу пользователя (принимает имя группы).
groups
list / elements=string
Список групп, к которым будет добавлен пользователь. Если установлено пустая строка '', пользователь удаляется из всех групп, кроме основной группы.
До Ansible 2.3 единственный допустимый формат ввода — строка, разделенная запятыми.
hidden
boolean
добавлен в 2.6 ansible.builtin
    Варианты:
  • нет
  • да
Только macOS, необязательно скрывать пользователя из окна входа и системных настроек.
Значение по умолчанию будет yes, если используется параметр system.
home
path
Необязательно устанавливает домашний каталог пользователя.
local
boolean
добавлен в 2.4 ansible.builtin
    Варианты:
  • нет ←
  • да
Принудительно использует альтернативные команды «local» на платформах, которые их реализуют.
Это полезно в средах с централизованной аутентификацией, когда необходимо управлять локальными пользователями (т. е. используется luseradd вместо useradd).
Это будет проверять /etc/passwd на предмет существующей учетной записи перед вызовом команд. Если локальная база данных учетных записей находится в другом месте, отличном от /etc/passwd, эта настройка не будет работать должным образом.
Для этого требуется, чтобы указанные выше команды, а также /etc/passwd существовали на целевом узле, в противном случае произойдет ошибка.
login_class
string
Необязательно устанавливает класс входа пользователя, функция большинства операционных систем BSD.
move_home
boolean
    Варианты:
  • нет ←
  • да
Если установлено значение yes при использовании с home: , попытаться переместить старый домашний каталог пользователя в указанный каталог, если он там еще не находится, и старый домашний каталог существует.
name
string / обязательно
Имя пользователя для создания, удаления или изменения.

псевдонимы: user
non_unique
boolean
добавлен в 1.1 ansible.builtin
    Варианты:
  • нет ←
  • да
Необязательно, при использовании с опцией -u, эта опция позволяет изменить идентификатор пользователя на не уникальное значение.
password
string
Необязательно устанавливает пароль пользователя на это зашифрованное значение.
На системах macOS это значение должно быть открытым текстом. Будьте осторожны из-за проблем безопасности.
Для создания отключенной учетной записи на системах Linux установите это значение в '!' или '*'.
Для создания отключенной учетной записи на OpenBSD установите это значение в '*************'.
См. https://docs.ansible.com/ansible/faq.html#how-do-i-generate-encrypted-passwords-for-the-user-module для получения подробной информации о различных способах генерации этих значений пароля.
password_lock
boolean
добавлен в 2.6 ansible.builtin
    Варианты:
  • нет
  • да
Заблокировать пароль (usermod -L, usermod -U, pw lock).
Реализация зависит от платформы. Эта опция не всегда означает, что пользователь не может войти с помощью других методов.
Эта опция не отключает пользователя, а только блокирует пароль.
Это значение должно быть установлено в False для разблокировки в настоящее время заблокированного пароля. Отсутствие этого параметра не разблокирует пароль.
В настоящее время поддерживается на Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD.
profile
string
добавлен в 2.8 ansible.builtin
Устанавливает профиль пользователя.
Не имеет эффекта при использовании с другими платформами.
Можно задать несколько профилей через запятую.
Для удаления всех профилей используйте profile=''.
В настоящее время поддерживается на Illumos/Solaris.
remove
boolean
    Варианты:
  • нет ←
  • да
Это влияет только на state=absent, оно пытается удалить каталоги, связанные с пользователем.
Поведение такое же, как userdel --remove, см. страницу руководства для получения подробной информации и поддержки.
role
string
добавлен в 2.8 ansible.builtin
Устанавливает роль пользователя.
Не имеет эффекта при использовании с другими платформами.
Можно задать несколько ролей через запятую.
Для удаления всех ролей используйте role=''.
В настоящее время поддерживается на Illumos/Solaris.
seuser
string
добавлен в 2.1 ansible.builtin
Необязательно устанавливает тип seuser (user_u) на системах с включенным selinux.
shell
string
Необязательно устанавливает оболочку пользователя.
В macOS до Ansible 2.5 значение по умолчанию для пользователей, не являющихся системными, было /usr/bin/false. Начиная с Ansible 2.5, значение по умолчанию для пользователей, не являющихся системными, в macOS равно /bin/bash.
В других операционных системах значение по умолчанию определяется используемым инструментом. Подробности см. в примечаниях.
skeleton
string
добавлен в 2.0 ansible.builtin
Необязательно задает домашний каталог шаблона.
Требуется опция create_home!
ssh_key_bits
integer
добавлен в 0.9 ansible.builtin
Значение по умолчанию:
"значение по умолчанию, установленное ssh-keygen"
Необязательно задать количество бит в SSH-ключе для создания.
ssh_key_comment
string
добавлен в 0.9 ansible.builtin
Значение по умолчанию:
"сгенерировано ansible на $HOSTNAME"
Необязательно задать комментарий к SSH-ключу.
ssh_key_file
path
добавлен в 0.9 ansible.builtin
Необязательно задать имя файла SSH-ключа.
Если это относительное имя файла, оно будет относиться к домашнему каталогу пользователя.
По умолчанию используется .ssh/id_rsa.
ssh_key_passphrase
string
добавлен в 0.9 ansible.builtin
Установить пароль для SSH-ключа.
Если пароль не задан, SSH-ключу по умолчанию не будет задан пароль.
ssh_key_type
string
добавлен в 0.9 ansible.builtin
Значение по умолчанию:
"rsa"
Необязательно задать тип SSH-ключа для создания.
Доступные типы SSH-ключей будут зависеть от реализации на целевом узле.
state
string
    Варианты:
  • absent
  • present ←
Указывает, должна ли учетная запись существовать или нет, выполняя действия, если состояние отличается от указанного.
system
boolean
    Choices:
  • нет ←
  • да
При создании учетной записи state=present, установка этого значения в yes делает пользователя системным.
Это значение нельзя изменить для существующих пользователей.
uid
integer
Необязательно задаёт UID пользователя.
update_password
string
добавлен в 1.3 ansible.builtin
    Choices:
  • всегда ←
  • при_создании
always обновит пароли, если они отличаются.
on_create установит пароль только для вновь созданных пользователей.

Примечания

Примечание

  • Существуют определенные требования к утилитам управления пользователями на каждой платформе. Однако они обычно предварительно установлены в системе, и Ansible потребует их наличия во время выполнения. Если их нет, будет показано сообщение об ошибке с описанием.
  • В системах SunOS shadow-файл автоматически резервируется, так как этот модуль редактирует его напрямую. На других платформах shadow-файл резервируется используемыми этим модулем подлежащими инструментами.
  • В macOS этот модуль использует dscl для создания, изменения и удаления учетных записей. dseditgroup используется для изменения групповой принадлежности. Учетные записи скрываются из окна входа путём изменения /Library/Preferences/com.apple.loginwindow.plist.
  • В FreeBSD этот модуль использует pw useradd и chpass для создания, pw usermod и chpass для изменения, pw userdel для удаления, pw lock для блокировки и pw unlock для разблокировки учетных записей.
  • На всех остальных платформах этот модуль использует useradd для создания, usermod для изменения и userdel для удаления учетных записей.

См. также

См. также

ansible.posix.authorized_key

Официальная документация модуля ansible.posix.authorized_key.

ansible.builtin.group

Официальная документация модуля ansible.builtin.group.

ansible.windows.win_user

Официальная документация модуля ansible.windows.win_user.

Примеры

- name: Add the user 'johnd' with a specific uid and a primary group of 'admin'
  user:
    name: johnd
    comment: John Doe
    uid: 1040
    group: admin

- name: Add the user 'james' with a bash shell, appending the group 'admins' and 'developers' to the user's groups
  user:
    name: james
    shell: /bin/bash
    groups: admins,developers
    append: yes

- name: Remove the user 'johnd'
  user:
    name: johnd
    state: absent
    remove: yes

- name: Create a 2048-bit SSH key for user jsmith in ~jsmith/.ssh/id_rsa
  user:
    name: jsmith
    generate_ssh_key: yes
    ssh_key_bits: 2048
    ssh_key_file: .ssh/id_rsa

- name: Added a consultant whose account you want to expire
  user:
    name: james18
    shell: /bin/zsh
    groups: developers
    expires: 1422403387

- name: Starting at Ansible 2.6, modify user, remove expiry time
  user:
    name: james18
    expires: -1

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

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

Ключ Возвращаемое значение Описание
append
boolean
При состоянии 'present' и существовании пользователя
Добавлять ли пользователя в группы

Пример:
True
comment
string
При существовании пользователя
Раздел комментариев из файла passwd, обычно имя пользователя

Пример:
Agent Smith
create_home
boolean
При несуществовании пользователя и не в режиме проверки
Создавать ли домашний каталог

Пример:
True
force
boolean
При состоянии 'absent' и существовании пользователя
Была ли учетная запись пользователя удалена принудительно

group
integer
При существовании пользователя
ID основной группы пользователя

Пример:
1001
groups
string
Если groups не пусто и state равно 'present'
Список групп, членами которых является пользователь

Пример:
chrony,apache
home
string
Если state равно 'present'
Путь к домашнему каталогу пользователя

Пример:
/home/asmith
move_home
boolean
Если state равно 'present' и пользователь существует
Перемещать ли существующий домашний каталог

name
string
всегда
Имя учетной записи пользователя

Пример:
asmith
password
string
Если state равно 'present' и password не пусто
Замаскированное значение пароля

Пример:
NOT_LOGGING_PASSWORD
remove
boolean
Если state равно 'absent' и пользователь существует
Удалить ли учетную запись пользователя

Пример:
True
shell
string
Если state равно 'present'
Оболочка входа пользователя

Пример:
/bin/bash
ssh_fingerprint
string
Если generate_ssh_key равно True
Отпечаток сгенерированного ключа SSH

Пример:
2048 SHA256:aYNHYcyVm87Igh0IMEDMbvW0QDlRQfE0aJugp684ko8 ansible-generated on host (RSA)
ssh_key_file
string
Если generate_ssh_key равно True
Путь к файлу сгенерированного приватного ключа SSH

Пример:
/home/asmith/.ssh/id_rsa
ssh_public_key
string
Если generate_ssh_key равно True
Файл сгенерированного публичного ключа SSH

Пример:
'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC95opt4SPEC06tOYsJQJIuN23BbLMGmYo8ysVZQc4h2DZE9ugbjWWGS1/pweUGjVstgzMkBEeBCByaEf/RJKNecKRPeGd2Bw9DCj/bn5Z6rGfNENKBmo 618mUJBvdlEgea96QGjOwSB7/gmonduC7gsWDMNcOdSE3wJMTim4lddiBx4RgC9yXsJ6Tkz9BHD73MXPpT5ETnse+A3fw3IGVSjaueVnlUyUmOBf7fzmZbhlFVXf2Zi2rFTXqvbdGHKkzpw1U8eB8xFPP7y d5u1u0e6Acju/8aZ/l17IDFiLke5IzlqIMRTEbDwLNeO84YQKWTm9fODHzhYe0yvxqLiK07 ansible-generated on host'
stderr
string
При возврате stderr командой
Стандартная ошибка, возвращённая запущенными командами

Пример:
Группа wheels не существует
stdout
string
При возвращении стандартного вывода командой
Стандартный вывод, возвращённый запущенными командами

system
boolean
Если system передаётся модулю и учетная запись не существует
Является ли учетная запись системной

Пример:
True
uid
integer
Если UID передаётся модулю
Идентификатор пользователя учетной записи

Пример:
1044


Авторы

  • Stephen Fromm (@sfromm)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/user_module.html

Spec-Zone.ru

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