Spec-Zone.ru › Ansible 2.9

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

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

Обзор

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

Параметры

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

псевдонимы: createhome
expires
вещественное число
Время истечения срока действия для пользователя в формате эпохи, будет проигнорировано на платформах, которые не поддерживают это.
В настоящее время поддерживается на 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
    Варианты:
  • нет ←
  • да
Генерировать ли SSH-ключ для указанного пользователя.
Это не перезапишет существующий SSH-ключ, если не используется с force=yes.
group
строка
Необязательно задает основную группу пользователя (принимает имя группы).
groups
список
Список групп, к которым будет добавлен пользователь. При установке пустой строки '', пользователь удаляется из всех групп, кроме основной.
До Ansible 2.3 единственный разрешенный формат ввода — строка, разделенная запятыми.
Взаимоисключающие с local
hidden
boolean
добавлен в 2.6
    Варианты:
  • нет
  • да
Только macOS, необязательно скрывать пользователя из окна входа в систему и системных настроек.
По умолчанию будет yes, если используется параметр system.
home
путь
Необязательно задаёт домашний каталог пользователя.
local
boolean
добавлен в 2.4
    Варианты:
  • нет ←
  • да
Принудительно использует альтернативы команды "local" на платформах, которые их поддерживают.
Это полезно в средах с централизованной аутентификацией, когда требуется манипулирование локальными пользователями (т. е., использует luseradd вместо useradd).
Это будет проверять /etc/passwd на предмет существования учетной записи перед вызовом команд. Если база данных локальных учетных записей находится в другом месте, кроме /etc/passwd, данная настройка не будет работать должным образом.
Для этого требуется, чтобы указанные выше команды, а также /etc/passwd существовали на целевом хосте, в противном случае это приведет к ошибке.
Взаимоисключающие с groups и append
login_class
строка
Необязательно задает класс входа пользователя, функция большинства BSD ОС.
move_home
boolean
    Варианты:
  • нет ←
  • да
Если установлено значение yes при использовании с home: , попытаться переместить старый домашний каталог пользователя в указанный каталог, если он там ещё не существует, и старый домашний каталог существует.
name
строка / обязательно
Имя пользователя для создания, удаления или изменения.

псевдонимы: user
non_unique
boolean
    Варианты:
  • нет ←
  • да
Необязательно, при использовании с опцией -u, эта опция позволяет изменить идентификатор пользователя на не уникальное значение.
password
строка
Необязательно задаёт пароль пользователя этому зашифрованному значению.
В системах 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
    Варианты:
  • нет
  • да
Заблокировать пароль (usermod -L, pw lock, usermod -C).
НО реализация отличается на разных платформах, эта опция не всегда означает, что пользователь не может войти в систему другими способами.
Эта опция не отключает пользователя, а только блокирует пароль. Не изменяйте пароль в одной и той же задаче.
В настоящее время поддерживается на Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD.
profile
строка
добавлен в 2.8
Устанавливает профиль пользователя.
Не имеет эффекта при использовании с другими платформами.
Можно установить несколько профилей, разделяя их запятыми.
Для удаления всех профилей используйте profile=''.
В настоящее время поддерживается на Illumos/Solaris.
remove
boolean
    Варианты:
  • нет ←
  • да
Это влияет только на state=absent, оно пытается удалить каталоги, связанные с пользователем.
Поведение такое же, как у userdel --remove, см. страницу справки для получения подробной информации и поддержки.
role
строка
добавлен в 2.8
Устанавливает роль пользователя.
Не имеет эффекта при использовании с другими платформами.
Можно установить несколько ролей, разделяя их запятыми.
Для удаления всех ролей используйте role=''.
В настоящее время поддерживается на Illumos/Solaris.
seuser
строка
Необязательно задаёт тип seuser (user_u) в системах с включённым selinux.
shell
строка
Необязательно задаёт оболочку пользователя.
В macOS до Ansible 2.5, по умолчанию оболочка для пользователей, не являющихся системными, была /usr/bin/false. Начиная с Ansible 2.5, по умолчанию оболочка для пользователей, не являющихся системными, в macOS — /bin/bash.
В других операционных системах оболочка определяется используемым инструментом. Подробности см. в разделе Примечания.
skeleton
строка
Необязательно задаёт каталог шаблона домашнего каталога.
Требуется опция create_home!
ssh_key_bits
целое число
Значение по умолчанию:
"значение по умолчанию, установленное ssh-keygen"
Необязательно укажите количество бит в SSH-ключе для создания.
ssh_key_comment
строка
Значение по умолчанию:
"сгенерировано ansible на $HOSTNAME"
Необязательно определите комментарий к SSH-ключу.
ssh_key_file
путь
Необязательно укажите имя файла SSH-ключа.
Если это имя файла относительно, то оно будет относительным к домашнему каталогу пользователя.
По умолчанию используется .ssh/id_rsa.
ssh_key_passphrase
строка
Установите пароль для SSH-ключа.
Если пароль не указан, SSH-ключ будет создан без пароля.
ssh_key_type
строка
Значение по умолчанию:
"rsa"
Необязательно укажите тип SSH-ключа для генерации.
Доступные типы SSH-ключей зависят от реализации на целевом хосте.
state
строка
    Варианты:
  • absent
  • present ←
Указывает, должен ли аккаунт существовать или нет, выполняя действия, если состояние отличается от указанного.
system
логическое значение
    Варианты:
  • no ←
  • yes
При создании учетной записи state=present, установка этого значения в yes делает пользователя системным пользователем.
Это значение не может быть изменено для существующих пользователей.
uid
целое число
Необязательно устанавливает UID пользователя.
update_password
строка
    Варианты:
  • always ←
  • on_create
always обновит пароли, если они отличаются.
on_create установит пароль только для вновь созданных пользователей.

Примечания

Примечание

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

См. также

См. также

authorized_key – Добавляет или удаляет SSH-ключ авторизации
Официальная документация модуля authorized_key.
group – Добавить или удалить группы
Официальная документация модуля group.
win_user – Управление локальными учетными записями 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
строка
Когда пользователь существует
Секция комментариев из файла 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 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
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.9/modules/user_module.html

Spec-Zone.ru

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