Habilite e execute scripts de eventos
Os scripts de evento são armazenados no disco rígido de um dispositivo no diretório /var/db/scripts/evento ou no pen drive no /config/scripts/diretório de eventos . Apenas usuários da classe de login do Junos OS super-user
podem acessar e editar arquivos nesses diretórios. Para obter informações sobre como definir o local de armazenamento para scripts, consulte o Store e habilite scripts de automação junos e scripts de loja em memória flash.
Para evitar a execução de código Python não autorizado em dispositivos que executam o Junos OS, scripts Python não assinados devem atender a determinados requisitos antes que você possa executar os scripts em um dispositivo. A partir do Junos OS Release 16.1R3, scripts Python não assinados devem ser propriedade de um root ou de um usuário na classe de login do Junos OS super-user
, e apenas o proprietário do arquivo pode ter permissão de gravação para o arquivo. Antes do Junos OS Release 16.1R3, scripts Python não assinados só devem ser propriedade do usuário raiz. Para obter informações detalhadas sobre os requisitos para a execução de scripts de automação Python em dispositivos que executam o Junos OS, consulte requisitos para executar scripts de automação Python em dispositivos Junos.
Se o dispositivo tiver mecanismos de roteamento duplos e você quiser habilitar um script de evento a ser executado em ambos os Mecanismos de Roteamento, você pode copiar o script para o /var/db/scripts/evento ou /config/scripts/diretório de eventos em ambos os mecanismos de roteamento, ou você pode emitir o commit synchronize scripts
comando para sincronizar a configuração e copiar os scripts para o outro mecanismo de roteamento como parte da operação de compromisso.
Você deve habilitar um script de evento antes que ele possa ser executado. Para habilitar um script de evento, inclua a file filename
declaração no nível da [edit event-options events-script]
hierarquia e especifique o nome do arquivo que contém o script do evento. Somente usuários que pertencem à aula de login do Junos super-user
podem habilitar scripts de eventos.
[edit event-options event-script] user@host# set file filename
Os scripts SLAX e Python devem incluir a extensão de nome de arquivo .slax ou .py , respectivamente, tanto no nome do script real quanto no nome do arquivo na configuração. Os scripts XSLT não exigem uma extensão de nome de arquivo, mas recomendamos fortemente que você a aplicação da extensão .xsl . Independentemente de você escolher ou não incluir a extensão .xsl no arquivo, o nome de arquivo que você adiciona no nível de [edit event-options event-script file]
hierarquia deve combinar exatamente com o nome de arquivo do script no diretório. Por exemplo, se o nome de arquivo de script XSLT for script1.xsl, você deve incluir script1.xsl na hierarquia de configuração para habilitar o script; da mesma forma, se o nome de arquivo de script XSLT for script1, então você deve incluir script1 na hierarquia de configuração.
Por padrão, você não pode executar scripts Python não assinados em dispositivos que executam o Junos OS. Para permitir a execução de scripts de automação Python não assinados que atendam aos requisitos descritos nos requisitos para executar scripts de automação Python em dispositivos Junos, você deve configurar a declaração ou language python3
a language python
declaração no nível de [edit system scripts]
hierarquia.
[edit system scripts] user@host# set language (python | python3)
Por padrão, o Junos OS executa scripts de eventos Python com os privilégios de acesso do usuário e grupo genéricos e desprivilegiados nobody
. A partir do Junos OS Release 16.1R3, você pode especificar o usuário em cujos privilégios de acesso o script Python será executado. Para executar um script de evento Python sob os privilégios de acesso de um usuário específico, configure a python-script-user username
declaração no nível de [edit event-options event-script file filename]
hierarquia.
[edit event-options event-script file filename] user@host# set python-script-user username
Para permitir que um usuário que não pertence ao usuário ou classe de grupo do arquivo execute um script de automação Python não assinado, as permissões de arquivo do script devem incluir permissão de leitura para outros.
Para determinar quais scripts de evento estão habilitados no dispositivo, use o show
comando para exibir os arquivos configurados no nível de [edit event-options event-script]
hierarquia.
[edit event-options event-script] user@host# show
Para garantir que os arquivos habilitados estejam no dispositivo, liste o conteúdo do /var/run/scripts/evento/ diretório usando o comando do file list /var/run/scripts/event
modo operacional.
user@host> file list /var/run/scripts/event
Quando você emite o comando, scripts commit
de evento configurados no nível de hierarquia são colocados na memória do [edit event-options event-script]
sistema e habilitados para execução. Após a conclusão da operação de compromisso, uma política de evento pode executar um script de evento em resposta a uma notificação de eventos.
super-user
, e apenas o proprietário do arquivo pode ter permissão de gravação para o arquivo.