Spec-Zone.ru › Ansible 2.11

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

Примечание

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

Новое в версии 0.2: of ansible.builtin

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

Описание

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

Параметры

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

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

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

См. также

См. также

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'
  ansible.builtin.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
  ansible.builtin.user:
    name: james
    shell: /bin/bash
    groups: admins,developers
    append: yes

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

- name: Create a 2048-bit SSH key for user jsmith in ~jsmith/.ssh/id_rsa
  ansible.builtin.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
  ansible.builtin.user:
    name: james18
    shell: /bin/zsh
    groups: developers
    expires: 1422403387

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

- name: Set maximum expiration date for password
  user:
    name: ram19
    password_expire_max: 10

- name: Set minimum expiration date for password
  user:
    name: pushkar15
    password_expire_min: 5

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
append
boolean
При state равно present и пользователи существуют
Указывает, добавлять ли пользователя в группы.

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

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

Пример:
True
force
boolean
Когда state равно 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
password_expire_max
integer
При пользователи существуют
Максимальное количество дней, в течение которых пароль действителен.

Пример:
20
password_expire_min
integer
При пользователи существуют
Минимальное количество дней между сменой пароля

Пример:
20
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/user_module.html

Spec-Zone.ru

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