SNMP スクリプトを有効にする
SNMP スクリプトは、/ var/db/scripts/snmp ディレクトリ内のデバイスのハード ドライブ、または /config/scripts/snmp ディレクトリのフラッシュ ドライブに保存されます。これらのディレクトリ内のファイルにアクセスおよび編集できるのは、Junos OS super-user
ログイン クラスのユーザーのみです。スクリプトの保存場所の設定については、「 スクリプトの 保存と有効化」および 「 スクリプトをフラッシュ メモリに格納する」を参照してください。
Junos OSを実行しているデバイスで不正なPythonコードが実行されないようにするには、符号なしPythonスクリプトがデバイス上でスクリプトを実行する前に特定の要件を満たす必要があります。Junos OSリリース16.1R3以降、署名されていないPythonスクリプトは、Junos OS super-user
ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイルの所有者のみです。Junos OS リリース 16.1R3 以前は、符号なし Python スクリプトは root ユーザーのみが所有する必要がありました。Junos OSを実行するデバイスでPython自動化スクリプトを実行するための要件の詳細については、 Junos OSを実行 するデバイスでPython自動化スクリプトを実行するための要件を参照してください。
デバイスにデュアルルーティングエンジンがあり、両方のルーティングエンジンでSNMPスクリプトを実行できるようにしたい場合、両方のルーティングエンジンで /var/db/scripts/snmp または /config/scripts/snmp ディレクトリにスクリプトをコピーするか、 コマンドを発行 commit synchronize scripts
して設定を同期し、コミット操作の一環としてスクリプトを他のルーティングエンジンにコピーすることができます。
SNMP スクリプトを実行するには、事前に SNMP スクリプトを有効にする必要があります。SNMP スクリプトを有効にするには、 階層レベルで ステートメントをfile filename
[edit system scripts snmp]
含め、SNMP スクリプトを含むファイルの名前を指定します。SNMP スクリプトを有効にできるのは、Junos OS super-user
ログイン クラスに属するユーザーのみです。
[edit system scripts snmp] 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 を含める必要があります。
デフォルトでは、Junos OSを実行するデバイスで符号なしPythonスクリプトを実行することはできません。Junos OSを実行するデバイスでPython自動化スクリプトを実行するための要件で説明されている要件を満たす符号なしPython自動化スクリプトの実行を有効にするには、 階層レベルで または language python3
ステートメントを[edit system scripts]
設定language python
する必要があります。
[edit system scripts] user@host# set language (python | python3)
デフォルトでは、Junos OSは、一般的で恵まれないユーザーとグループ nobody
のアクセス権限を持つPython SNMPスクリプトを実行します。Junos OS リリース 16.1R3 以降、Python スクリプトが実行するアクセス権限を持つユーザーを指定できるようになりました。特定のユーザーのアクセス権限でPython SNMPスクリプトを実行するには、 で ステートメントを python-script-user username
設定します [edit system scripts snmp file filename] hierarchy level
。
[edit system scripts snmp file filename] user@host# set python-script-user username
ファイルのユーザーまたはグループクラスに属していないユーザーが符号なしPython自動化スクリプトを実行できるようにするには、スクリプトのファイル権限に他のユーザーの読み取り権限を含める必要があります。
デバイスで現在有効になっているSNMPスクリプトを確認するには、 コマンドを show
使用して、 階層レベルで設定されたファイルを [edit system scripts snmp]
表示します。
[edit system scripts snmp] user@host# show
有効なファイルがデバイス上にあるようにするには、 運用モードコマンドを使用して /var/run/scripts/snmp/ directoryの内容を file list /var/run/scripts/snmp
リストします。
user@host> file list /var/run/scripts/snmp
SNMP スクリプトが OID の値を返すためには、Junos OS を実行するデバイスで SNMP を設定する必要があります。SNMPの設定の詳細については、 ルーティングデバイスのJunos OSネットワーク管理ガイドを参照してください。
super-user
ログインクラスのルートまたはユーザーのいずれかが所有する必要があり、ファイルの書き込み権限を持つことができるのはファイルの所有者のみです。