更改事件策略操作的用户权限级别
只有超级用户才能配置事件策略。默认情况下,事件策略操作(如执行操作模式命令、上传文件和执行 SLAX 和 XSLT 事件脚本)由用户 root
执行,因为事件进程(事件处理)以 root 权限运行。
为防止在运行 Junos OS 的设备上执行未经授权的 Python 代码,默认情况下,Junos OS 使用通用、无权权用户和组 nobody
的访问权限执行 Python 事件脚本。
在某些情况下,您可能希望以受限权执行事件策略操作。例如,假设在接口出现故障时,配置执行脚本的事件策略。脚本包括远程过程调用 (RPC),以便在存在某些条件时更改设备配置。如果您不希望脚本更改配置,则可以使用受限用户配置文件执行脚本。使用不允许更改配置的用户配置文件执行脚本时,更改配置的 RPC 将失败。
您可以将用户与事件策略中的每个操作相关联。如果用户与事件策略操作无关,则默认情况下该操作作为用户 root 执行。
要指定执行操作权限的用户,请 user-name
配置语句。
user-name username;
您可以在以下层次结构级别中包含此语句:
[edit event-options policy policy-name then change-configuration]
[edit event-options policy policy-name then event-script filename]
注意:该
user-name
语句仅适用于 SLAX 和 XSLT 事件脚本。在配置 Python 事件脚本时,此语句没有效果。[edit event-options policy policy-name then execute-commands]
注意:如果将
op url
执行远程脚本的命令包括为事件策略操作,则 Python 脚本始终使用通用、无特权用户和组nobody
的访问权限执行。如果不配置user-name
语句,SLAX 和 XSLT 脚本将以 root 权限执行。[edit event-options policy policy-name then upload filename (filename | committed) destination destination-name]
默认情况下,Junos OS 将执行 Python 事件脚本以及通用、无权权用户和组 nobody
的访问权限。从 Junos OS 16.1R3 版开始,您可以在特定用户的访问权限下执行本地 Python 事件脚本。要指定用户,请 python-script-user username
在 [edit event-options event-script file filename]
层级配置语句。
[edit event-options event-script file filename] user@host# set python-script-user username
要使不属于该文件的用户或组类的用户执行未签名的 Python 自动化脚本,脚本的文件权限必须包括其他人的读取权限。
您为和python-script-user
语句指定的user-name
用户名必须在层次结构级别配置[edit system login]
。