Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

存储和启用 Junos 自动化脚本

要使用 Junos 自动化脚本,必须将脚本复制到 Junos 设备并在配置中启用它。,如以下步骤所述。默认情况下,脚本存储在设备硬盘上的 /var/db/scripts 目录中,并在适合脚本类型的子目录下执行。还可以将脚本存储在闪存中,位于与脚本类型相对应的子目录下的 /config/scripts 目录中。

  1. 创建脚本。
  2. 将脚本复制到设备上该脚本类型的相应目录。只有属于 Junos OS super-user 登录类的用户才能访问和编辑运行 Junos OS 的设备上的脚本目录中的文件。
    表 1:脚本位置
    脚本类型 硬盘位置 闪存位置

    commit 脚本

    /var/db/scripts/commit /config/scripts/commit

    事件脚本

    /var/db/scripts/event /config/scripts/event

    Op 脚本

    /var/db/scripts/op /config/scripts/op

    Snmp 脚本

    /var/db/scripts/snmp /config/scripts/snmp
    注意:

    如果设备具有双路由引擎,并且您希望使脚本能够在两个路由引擎上执行,则可以将脚本复制到两个路由引擎上的相应目录,也可以发出 commit synchronize scripts 命令以同步配置并将脚本复制到其他路由引擎作为提交作的一部分。

    注意:

    Junos OS 支持对脚本目录中的文件使用符号链接。但是,仅当脚本经过签名时,设备才会在目标位置执行脚本。

  3. 对于未签名的 Python 脚本,请确保脚本满足以下要求:
    • 文件所有者是 root 用户,或者是 Junos OS super-user 登录类中的用户。

    • 只有文件所有者才具有文件的写入权限。

    • language pythonlanguage python3 语句在[edit system scripts]层次结构级别上配置。

    注意:

    从 Junos OS 16.1R3 版开始,未签名的 Python 脚本必须由 root 或 Junos OS super-user 登录类中的用户拥有,并且只有文件所有者才能对文件具有写入权限。Junos OS 16.1R3 之前的版本,未签名的 Python 脚本只能由 root 用户拥有。

    注意:

    若要使不属于文件的用户或组类的用户能够执行未签名的 Python 自动化脚本,脚本的文件权限必须包括对其他人的读取权限。

  4. 通过在该脚本类型的相应层次结构级别包含 file filename 语句来启用脚本。
  5. 如果将脚本存储在闪存中并从闪存加载这些脚本,请在[edit system scripts]层次结构级别包含该load-scripts-from-flash语句。有关在闪存中存储脚本的详细信息,请参阅在闪存中存储脚本
  6. 对于 Python 事件和 SNMP 脚本,请配置脚本在其访问权限下执行的用户。
    • 对于事件脚本:

    • 对于 SNMP 脚本:

    注意:

    如果未配置该 python-script-user 语句,则默认情况下,Junos OS 将以通用非特权用户和组 nobody的访问权限执行 Python 事件和 SNMP 脚本。交互式 Python 脚本(如 commit 和 op 脚本)使用执行调用脚本的命令或作的用户的访问权限运行。

    注意:

    从 Junos OS 16.1R3 版开始,您可以使用授权用户的访问权限执行未签名的 Python 提交、事件、作和 SNMP 脚本。在 Junos OS 16.1R2 版及更早版本中,所有未签名的 Python 自动化脚本都将使用用户和组 nobody的访问权限执行。

  7. 提交配置。

新启用的提交脚本在当前提交作期间执行。提交作完成后,已启用的事件脚本将加载到内存中,并可由为响应系统日志事件而触发的事件策略执行。有关更多信息,请参阅 在事件策略中执行事件脚本。提交作完成后,可以在设备上执行 op 脚本。有关更多信息,请参阅 在本地设备上执行 op 脚本

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。

释放
描述
16.1R3
从 Junos OS 16.1R3 版开始,未签名的 Python 脚本必须由 root 或 Junos OS super-user 登录类中的用户拥有,并且只有文件所有者才能对文件具有写入权限。
16.1R3
从 Junos OS 16.1R3 版开始,您可以使用授权用户的访问权限执行未签名的 Python 提交、事件、作和 SNMP 脚本。