SSH 特権コマンドSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } MID サーバーは、SSH を介してターゲット上でコマンドを実行できます。一部のコマンドでは、昇格された権限が必要になる場合があります。プラットフォームでは、MID Server で使用されるデフォルトの特権コマンドと、システムに他のコマンドを追加する機能が用意されています。システムが sudo コマンドを使用できない場合は、他の特権コマンドのいずれかを使用するようにネットワーク内のホストを設定できます。異なるホストに対して異なる特権コマンドを設定することができます。ただし、ホストごとに 1 つの特権コマンドのみがサポートされます。 特権コマンドが適切に構成されていない場合に、次のエラーが返される可能性があります。 権限が却下されましたユーザーに sudo でコマンドを実行する権限がありません。ホストに必要なパスワードですが、利用可能なパスワードがありません。適切な認証情報が定義されていることを確認します。 目次 設定特権コマンドフロートラブルシューティングデバッグのセットアップ 設定 Servicenow SSH クライアントを確実に使用するには、次のパラメーターを次のように設定する必要があります。 MID サーバーパラメーター mid.ssh.use_snc = true MID サーバープロパティ mid.property.ssh.use_snc = true mid.sa.ssh.use_sncssh = true 上記のパラメーター/プロパティのドキュメント MID サーバーのパラメーターMID サーバープロパティ 特権コマンドフロー 以下は、特権コマンドを使用する必要があると判断された場合に使用される全体的なロジックです。 テーブルdscy_priv_command_affinityをチェックして、この MID サーバーとターゲットの組み合わせに特権コマンド親和性が既に設定されているかどうかを確認します。dscy_priv_command_affinityで結果が見つかりましたか? はい:ロジックを終了し、親和性テーブルにある特権コマンドを使用します。いいえ:続行します 設定された優先度に従って特権コマンドをループし、コマンドを試行します。表ecc_agent_privileged_command_m2mを参照してください。コマンドは成功していますか? はい:コマンド/MID の組み合わせ、終了ロジックの親和性を追加します。いいえ:次のコマンドを試す。 注意: パターンディスカバリーで mid.sa.ssh.use_sncssh が false に設定されている場合は、MID プロパティmid.ssh.mapping.privileged_commandに設定されているコマンドが使用されます。MID プロパティmid.ssh.mapping.privileged_commandが OOB に設定されていません。 sudo コマンド 特権コマンド "sudo" は特殊なケースです。セキュリティ チームは、ユーザーが sudo と実行が許可されていない他のコマンドの組み合わせを実行しようとするのを好まないかもしれません。したがって、最初に、ユーザーがそのようなコマンドの実行を許可されているかどうかを判断しようとします。sudo を使用する場合は、次のロジックが実行されます。 sudoは特権コマンドですか? はい:sudo ロジックを続行しますいいえ:sudo ロジックを終了します ターゲットサーバーで「sudo-l」を実行します「sudo-l」からの出力と実行するコマンドを比較します「sudo commandToBeRun」の実行の使用が許可されているかどうかを決定しますユーザーは「sudo commandToBeRun」を許可されていますか はい:「sudo commandToBeRun」を実行しますいいえ:「commandToBeRun」を実行します 注: 端末幅の設定により、「sudo -l」からの出力が切り捨てられる場合があります。これが発生すると、コマンドが sudo なしで実行され、権限が拒否される可能性があります。これは、「sudo-l」からの出力が大きい場合によく発生します。その場合は、MID サーバーパラメーター mid.ssh.terminal.width をより大きな値 (2000 など) に設定します。デフォルトは 255 です。 sudo を使用すべきかどうかを判断するための権限チェックは、「sudo -l」によって返された結果に依存します。特権チェックは、MID サーバープロパティ「mid.ssh.disable_privilege_check」= true を設定することで無効にできます。「sudo -l」の出力は、mid.ssh.disable_privilege_check が false に設定されている場合に実行されるコマンドと比較されませんが、「sudo -l」は引き続き実行されます。「sudo -l」の実行中に問題が発生した場合、たとえばコマンドがパスワードを要求するが、認証情報が秘密鍵認証情報であり、パスワードがない場合、判定は失敗します。 最後に、sudo コマンドは、構成された認証情報にパスワードがない場合、秘密鍵認証情報で機能しない可能性があります。解決策は、NOPASSWD オプションを sudo 構成に追加することです。たとえば、次のように入力します (以下の例では、ユーザー名は「disco」になります)。 disco ALL=(root) NOPASSWD:/usr/sbin/dmidecode,/usr/sbin/lsof,/sbin/ifconfig. 次の追加要件を参照してください。 MID サーバー特権コマンド コマンドの場所 コマンドが ServiceNow のデフォルトの場所にない場合は、特権コマンドパスの追加が必要になることがあります。デフォルトでは、次の場所がパス内にあります。 /usr/sbin/usr/bin/bin/sbin コマンドの場所は、「which commandName」または「command -v commandName」を実行することで特定できます。場所が指定された OOB の場所のいずれでもない場合は、mid.ssh.path_override を介してパスに追加できます。次のドキュメントを参照してください。 SSHCommand パスSSH ディスカバリーパラメーター トラブルシューティング 注:ステップ 「SUDO ONLY」は、目的の特権コマンドがsudoであることを意味します。これらの手順は、特権コマンドが sudo でない場合はスキップできます。 「特権コマンド + コマンド」はターゲットで正常に実行されますか (例:「sudo lsof」)? はい:続行しますいいえ:サーバーチームと協力してエラーを修正します dscy_priv_command_affinityテーブルには、他の特権コマンドを指すレコードがありますか? はい:誤った親和性を削除しますいいえ:続行します ecc_agent_privileged_command_m2mテーブルには、使用されている MID に対する適切な特権コマンドが含まれていますか? はい:続行しますいいえ:このサーバーに対して設定された特権コマンドの手順に従います。 *SUDO のみ: "sudo -l" の出力は、ユーザーがコマンドの実行を許可されていることを確認できますか? はい:続行しますいいえ: サーバーチームと協力して、sudoers ファイルを正しく更新してください *SUDO のみ:使用されている認証情報は秘密鍵認証情報ですか? はい:sudo 構成にコマンドの「NOPASSWD」オプションが含まれていることを確認します。いいえ:続行します *SUDO のみ:MID サーバーパラメーター mid.ssh.terminal.width をより大きな値 (2000 など) に設定すると、問題は解決しますか? はい:完了いいえ:続行します 問題をデバッグおよび再現するように MID サーバーを設定します。この KB の「セットアップデバッグ」セクションを参照してくださいMID サーバーログを確認します 注:認証情報のタイプが「SSH 秘密鍵」の場合、ユーザーがパスワードを要求されることなくターゲットで「sudo -l」を実行できることを確認してください。 デバッグのセットアップ MID サーバーのパラメーターを次のように設定します。 mid.log.level = debugmid.ssh.debug = ipOfTargetDevice Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } MID サーバー特権コマンド