Spec-Zone.ru › Ansible 2.7

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
append
boolean
    Варианты:
  • нет ←
  • да
Если yes, добавить пользователя в группы, указанные в groups.
Если no, пользователь будет добавлен только в группы, указанные в groups, удаляя его из всех остальных групп.
comment
-
Необязательно устанавливает описание (также известное как GECOS) учетной записи пользователя.
create_home
boolean
    Варианты:
  • нет
  • да ←
Если не установлено значение no, домашний каталог будет создан для пользователя при создании учетной записи или если домашний каталог не существует.
Изменено с createhome на create_home в версии 2.5.

псевдонимы: createhome
expires
-
добавлен в 1.9
Время истечения срока действия учетной записи пользователя в формате эпохи, оно будет проигнорировано на платформах, которые не поддерживают это. В настоящее время поддерживается на GNU/Linux, FreeBSD и DragonFlyBSD.
Начиная с версии 2.6, можно удалить время истечения срока действия, задав отрицательное значение. В настоящее время поддерживается на GNU/Linux и FreeBSD.
force
boolean
    Варианты:
  • нет ←
  • да
Это влияет только на state=absent, оно принудительно удаляет пользователя и связанные каталоги на поддерживаемых платформах. Поведение такое же, как userdel --force, см. страницу руководства для userdel на вашей системе для получения подробной информации и поддержки.
generate_ssh_key
boolean
    Варианты:
  • нет ←
  • да
Создавать ли SSH-ключ для данного пользователя. Это не перезапишет существующий SSH-ключ.
group
-
Необязательно устанавливает основную группу пользователя (принимает имя группы).
groups
-
Список групп, к которым будет добавлен пользователь. При установке пустой строки '', null, или ~, пользователь удаляется из всех групп, кроме основной. (~ означает null в YAML)
До версии 2.3 единственным допустимым форматом ввода была строка, разделенная запятыми. Теперь этот параметр также принимает список и строку, разделенную запятыми.
hidden
boolean
добавлен в 2.6
    Варианты:
  • нет
  • да
Только macOS, необязательно скрывать пользователя из окна входа в систему и системных настроек.
Значение по умолчанию будет 'True', если используется опция system.
home
-
Необязательно устанавливает домашний каталог пользователя.
local
boolean
добавлен в 2.4
    Варианты:
  • нет ←
  • да
Принудительно использует альтернативы команды "local" на платформах, которые ее реализуют. Это полезно в средах с централизованной аутентификацией, когда нужно манипулировать локальными пользователями. То есть, он использует `luseradd` вместо `useradd`.
Это требует, чтобы эти команды существовали на целевом хосте, в противном случае это будет фатальная ошибка.
login_class
-
Необязательно устанавливает класс входа пользователя, функция большинства BSD ОС.
move_home
boolean
    Варианты:
  • нет ←
  • да
Если установлено значение yes при использовании с home=, попытаться переместить старый домашний каталог пользователя в указанную директорию, если она еще не существует, и старый домашний каталог существует.
name
- / обязательно
Имя пользователя для создания, удаления или изменения.

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

Примечания

Примечание

  • Существуют определенные требования к утилитам управления пользователями на каждой платформе. Однако, как правило, они предварительно установлены в системе, и Ansible потребует их наличия во время выполнения. Если их нет, будет показано описательное сообщение об ошибке.
  • Для платформ Windows используйте модуль win_user вместо этого.
  • На платформах 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 для удаления учетных записей.

Примеры

- 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 version 2.6, modify user, remove expiry time
  user:
    name: james18
    expires: -1

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

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

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

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

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

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

group
целое число
Когда пользователь существует
ID основной группы пользователя

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

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

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

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

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

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

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

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

Пример:
2048 SHA256:aYNHYcyVm87Igh0IMEDMbvW0QDlRQfE0aJugp684ko8 ansible-generated на хосте (RSA)
ssh_key_file
строка
Когда generate_ssh_key равно True
Путь к сгенерированному открытому ключу SSH

Пример:
/home/asmith/.ssh/id_rsa
ssh_public_key
строка
Когда generate_ssh_key равно True
Сгенерированный открытый ключ SSH

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

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

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

Пример:
True
uid
целое число
Когда UID передается в модуль
Идентификатор пользователя учетной записи

Пример:
1044


Статус

  • Гарантируется, что в этом модуле не будет несовместимых изменений интерфейса в будущем. [stableinterface]
  • Этот модуль поддерживается командой разработчиков Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • 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.7/modules/user_module.html

Spec-Zone.ru

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