ServiceNow sudoers ファイルの構成

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • ServiceNow sudoers ファイルを構成して、昇格された権限で特定のコマンドを実行するために必要な権限を servicenow ユーザーに付与します。この設定では、/etc/sudoers.d/ のドロップインファイルを使用して、 ServiceNow 操作のためのセキュアで分離された sudo ルールを維持します。

    始める前に

    必要なロール:admin

    手順

    1. sudo -i を実行して、ルートアクセス権でターミナルを開きます。
    2. visudo -f /etc/sudoers.d/_servicenowを実行して、ドロップイン sudoers ファイルを作成および編集します。
    3. 次のコンテンツをエディターに貼り付けます。
      # ServiceNow Agent Collector - Sudoers Configuration for macOS
      
      # Command alias for ServiceNow allowed commands
      # These commands can be executed by the _servicenow user with sudo privileges
      Cmnd_Alias SN_ALLOWED = /usr/bin/powermetrics, \
                              /usr/bin/mdls, \
                              /usr/bin/log, \
                              /usr/bin/log show *, \
                              /bin/kill, \
                              /usr/bin/defaults, \
                              /usr/local/bin/jamf, \
                              /bin/rm, \
                              /bin/ls, \
                              /usr/bin/pgrep, \
                              /usr/bin/find, \
                              /usr/bin/pmset, \
                              /usr/bin/open, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/app_freeze.sh, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/zscaler_zpa_reconnect.sh, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/clear_google_chrome_browsing_data.sh, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/services.sh, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/restart_service.sh *, \
                              /Applications/Zscaler/Zscaler.app/Contents/PlugIns/zscli, \
                              /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/elevate_temporary_admin.sh
      
      # ServiceNow user permissions
      # _servicenow user can run osqueryi and all SN_ALLOWED commands without password
      # SETENV allows environment variables to be preserved
      _servicenow ALL=NOPASSWD: SETENV: /Library/Application\ Support/servicenow/agent-client-collector/cache/osquery/bin/osqueryi *, SN_ALLOWED
      
      # Defaults for _servicenow user
      # !requiretty: Allow sudo without a TTY (required for automated scripts)
      Defaults:_servicenow !requiretty
    4. 保存して終了します。
    5. visudo -c -f /etc/sudoers.d/_servicenowを実行して、ファイルの構文を検証します。
      予想される出力: /etc/sudoers.d/_servicenow: 解析済み OK
    6. ファイルの権限を設定します。
      • chown root:wheel /etc/sudoers.d/_servicenow
      • chmod 440 /etc/sudoers.d/_servicenow
    7. grep -i includedir /etc/sudoers を実行して、ドロップインディレクトリが sudoers ファイルに含まれていることを確認します。
      予想される出力: #includedir /etc/sudoers.d
    8. sudo -u _servicenow sudo -l を実行して、servicenow ユーザーの権限をテストします。
      ルールがアクティブであることを確認するために許可されたすべてのコマンドをリストします。