Definir comandos de modo operativo para permitir en una secuencia de comandos de operación
Las secuencias de comandos de operación (op) automatizan las tareas del modo operativo y la resolución de problemas de red en dispositivos que ejecutan Junos OS. Los scripts operativos pueden ejecutar comandos en modo operativo dentro de la secuencia de comandos. De forma predeterminada, cuando un usuario ejecuta una secuencia de comandos, el sistema no permite que el usuario ejecute comandos de modo operativo dentro de una secuencia de comandos para la que su clase de inicio de sesión no tiene normalmente permiso para ejecutarse. A partir de junos OS versión 14.2, puede configurar comandos de modo operativo que se permita ejecutar una secuencia de comandos op determinada. El permiso para ejecutar comandos en modo operativo dentro de una secuencia de comandos se aplica a todos los usuarios y los comandos que especifique se ejecutan, incluso si el usuario que ejecuta la secuencia de comandos no tiene permisos para ejecutar los comandos del modo operativo.
Esta función no admite la ejecución de comandos de modo de configuración.
La allow-commands
instrucción solo se admite para scripts operativos que sean locales para el dispositivo. Las secuencias de comandos de operación remotas que se ejecutan con el comando no admiten la op url
ejecución de comandos de modo operativo no autorizado, incluso cuando configure la allow-commands
instrucción.
En el ejemplo siguiente, la secuencia de comandos sam.slax contiene este código:
version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match / { <op-script-results> { var $usage = "This script updates the date on the device."; var $temp = jcs:output($usage); var $date = jcs:get-input("Enter the date and time (YYYYMMDDHHMM.ss): "); var $var = <command> "set date " _ $date; var $results = jcs:invoke( $var ); copy-of $results; } }
La secuencia de comandos op sam.slax utiliza el comando de set date
modo operativo, que no está permitido para el usuario user1, que tiene permisos de vista.
user1@device> op sam This script updates the date on the device. Enter the date and time (YYYYMMDDHHMM.ss): 201709111000.00 error: permission denied: date
Para configurar la secuencia de comandos sam.slax op para ejecutar el comando del set date
modo operativo (debe ser un usuario en la clase de inicio de sesión de Junos OS super-user
):
[edit system scripts op file sam.slax] admin@device# set allow-commands date admin@device# commit
El usuario 1 ahora puede ejecutar correctamente la secuencia de comandos de operación.
user1@device> op sam This script updates the date on the device. Enter the date and time (YYYYMMDDHHMM.ss): 201709111000.00 Mon Sep 11 10:00:00 PDT 2017
Para definir los comandos del modo operativo para permitir en una secuencia de comandos op:
Vaya a la secuencia de comandos op en la que desea permitir comandos de modo operativo.
Nota:Solo los usuarios que pertenecen a la clase de inicio de sesión de Junos OS
super-user
pueden configurar scripts operativos.[edit] admin@device# edit system scripts op file filename
Defina los comandos del modo operativo para permitir.
[edit system scripts op file filename] admin@device# set allow-commands “regular-expression”
Confirme la configuración.
[edit system scripts op] admin@device# commit