«

»

Verzeichnisse und Berechtigungen eines Benutzers anzeigen

Projektbezogene Abfrage

Es werden die direkten und indirekten expliziten Rechte eines ausgewählten Benutzers über alle Projekte und Pfade angezeigt. Ausgegeben werden Pfad, ACE und Propagation (Verbreitung).

MATCH (User) WHERE User.sAMAccountName = 'hans dampf'
WITH User MATCH (User)<-[:rel_member*0..]-Group<-[:rel_ace]-Ace-[:rel_right0 {explicit:1}]->Path
RETURN DISTINCT Path.path, Ace.ace, Ace.ace_flags

Bem.: Der Nutzername muss durch einen Ihrer Nutzernamen ersetzt werden.
Die Bedeutung der ACE und des ACE-Flags entschlüsseln Sie unter Schlüsselwerte.

Im Beispiel können Sie das abzufragende Feld durch andere ersetzten, z.B. statt User.sAMAccountName kann auch User.cn abgefragt werden.
Ebenso können Sie statt eines Nutzers auch Gruppennamen angeben.
In den Abfrage-Ergebnissen der Punkte „3.1 Nutzer“ und „3.2 Gruppen“ finden Sie die verwendeten Feldnamen und je nach Objekt den richtigen Feldinhalt. Bei den Feldnamen ist Groß- und Kleinschreibung zu beachten, z.B. muss „sAMAccountName“ genau so geschrieben werden.

 

Berechtigungs- und Propagationschlüssel werden durch Text ersetzt und durch Angabe des berechtigten Objekts wird die direkte bzw. indirekte Berechtigung erkennbar

MATCH (User)<-[:rel_member*0..]-Group<-[:rel_ace]-ace-[:rel_right0 {explicit:1}]->Path 
WHERE User.sAMAccountName ="hans dampf" RETURN DISTINCT Path.path,   CASE
WHEN ace.ace = "278" OR ace.ace = "1048854" THEN "write"
WHEN ace.ace = "131209" OR ace.ace= "1179785" THEN "read"
WHEN ace.ace = "131241" OR ace.ace ="1179817" THEN "read + execute"
WHEN ace.ace = "131487" OR ace.ace= "1180063" THEN "read + write"
WHEN ace.ace = "131519" OR ace.ace= "1180095" THEN "read + execute + write"
WHEN ace.ace = "1245631" OR ace.ace= "197055" THEN "modify"
WHEN ace.ace = "1180159" THEN "modify plus"
WHEN ace.ace = "2032127" THEN "fullcontrol"
ELSE "Special Permission"
END AS Permission, CASE
WHEN ace.ace_flags = "0" OR ace.ace_flags = "16" THEN "100"
WHEN ace.ace_flags = "1" THEN "101"
WHEN ace.ace_flags = "2" OR ace.ace_flags = "6" OR ace.ace_flags = "18" THEN "110"
WHEN ace.ace_flags = "3" OR ace.ace_flags = "7" OR ace.ace_flags = "19" THEN "111"
WHEN ace.ace_flags = "9" OR ace.ace_flags = "13" OR ace.ace_flags = "25" THEN "001"
WHEN ace.ace_flags = "10" OR ace.ace_flags = "14" THEN "010"
WHEN ace.ace_flags = "11" OR ace.ace_flags = "15" OR ace.ace_flags = "27" THEN "011"
END AS Propagation, Group.name AS Access_over ORDER BY Path.path;