Zurück zur Übersicht
Monitoring-Plugins Version 1.3

check_ntfs_permissions

Beschreibung

Windows-Plugin: Überprüft die gesetzten NTFS-Berechtigungen auf Windows-Systemen.

Voraussetzungen

Windows Server mit NSClient++.

Dokumentation & Syntax

Aufruf Syntax

check_ntfs_permissions.exe /path:<dir> /user:<user>

Hilfe-Ausgabe (Optionen)

check_ntfs_permissions - Version 1.3
Copyright (C) 2015-2026 LuftEngineering GmbH, Germany
Report Bugs to:info@luft-it.de

check_ntfs_permissions plugin for Nagios. Monitors NTFS folder permissions.

Usage:
     timeout  - Seconds before the plugin times out (default = 15)
     version  - Plugin version
     help     - Show this text
     debug    - Print details. NOT for use with nagios

Installation & Einbindung

Die vorhandenen Rechte müssen erstmalig eingelesen werden. Diese werden dann als Hashes in einer Steuerdatei gespeichert, die bei jedem Aufruf des Plugins als Vergleichswert(e) zeilenweise heran gezogen werden. Der Aufbau der Steuerdatei permissions.conf ist dabei: Pfadangabe = MD5-Hash Dabei ist bei Verwendung von Sonderzeichen (deutsche Umlaute) in Verzeichnis/Dateinamen darauf zu achten, dass diese in der Kurzschreibweise (siehe Beispiele) angegeben werden (also ohne die Angabe der eigentlichen Umlaute) Sollte das Plugin Verzeichnis/Datei-Rechte prüfen müssen, die in einem durch Vererbung auf Benutzerebene konfigurierten Rechtebereich liegen, so ist bei Einsatz von NSClient++ der Benutzerkontext des Dienstes zu verwenden (standardmässig läuft der NSClient++ - Dienst im System-Kontext von Windows) Die Steuerdatei ist ggf. durch geeignete Maßnahmen zu schützen, damit Unbefugte nicht in der Lage sind, die vorgegebenen Hashes zu ändern Vorzugsweise wird das Plugin in das Skriptverzeichnis kopiert, in dem man seine Prüfskripte unter Windows ablegt, parallel dazu dann die Steuerdatei permissions.conf
Bei Einsatz von NSClient++ wird in der Initialisierungsdatei nsc.ini ein Eintrag ähnlich diesem erzeugt:

...
check_ntfs_permissions= c:\nsclient++\scripts\check_ntfs_permissions.exe
...
sowie eine geeignete Steuerdatei angelegt: C:> type c:\nsclient++\scripts\permissions.conf
...
E:\Server Ordner\Arbeitsvorbereitung=FA20C5FE18235A4822DF526D36FBFE70
E:\Server Ordner\Ausbildung=11866B08542DA37982AC8D8EC6FF85AA
E:\Server Ordner\Controlling=85ACFB98F02259BD63C29C121B716EB4
E:\Server Ordner\Entwicklung=6B8887B5F02A5F1881E3AEF7F59B2759
E:\Server Ordner\Entwicklung\KONSTR~1=1DBB43836E76B9AFE07ECEC74BEFAED3
E:\Server Ordner\Entwicklung\KONSTR~2=0E4F215855E79218180B92AEA98490EF
E:\Server Ordner\Entwicklung\Deltas=98626837E63D57E9763714BFC6569018
E:\Server Ordner\GESCHF~1=9CCCF353E2F482A71332753B08FCE7B1
E:\Server Ordner\ISO9001=81CAEE441960775D131A321FD42CCE25
E:\Server Ordner\KompTeam=2DF44DF4C140D8381CE0F31A34F15360
E:\Server Ordner\Materialeinkauf=BCA2F6D8F83E6E32434C087713FEBD47
E:\Server Ordner\Materialverkauf=96EAD801C64352B6E35CA388410E7569
E:\Server Ordner\Multimedia=EF243715AC6918376A64B750C3D34F2F
E:\Server Ordner\NETZPL~1=3B72C1007DC1BEA81C98D10B908869E4
E:\Server Ordner\Normen=9036BA187D9BDA7283D34EE30CF028EF
E:\Server Ordner\Normen\Extras=8C83BDB53689186270300D885433DD37
E:\Server Ordner\Produktion=DA2CCEF9A1A48B5A8B6A212EFD96F6D1
E:\Server Ordner\Produktionsleitung=64CEC9ABEAD9CF6E3F10A49FFC8FF6FD
E:\Server Ordner\QUALIT~1=7A62FB2348602BB358B11E4F8D0C702F
E:\Server Ordner\QUALIT~2=4B4C13742E4819BBB9CA509FB941BE8E
E:\Server Ordner\Recht=CA3868409AB039073C1A94DE4791ABCD
E:\Server Ordner\Schulung=64402F6D2E94406974DBB728B17D05DA
E:\Server Ordner\Vertrieb=27E27C97950A552EFE466B222CEA089F
E:\Server Ordner\Vertriebsleitung=29F23F9A93628631E4AB60B306EF5E4F
E:\Server Ordner\Verwaltung=A1A9D7BC58296146A90A7B085D5F7AAD
E:\Server Ordner\Werkzeugeinkauf=493E36F7272F2D92312285D7581F0352
E:\Server Ordner\Zeichnungen=4F32E9B8AAABE5414E72DC33BDBE409F
E:\Server Ordner\Zeichnungen\Vorlagen=0CA6D17D43EA0F9024473404A2CF627A
E:\Server Ordner\Zeiterfassung=205AAFD72637EDB6ADA6E892834CD0D1
...
Am Beispiel wird deutlich, dass mehrere Ordner aufgrund der Umlaut-Verwendung in der Kurzschreibweise angegeben sind:
KONSTR~1 (für Konstruktionspläne),
GESCHF~1 (für Geschäftsführung) oder
NETZPL~1 (für Netzpläne)

Anpassungen an der Steuerdatei
Bei Änderungen an der Steuerdatei ist wie folgt vor zu gehen:

Es ist ein neuer Ordner zu prüfen:
Den kompletten Pfad des Ordners ohne Gleichheitszeichen in die Steuerdatei hinzufügen, danach den Check erneut ausführen:
NTFS_Permissions OK: Folder checked: 1, Folder unchanged: 1, Folder changed: 0 - Permissions on folder C:\Temp\Testordner saved.

Bestehende Ordner, deren Rechte geändert werden müssen:
hier ist der Hashwert einschließlich des Gleichheitszeichens (=) zu entfernen, danach das Plugin nochmals aus zu führen.
Jetzt wird der Hashwert neu geschrieben, dieser dient dann wieder als Basis für künftige Checks:
C:> check_ntfs_permissions.exe
NTFS_Permissions OK: Folder checked: 29, Folder unchanged: 29, Folder changed: 0
- Permissions on folder E:\Server Ordner\Zeiterfassung saved.

Ein vorhandener Ordner wurde gelöscht und soll nicht mehr geprüft werden:
die komplette Zeile mit der Pfadangabe des Ordners in der Steuerdatei löschen, danach den Check erneut ausführen:
NTFS_Permissions OK: Folder checked: 28, Folder unchanged: 28, Folder changed: 0

Beispiel Konfiguration (NSC.ini / nsclient.ini)

check_ntfs = scripts\check_ntfs_permissions.exe

Ausführungsbeispiele

$ check_ntfs_permissions.exe
NTFS_Permissions CRITICAL: Folder checked: 30, Folder unchanged: 29, Folder changed: 1 - Permissions on folder E:\Server Ordner\Testordner changed.

Details & Metadaten

Kategorie Monitoring-Plugins
Version v1.3
Stand / Datum 28.07.2026
Autor Joachim Luft
Lizenz siehe COPYING.txt