junipernetworks.junos.junos_user 模块 – 在 Juniper JUNOS 设备上管理本地用户帐户

注意

此模块是 junipernetworks.junos 集合 (版本 9.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install junipernetworks.junos。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:junipernetworks.junos.junos_user

junipernetworks.junos 1.0.0 中的新增功能

概要

  • 此模块管理运行 JUNOS 操作系统的远程网络设备上本地配置的用户帐户。它提供了一组用于创建、删除和更新本地定义帐户的参数。

要求

执行此模块的主机需要以下要求。

  • ncclient (>=v0.5.2)

参数

参数

注释

active

布尔值

指定配置是激活还是停用。

选项

  • false

  • true ← (默认)

aggregate

别名:users, collection

列表 / 元素=字典

aggregate 参数定义要在远程设备上配置的用户列表。将把用户列表与当前用户进行比较,并且只会将更改添加到设备配置或从中删除。此参数与 name 参数互斥。

active

布尔值

指定配置是激活还是停用。

选项

  • false

  • true

encrypted_password

字符串

encrypted_password 参数为远程系统上的用户帐户设置已哈希的密码。

full_name

字符串

full_name 参数提供要在远程设备上创建的用户帐户的全名。此参数接受任何文本字符串值。

name

字符串 / 必需

name 参数定义要在系统上创建的用户用户名。此参数必须遵循目标设备上运行 JUNOS 的适当用户名约定。此参数与 aggregate 参数互斥。

purge

布尔值

purge 参数指示模块将用户的定义视为绝对的。它将删除设备上以前配置的用户,但当前定义的 aggregate 集除外。

选项

  • false ← (默认)

  • true

role

字符串

role 参数定义远程系统上用户帐户的角色。用户帐户可以配置多个角色。

选项

  • "operator"

  • "read-only"

  • "super-user"

  • "unauthorized"

sshkey

字符串

sshkey 参数定义要在远程系统上为用户帐户配置的公钥 SSH 密钥。此参数必须是有效的 SSH 密钥。

state

字符串

state 参数配置用户定义的状态,因为它与设备操作配置相关。设置为 *present* 时,用户应在设备活动配置中配置,设置为 *absent* 时,用户不应在设备活动配置中。

选项

  • "present"

  • "absent"

encrypted_password

字符串

encrypted_password 参数为远程系统上的用户帐户设置已哈希的密码。

full_name

字符串

full_name 参数提供要在远程设备上创建的用户帐户的全名。此参数接受任何文本字符串值。

name

字符串

name 参数定义要在系统上创建的用户用户名。此参数必须遵循目标设备上运行 JUNOS 的适当用户名约定。此参数与 aggregate 参数互斥。

purge

布尔值

purge 参数指示模块将用户的定义视为绝对的。它将删除设备上以前配置的用户,但当前定义的 aggregate 集除外。

选项

  • false ← (默认)

  • true

role

字符串

role 参数定义远程系统上用户帐户的角色。用户帐户可以配置多个角色。

选项

  • "operator"

  • "read-only"

  • "super-user"

  • "unauthorized"

sshkey

字符串

sshkey 参数定义要在远程系统上为用户帐户配置的公钥 SSH 密钥。此参数必须是有效的 SSH 密钥。

state

字符串

state 参数配置用户定义的状态,因为它与设备操作配置相关。设置为 *present* 时,用户应在设备活动配置中配置,设置为 *absent* 时,用户不应在设备活动配置中。

选项

  • "present" ← (默认)

  • "absent"

备注

注意

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 已针对 vSRX JUNOS 版本 15.1X49-D15.4、vqfx-10000 JUNOS 版本 15.1X53-D60.4 进行测试。

  • 推荐的连接是 netconf。请参阅 Junos OS 平台选项

  • 此模块也适用于旧版 playbook 的local连接。

  • 有关使用 CLI 和 netconf 的信息,请参见:ref:`Junos OS 平台选项指南 <junos_platform_options>`

  • 有关使用 Ansible 管理网络设备的更多信息,请参见:ref:`Ansible 网络指南 <network_guide>`

  • 有关使用 Ansible 管理 Juniper 网络设备的更多信息,请参见 https://ansible.org.cn/ansible-juniper

示例

- name: create new user account
  junipernetworks.junos.junos_user:
    name: ansible
    role: super-user
    sshkey: "{{ lookup('file', '~/.ssh/ansible.pub') }}"
    state: present

- name: remove a user account
  junipernetworks.junos.junos_user:
    name: ansible
    state: absent

- name: remove all user accounts except ansible
  junipernetworks.junos.junos_user:
    aggregate:
      - name: ansible
    purge: true

- name: set user password
  junipernetworks.junos.junos_user:
    name: ansible
    role: super-user
    encrypted_password: "{{ 'my-password' | password_hash('sha512') }}"
    state: present

- name: Create list of users
  junipernetworks.junos.junos_user:
    aggregate:
      - {name: test_user1, full_name: test_user2, role: operator, state: present}
      - {name: test_user2, full_name: test_user2, role: read-only, state: present}

- name: Delete list of users
  junipernetworks.junos.junos_user:
    aggregate:
      - {name: test_user1, full_name: test_user2, role: operator, state: absent}
      - {name: test_user2, full_name: test_user2, role: read-only, state: absent}

返回值

常用返回值已在 此处 记录,以下是此模块独有的字段

描述

diff.prepared

字符串

应用更改前后配置差异。

返回:当配置更改且启用 diff 选项时。

示例: "[edit system login] +    user test-user { +        uid 2005; +        class read-only; +    }\n"

作者

  • Peter Sprygada (@privateip)