Spec-Zone.ru › Ansible 2.8

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
float
Время истечения срока действия для пользователя в формате эпохи, оно будет проигнорировано на платформах, которые не поддерживают это.
В настоящее время поддерживается на 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
строка
добавлен в 2.1
Необязательно устанавливает тип seuser (user_u) в системах с включённым selinux.
shell
строка
Необязательно устанавливает оболочку пользователя.
В macOS, до Ansible 2.5, стандартной оболочкой для пользователей, не являющихся системными, была /usr/bin/false. С Ansible 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-ключа.
Если это имя файла относительно, оно будет относиться к домашнему каталогу пользователя.
По умолчанию параметр устанавливается на .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
целое число
При существовании пользователя
Идентификатор основной группы пользователя

Пример:
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.8/modules/user_module.html

Spec-Zone.ru

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