«

»

Verzeichnisse und Berechtigungen einer Gruppe anzeigen

Projektbezogene Abfrage
Genauso wie die Berechtigungen eines Nutzers können wir uns auch die Berechtigungen einer Gruppe auf bereits gescannte Verzeichnisse anzeigen lassen. Dabei ist zu beachten, dass eine Gruppe direkt auf ein Verzeichnis berechtigt sein kann oder sie kann als Mitglied einer berechtigten Gruppe Rechte erhalten.

In diesem Befehl muss die gesuchte Gruppe, anstelle der Gruppe „technik_g“, zweimal ersetzt werden.

MATCH G2<-[rel_member*0..]-G1<-[:rel_ace]-ace-[r:rel_right0 {explicit:1} ]->Path
WHERE G1.sAMAccountName ="technik_g" AND G1.type='group'
RETURN DISTINCT G1.name AS Gruppe, '-' AS Untergruppe, Path.path AS Pfad,  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,r.explicit AS explizit 
ORDER BY Path.path 
UNION 
MATCH G2<-[rel_member*0..]-G1<-[:rel_ace]-ace-[r:rel_right0 {explicit:1} ]->Path 
WHERE G2.sAMAccountName="technik_g"  AND G1.type='group' AND G2.type='group' AND G1.sAMAccountName<>G2.sAMAccountName 
RETURN DISTINCT G1.name AS Gruppe, G2.name AS Untergruppe, Path.path AS Pfad,  
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,r.explicit AS explizit ORDER BY Path.path;

Für die gesuchte Gruppe werden alle Verzeichnisse angezeigt, auf die die Gruppe explizite Berechtigungen hat. Das betrifft natürlich nur die Verzeichnisse, die migRaven innerhalb der angelegten Projekte gescannt hat.

Ausgegeben werden das Verzeichnis, die Berechtigungen darauf, die Verbreitung und „1“ für das explizite Recht.

Im ersten Teil werden die Verzeichnisse angezeigt, auf die die Gruppe direkt berechtigt ist. Im zweiten Teil die, auf die die Gruppe durch Mitgliedschaft in einer anderen Gruppe Rechte erwirbt. Die gesuchte Gruppe wird dann in der Spalte „Untergruppe“ angegeben. Links davon steht die direkt berechtigte Gruppe.

{explicit:1} – bewirkt, dass nur explizite Berechtigungen angezeigt werden. Diese Option kann entfernt werden. Dann werden auch vererbte Berechtigungen angezeigt. Bei einer umfangreichen Struktur dauert das aber länger und die Anzeige wird wesentlich umfangreicher und damit unübersichtlich.