Модуль cisco.ios.ios_user — модуль для управления группами локальных пользователей.
Примечание
Этот модуль входит в коллекцию cisco.ios (версия 11.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.ios.
Чтобы использовать коллекцию в плейбуке, укажите: cisco.ios.ios_user.
Добавлено в cisco.ios 1.0.0
Краткое описание
- Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет плейбукам управлять отдельными именами пользователей или их группой в текущей активной конфигурации. Также поддерживается удаление из конфигурации имен пользователей, которые не были указаны явно.
Примечание
Для этого модуля имеется соответствующий плагин действий.
Псевдонимы: user
Параметры
Параметр | Комментарии |
|---|---|
aggregate псевдонимы: users, collection list / элементы=dictionary | Набор объектов имен пользователей для настройки на удаленном устройстве Cisco IOS. Элементы списка могут быть как именами пользователей, так и хешами с именем пользователя и его свойствами. Этот аргумент взаимоисключающий с аргументом |
|
configured_password string |
Пароль для настройки на устройстве Cisco IOS. Пароль необходимо указать в открытом виде; на устройстве он будет зашифрован. Обратите внимание, что этот параметр отличается от |
|
hashed_password dictionary |
Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS. |
|
type integer / обязательный |
Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.) Для работы этой функции устройство должно поддерживать требуемый тип хеша |
|
value string / обязательный |
Фактическое значение хешированного пароля для настройки на устройстве |
|
name string / обязательный |
Имя пользователя для настройки на устройстве Cisco IOS. Этот аргумент принимает строковое значение и является взаимоисключающим с аргументом |
|
nopassword boolean |
Определяет имя пользователя без назначения пароля. Это позволит пользователю входить в систему без проверки паролем. Допустимые значения:
|
|
password_type string |
Этот аргумент определяет, будет ли настроен параметр ‘password’ или ‘secret’. Допустимые значения:
|
|
privilege integer |
Аргумент |
|
purge_keys boolean |
Поскольку на устройствах cisco.ios для каждого пользователя допускается не более двух ключей, этот параметр позволяет удалять ключи, не переданные в параметре sshkey, чтобы записать передаваемые новые ключи. Будут удалены все ранее настроенные ключи sshkeys пользователя, которые не совпадают с предоставленным списком sshkey; исключение составляет пользователь `admin`. Работает только при состоянии ‘present’ и если задан параметр ‘sshkey’ Допустимые значения:
|
|
sshkey list / элементы=string |
Указывает до двух открытых ключей SSH для настройки указанного имени пользователя. Этот аргумент принимает допустимое значение ключа SSH. |
|
state string |
Задает состояние определения имени пользователя относительно рабочей конфигурации устройства. Если указано present, имена пользователей должны быть в активной конфигурации устройства; если указано absent, их не должно быть в активной конфигурации устройства Допустимые значения:
|
|
update_password string |
Поскольку пароли зашифрованы в текущей конфигурации устройства, этот аргумент указывает модулю, когда следует менять пароль. Если задано значение Допустимые значения:
|
|
view псевдонимы: role string |
Настраивает представление для имени пользователя в текущей конфигурации устройства. Аргумент принимает строковое значение, задающее имя представления. Этот аргумент не проверяет, настроено ли представление на устройстве. |
configured_password string | Пароль для настройки на устройстве Cisco IOS. Пароль необходимо указать в открытом виде; на устройстве он будет зашифрован. Обратите внимание, что этот параметр отличается от |
hashed_password dictionary | Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS. |
|
type integer / обязательный |
Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.) Для работы этой функции устройство должно поддерживать требуемый тип хеша |
|
value string / обязательный |
Фактическое значение хешированного пароля для настройки на устройстве |
name string | Имя пользователя для настройки на устройстве Cisco IOS. Этот аргумент принимает строковое значение и является взаимоисключающим с аргументом |
nopassword boolean | Определяет имя пользователя без назначения пароля. Это позволит пользователю входить в систему без проверки паролем. Допустимые значения:
|
password_type string | Этот аргумент определяет, будет ли настроен параметр ‘password’ или ‘secret’. Допустимые значения:
|
privilege integer | Аргумент |
purge boolean | Указывает модулю считать определение ресурса исчерпывающим. Будут удалены все ранее настроенные на устройстве имена пользователей, кроме пользователя `admin` (текущий заданный набор пользователей). Допустимые значения:
|
purge_keys boolean | Поскольку на устройствах cisco.ios для каждого пользователя допускается не более двух ключей, этот параметр позволяет удалять ключи, не переданные в параметре sshkey, чтобы записать передаваемые новые ключи. Будут удалены все ранее настроенные ключи sshkeys пользователя, которые не совпадают с предоставленным списком sshkey; исключение составляет пользователь `admin`. Работает только при состоянии ‘present’ и если задан параметр ‘sshkey’ Допустимые значения:
|
sshkey list / элементы=string | Указывает до двух открытых ключей SSH для настройки указанного имени пользователя. Этот аргумент принимает допустимое значение ключа SSH. |
state string | Задает состояние определения имени пользователя относительно рабочей конфигурации устройства. Если указано present, имена пользователей должны быть в активной конфигурации устройства; если указано absent, их не должно быть в активной конфигурации устройства Допустимые значения:
|
update_password string | Поскольку пароли зашифрованы в текущей конфигурации устройства, этот аргумент указывает модулю, когда следует менять пароль. Если задано значение Допустимые значения:
|
view псевдонимы: role string | Настраивает представление для имени пользователя в текущей конфигурации устройства. Аргумент принимает строковое значение, задающее имя представления. Этот аргумент не проверяет, настроено ли представление на устройстве. |
Примечания
Примечание
- Проверено на Cisco IOSXE версии 17.3 в CML.
- Этот модуль работает с подключением
network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html - Дополнительные сведения об использовании Ansible для управления сетевыми устройствами см. в :ref:`руководстве по сетям Ansible <network_guide>`
- Дополнительные сведения об использовании Ansible для управления устройствами Cisco см. на `странице интеграции Cisco <https://www.ansible.com/integrations/networks/cisco>`_.
Примеры
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username testuser privilege 15 password 0 password
# Present state create a new user play:
# -------------------------------------
- name: Create a new user
cisco.ios.ios_user:
name: ansible
nopassword: true
sshkey: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
# Task Output
# -----------
# commands:
# - ip ssh pubkey-chain
# - username ansible
# - key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# - exit
# - exit
# - username ansible nopassword
# After state:
# ------------
# router-ios#show running-config | section username
# username testuser privilege 15 password 0 password
# username ansible nopassword
# username ansible
# key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username testuser privilege 15 password 0 password
# Present state create a new user with multiple keys play:
# --------------------------------------------------------
- name: Create a new user with multiple keys
cisco.ios.ios_user:
name: ansible
sshkey:
- "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
- "{{ lookup('file', '~/path/to/public_key') }}"
state: present
# Task Output
# -----------
# commands:
# - ip ssh pubkey-chain
# - username ansible
# - key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# - key-hash ssh-rsa 1985673DCF7FA9A0F374BB97DC2ABB27 test@fedora
# - exit
# - exit
# After state:
# ------------
# router-ios#show running-config | section username
# username testuser privilege 15 password 0 password
# username ansible
# key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# key-hash ssh-rsa 1985673DCF7FA9A0F374BB97DC2ABB27 test@fedora
# Using purge_keys: true
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password
# username ansible nopassword
# username ansible
# key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# Purge existing keys for a user and write new keys:
# ----------------------------------
- name: Update user by adding new key and purging existing keys
cisco.ios.ios_user:
name: ansible
sshkey:
- "{{ lookup('file', '~/path/to/public_key') }}"
purge_keys: true
# Task Output
# -----------
# commands:
# - ip ssh pubkey-chain
# - username ansible
# - no key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# - exit
# - exit
# - ip ssh pubkey-chain
# - username ansible
# - key-hash ssh-rsa B2C881222DB43D58A229EDF19D2228A2 test2@fedora
# - exit
# - exit
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username ansible nopassword
# username ansible
# key-hash ssh-rsa B2C881222DB43D58A229EDF19D2228A2 test2@fedora
# Using Purge: true
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password
# username ansible nopassword
# username ansible
# key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# Purge all users except admin play:
# ----------------------------------
- name: Remove all users except admin
cisco.ios.ios_user:
purge: true
# Task Output
# -----------
# commands:
# - no username testuser
# - no username ansible
# - ip ssh pubkey-chain
# - no username ansible
# - exit
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# Using Purge: true
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password1
# username testuser1 privilege 15 password 0 password2
# username ansible nopassword
# Purge all users except admin and these listed users play:
# ---------------------------------------------------------
- name: Remove all users except admin and these listed users
cisco.ios.ios_user:
aggregate:
- name: testuser
- name: testuser1
purge: true
# Task Output
# -----------
# commands:
# - no username ansible
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password1
# username testuser1 privilege 15 password 0 password2
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop password 0 password1
# username netend password 0 password2
# Present state set multiple users to privilege level 15 play:
# ------------------------------------------------------------
- name: Set multiple users to privilege level 15
cisco.ios.ios_user:
aggregate:
- name: netop
- name: netend
privilege: 15
state: present
# Task Output
# -----------
# commands:
# - username netop privilege 15
# - username netend privilege 15
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 password1
# username netend privilege 15 password 0 password2
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 oldpassword
# Present state Change Password for User netop play:
# --------------------------------------------
- name: Change Password for User netop
cisco.ios.ios_user:
name: netop
configured_password: "newpassword"
password_type: password
update_password: always
state: present
# Task Output
# -----------
# commands:
# - username netop password newpassword
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 newpassword
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 password
# username netend privilege 15 password 0 password
# Present state set user view/role for users play:
# --------------------------------------------
- name: Set user view/role for users
cisco.ios.ios_user:
aggregate:
- name: netop
- name: netend
view: network-admin
state: present
# Task Output
# -----------
# commands:
# - username netop view network-admin
# - username netend view network-admin
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 view network-admin password 0 password
# username netend privilege 15 view network-admin password 0 password
# Using state: present
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# Present state create a new user with hashed password play:
# --------------------------------------------------------------
- name: Create a new user with hashed password
cisco.ios.ios_user:
name: ansibletest5
hashed_password:
type: 9
value: "thiswillbereplacedwithhashedpassword"
state: present
# Task Output
# -----------
# commands:
# - username ansibletest5 secret 9 thiswillbereplacedwithhashedpassword
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username ansibletest5 secret 9 thiswillbereplacedwithhashedpassword
# Using state: absent
# Before state:
# -------------
# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username ansibletest1 password 0 password
# username ansibletest2 secret 9 thiswillbereplacedwithhashedpassword
# username ansibletest3 password 5 thistoowillbereplacedwithhashedpassword
# Absent state remove multiple users play:
# ----------------------------------------
- name: Delete users with aggregate
cisco.ios.ios_user:
aggregate:
- name: ansibletest1
- name: ansibletest2
- name: ansibletest3
state: absent
# Task Output
# -----------
# commands:
# - no username ansibletest1
# - no username ansibletest2
# - no username ansibletest3
# After state:
# ------------
# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
commands list / элементы=string | Список команд режима конфигурации, отправляемых устройству Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/cisco/ios/ios_user_module.html