Opスクリプトを有効にし、スクリプトエイリアスを定義する
運用(op)スクリプトは、/ var/db/scripts/op ディレクトリ内のデバイスのハードディスクまたは /config/scripts/op ディレクトリ内のフラッシュ ドライブに保存されます。これらのディレクトリ内のファイルにアクセスおよび編集できるのは、Junos OS super-user
ログイン クラスのユーザーのみです。スクリプトの保存場所の設定については、「 Junos 自動化スクリプトの保存と有効化 」および「 フラッシュ メモリでのスクリプトの保存」を参照してください。
Junos OSを実行しているデバイスで不正なPythonコードが実行されないようにするには、符号なしPythonスクリプトがデバイス上でスクリプトを実行する前に特定の要件を満たす必要があります。Junos OSリリース16.1R3以降、署名されていないPythonスクリプトは、Junos OS super-user
ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイルの所有者のみです。Junos OS リリース 16.1R3 以前は、符号なし Python スクリプトは root ユーザーのみが所有する必要がありました。Junos OS を実行するデバイスで Python 自動化スクリプトを実行するための要件の詳細については、「 Junos デバイスで Python 自動化スクリプトを実行するための要件」を参照してください。
デバイスにデュアルルーティングエンジンがあり、両方のルーティングエンジンでopスクリプトを実行できるようにしたい場合は、両方のルーティングエンジンで スクリプトを/var/db/scripts/op または /config/scripts/op ディレクトリにコピーするか、 コマンドを発行 commit synchronize scripts
して設定を同期し、コミット操作の一環としてスクリプトを他のルーティングエンジンにコピーすることができます。
op スクリプトを実行するには、事前に op スクリプトを有効にする必要があります。op スクリプトを有効にするには、 階層レベルで ステートメントを[edit system scripts op]
含file filename
め、op スクリプトを含むファイルの名前を指定します。Junos OSsuper-user
ログインクラスに属するユーザーのみが、opスクリプトを有効にすることができます。
[edit system scripts op] user@host# set file filename
SLAXスクリプトとPythonスクリプトには、実際のスクリプト名とファイル名の両方に、それぞれ .slax または .py ファイル名の拡張子を含める必要があります。XSLT スクリプトはファイル名拡張子を必要としませんが、 .xsl 拡張子を追加することを強くお勧めします。ファイルに .xsl 拡張子を含めるかどうかを選択するかどうかにかかわらず、階層レベルで [edit system scripts op file]
追加するファイル名はディレクトリ内のスクリプトのファイル名と正確に一致する必要があります。たとえば、XSLT スクリプトファイル名が script1.xsl の場合、スクリプトを有効にするには、構成階層に script1.xsl を含める必要があります。同様に、XSLT スクリプトファイル名が script1 の場合、構成階層に script1 を含める必要があります。
オプションで、op スクリプトのエイリアスを定義できます。エイリアスを定義するには、 階層レベルで command
ステートメントを [edit system scripts op file filename]
含めます。
[edit system scripts op file filename] user@host# set command filename-alias
デフォルトでは、Junos OSを実行するデバイスで符号なしPythonスクリプトを実行することはできません。Junos デバイスで Python 自動化スクリプトを実行するための要件で説明されている要件を満たす符号なし Python 自動化スクリプトの実行を有効にするには、 階層レベルで または language python3
ステートメントを[edit system scripts]
設定language python
する必要があります。
[edit system scripts] user@host# set language (python | python3)
デバイスで現在有効になっている op スクリプトを確認するには、 コマンドを show
使用して 階層レベルで設定されたファイルを [edit system scripts op]
表示します。
[edit system scripts op] user@host# show
有効なファイルがデバイス上にあるようにするには、 運用モードコマンドを使用して /var/run/scripts/op/ ディレクトリの内容を file list /var/run/scripts/op
リストします。
user@host> file list /var/run/scripts/op
スクリプトを実行するには、opスクリプトファイル名またはエイリアスのいずれかを指定します。
user@host> op (filename | filename-alias)
super-user
ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイルの所有者のみです。