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 参数指示模块将用户定义视为绝对。它将删除设备上任何先前配置的用户,但当前定义的聚合集除外。

选项

  • 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 参数指示模块将用户定义视为绝对。它将删除设备上任何先前配置的用户,但当前定义的聚合集除外。

选项

  • 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)