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 |
| При создании учетной записи state=present, установка этого значения в yes делает пользователя системным. Это значение нельзя изменить для существующих пользователей. |
| uid - | Необязательно задает UID пользователя. | |
| update_password - добавлено в 1.3 |
| 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