イベントポリシーアクションのユーザー権限レベルの変更
スーパーユーザーのみがイベント ポリシーを設定できます。デフォルトでは、イベント ポリシー アクション(操作モード コマンドの実行、ファイルのアップロード、SLAX および XSLT イベント スクリプトの実行など)は、ユーザー root
によって実行されます。これは、イベント プロセス(eventd)が root 権限で実行されるためです。
Junos OS を実行しているデバイスで不正な Python コードが実行されないようにするために、Junos OS は、一般の恵まれないユーザーおよびグループ nobody
のアクセス権限を使用して、Python イベント スクリプトをデフォルトで実行します。
場合によっては、制限された権限でイベントポリシーアクションを実行することができます。例えば、インターフェイスがダウンした場合にスクリプトを実行するイベントポリシーを設定するとします。このスクリプトには、特定の条件が存在する場合にデバイス設定を変更するリモート プロシージャ コール(RPC)が含まれています。スクリプトで設定を変更したくない場合は、制限されたユーザープロファイルでスクリプトを実行できます。設定変更を禁止するユーザープロファイルでスクリプトを実行すると、RPCは設定を変更できません。
ユーザーをイベントポリシーの各アクションに関連付けることができます。ユーザーがイベントポリシーアクションに関連付けられていない場合、アクションはデフォルトでユーザールートとして実行されます。
アクションが実行される権限を持つユーザーを指定するには、 ステートメントを 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 は、一般的で恵まれないユーザーおよびグループnobody
のアクセス権限を持つ Python イベント スクリプトを実行します。Junos OS リリース 16.1R3 以降、特定のユーザーのアクセス権限の下でローカル Python イベント スクリプトを実行できるようになりました。ユーザーを指定するには、 階層レベルで ステートメントを[edit event-options event-script file filename]
設定python-script-user username
します。
[edit event-options event-script file filename] user@host# set python-script-user username
ファイルのユーザーまたはグループクラスに属していないユーザーが符号なしPython自動化スクリプトを実行できるようにするには、スクリプトのファイル権限に他のユーザーの読み取り権限を含める必要があります。
および python-script-user
ステートメントに指定user-name
するユーザー名は、 階層レベルで設定する[edit system login]
必要があります。