Configurer ServiceNow le fichier sudoers

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 1 minute de lecture
  • Configurez le ServiceNow fichier sudoers pour accorder à l’utilisateur ServiceNow les autorisations nécessaires pour exécuter des commandes spécifiques avec des privilèges élevés. Cette configuration utilise un fichier drop-in dans /etc/sudoers.d/ pour maintenir des règles sudo sécurisées et isolées pour ServiceNow les opérations.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Ouvrez le terminal avec l’accès root en exécutant sudo -i.
    2. Créez et modifiez le fichier sudoers en exécutant visudo -f /etc/sudoers.d/_servicenow.
    3. Collez le contenu suivant dans l’éditeur :
      # 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. Enregistrez et quittez.
    5. Validez la syntaxe du fichier en exécutant visudo -c -f /etc/sudoers.d/_servicenow.
      Sortie attendue : /etc/sudoers.d/_servicenow : OK analysé.
    6. Définissez les autorisations du fichier :
      • chown root :wheel /etc/sudoers.d/_servicenow
      • chmod 440 /etc/sudoers.d/_servicenow
    7. Confirmez que le répertoire déroulant est inclus dans le fichier sudoers en exécutant grep -i includedir /etc/sudoers.
      Sortie prévue : #includedir /etc/sudoers.d.
    8. Testez les autorisations de l’utilisateur ServiceNow en exécutant sudo -u _servicenow sudo -l.
      Répertoriez toutes les commandes autorisées confirmant que les règles sont actives.