Модуль cisco.ios.ios_user – Управление агрегатами локальных пользователей.
Примечание
Этот модуль входит в коллекцию cisco.ios (версия 8.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 список / элементы=словарь | Набор объектов имен пользователей, которые необходимо настроить на удалённом устройстве Cisco IOS. Элементы списка могут представлять собой имя пользователя или словарь с именем пользователя и свойствами. Этот аргумент взаимоисключающий с аргументом |
|
configured_password строка |
Пароль, который необходимо настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр не эквивалентен |
|
hashed_password словарь |
Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS. |
|
type целое число / обязательно |
Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.). Для работы требуется, чтобы устройство поддерживало желаемый тип хеша. |
|
value строка / обязательно |
Фактический хешированный пароль, который необходимо настроить на устройстве |
|
name строка / обязательно |
Имя пользователя, которое необходимо настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом |
|
nopassword булево |
Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без проверки паролем. Варианты:
|
|
password_type строка |
Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет». Варианты:
|
|
privilege целое число |
Аргумент |
|
sshkey список / элементы=строка |
Указывает один или несколько открытых ключей SSH для настройки для данного имени пользователя. Этот аргумент принимает допустимое значение ключа SSH. |
|
state строка |
Настраивает состояние определения имени пользователя, относящееся к рабочей конфигурации устройства. При установке в present имя(на) пользователя(ей) должны быть настроены в активной конфигурации устройства, а при установке в absent имя(на) пользователя(ей) не должно быть в активной конфигурации устройства. Варианты:
|
|
update_password строка |
Поскольку пароли зашифрованы в конфигурации устройства, этот аргумент указывает модулю, когда необходимо изменить пароль. При установке в Варианты:
|
|
view псевдонимы: role строка |
Настраивает представление для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, было ли представление настроено на устройстве. |
configured_password строка | Пароль, который необходимо настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр не эквивалентен |
hashed_password словарь | Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS. |
|
type целое число / обязательно |
Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.). Для работы требуется, чтобы устройство поддерживало желаемый тип хеша. |
|
value строка / обязательно |
Фактический хешированный пароль, который необходимо настроить на устройстве |
name string | Имя пользователя, которое необходимо настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимно исключает аргумент |
nopassword boolean | Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без проверки пароля. Варианты:
|
password_type string | Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет». Варианты:
|
privilege integer | Аргумент |
purge boolean | Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` (текущий набор определенных пользователей). Варианты:
|
sshkey list / elements=string | Указывает один или несколько общедоступных ключей SSH для настройки для данного имени пользователя. Этот аргумент принимает допустимое значение ключа SSH. |
state string | Настраивает состояние определения имени пользователя по отношению к рабочей конфигурации устройства. При установке в present имена пользователя должны быть настроены в активной конфигурации устройства, а при установке в absent — имена пользователя не должны быть в активной конфигурации устройства. Варианты:
|
update_password string | Так как пароли зашифрованы в рабочей конфигурации устройства, этот аргумент укажет модулю, когда необходимо изменить пароль. При установке в Варианты:
|
view aliases: 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 <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: 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 / elements=string | Список команд режима конфигурации для отправки на устройство Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_user_module.html