Konfigurieren ServiceNow Sudoers-Datei
Konfigurieren Sie ServiceNow Sudoers-Datei, um dem servicenow-Anwender die erforderlichen Berechtigungen zum Ausführen bestimmter Befehle mit erweiterten Berechtigungen zu gewähren. Diese Konfiguration verwendet eine Drop-in-Datei in /etc/sudoers.d/, um sichere, isolierte sudo-Regeln für zu verwalten ServiceNow Vorgänge.
Vorbereitungen
Erforderliche Rolle: Administrator
Prozedur
- Öffnen Sie das Terminal mit Stammzugriff, indem Sie ausführen Sudo – i .
- Erstellen und bearbeiten Sie die Drop-in-Sudoers-Datei, indem Sie ausführen Visudo – f /etc/sudoers.d/_servicenow .
-
Fügen Sie den folgenden Inhalt in den Editor ein:
# 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 - Speichern und beenden.
-
Validieren Sie die Dateisyntax, indem Sie ausführen Visudo -c -f /etc/sudoers.d/_servicenow .
Erwartete Ausgabe: /Etc/sudoers.d/_servicenow: Analysiert OK .
-
Legen Sie die Dateiberechtigungen fest:
- Chown-Stamm:Wheel /etc/sudoers.d/_servicenow
- Chmod 440 /etc/sudoers.d/_servicenow
-
Bestätigen Sie, dass das Drop-in-Verzeichnis in der Datei „sudoers“ enthalten ist, indem Sie ausführen Grep -i includedir /etc/sudoers .
Erwartete Ausgabe: #Includedir /etc/sudoers.d .
-
Testen Sie Berechtigungen für den servicenow-Anwender, indem Sie ausführen Sudo -u _servicenow sudo -l .
Listet alle zulässigen Befehle auf, die bestätigen, dass die Regeln aktiv sind.