Spec-Zone.ru › Ansible 2.6

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

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Обзор

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

Параметры

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

псевдонимы: createhome
expires
(добавлен в 1.9)
Время действия пользователя в формате эпохи, оно будет проигнорировано на платформах, которые этого не поддерживают. В настоящее время поддерживается на GNU/Linux, FreeBSD и DragonFlyBSD.
С версии 2.6 вы можете удалить время действия, указав отрицательное значение. В настоящее время поддерживается на GNU/Linux и FreeBSD.
force
bool
    Варианты:
  • no ←
  • yes
Это влияет только на state=absent, оно принудительно удаляет пользователя и связанные каталоги на поддерживаемых платформах. Поведение аналогично userdel --force, см. страницу руководства по userdel на вашей системе для получения подробной информации и поддержки.
generate_ssh_key
bool
    Варианты:
  • no ←
  • yes
Создавать ли SSH-ключ для данного пользователя. Это не перезапишет существующий SSH-ключ.
group
Необязательно задаёт основную группу пользователя (принимает имя группы).
groups
Список групп, к которым будет добавлен пользователь. При установке пустой строки '', null, или ~, пользователь удаляется из всех групп, кроме основной. (~ означает null в YAML)
До версии 2.3 единственный допустимый формат ввода — строка, разделённая запятыми. Теперь этот параметр принимает как список, так и строку, разделённую запятыми.
hidden
bool

(добавлен в 2.6)
    Варианты:
  • no
  • yes
Только macOS, необязательно скрывает пользователя из окна входа в систему и системных настроек.
Значение по умолчанию будет «True», если используется параметр «system».
home
Необязательно задаёт домашний каталог пользователя.
local
bool

(добавлен в 2.4)
    Варианты:
  • no ←
  • yes
Принудительно использует альтернативные команды «local» на платформах, которые их реализуют. Это полезно в средах с централизованной аутентификацией, когда вы хотите управлять локальными пользователями. То есть, он использует `luseradd` вместо `useradd`.
Это требует, чтобы эти команды существовали на целевом хосте, иначе это будет ошибка.
login_class
Необязательно задаёт класс входа пользователя, функция большинства операционных систем BSD.
move_home
bool
    Варианты:
  • no ←
  • yes
Если установлено yes при использовании с home=, попытаться переместить старый домашний каталог пользователя в указанный каталог, если он там ещё не находится, и старый домашний каталог существует.
name
обязательно
Имя пользователя для создания, удаления или изменения.

псевдонимы: user
non_unique
bool
    Варианты:
  • no ←
  • yes
Необязательно, при использовании с опцией -u, эта опция позволяет изменить идентификатор пользователя на не уникальное значение.
password
Необязательно задаёт пароль пользователя этому зашифрованному значению.
В системах macOS это значение должно быть в открытом виде. Будьте внимательны к вопросам безопасности.
См. https://docs.ansible.com/ansible/faq.html#how-do-i-generate-crypted-passwords-for-the-user-module для получения подробной информации о различных способах создания этих значений паролей.
password_lock
bool

(добавлен в 2.6)
    Варианты:
  • no
  • yes
Заблокировать пароль (usermod -L, pw lock, usermod -C). НО реализация отличается на разных платформах, эта опция не всегда означает, что пользователь не может войти с помощью других методов. Эта опция не отключает пользователя, а только блокирует пароль. Не изменяйте пароль в одной и той же задаче. В настоящее время поддерживается на Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD.
remove
bool
    Варианты:
  • no ←
  • yes
Это влияет только на 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
    Варианты:
  • absent
  • present ←
Указывает, должна ли учётная запись существовать или нет, выполняя действия, если состояние отличается от указанного.
system
bool
    Варианты:
  • 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
bool
При состоянии 'present' и пользователе, который существует
Флаг добавления пользователя в группы

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

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

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

group
int
Когда пользователь существует
Идентификатор основной группы пользователя

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

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

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

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

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

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

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

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

Пример:
2048 SHA256:aYNHYcyVm87Igh0IMEDMbvW0QDlRQfE0aJugp684ko8 ansible-generated on host (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 on host'
stderr
строка
Когда stderr возвращается командой, которая выполняется
Стандартная ошибка, полученная при выполнении команд

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

system
bool
Когда system передано модулю и учетная запись не существует
Флаг того, является ли учетная запись системной

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

Пример:
1044


Статус

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

Техническое обслуживание

Этот модуль помечен как core, что означает, что он поддерживается Командой ядра Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.

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

Поддержка

Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/user_module.html

Spec-Zone.ru

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