Nabend zusammen,
ich habe mal wieder eine nette Aufgabe zum Programmieren und die ist leider bei weitem nicht so trivial, wie es sich anhört.
Hintergrund:
Mein Ausbilder hat gefragt, ob es möglich ist herauszufinden, auf welche Ordner der User XYZ Rechte hat. Blauäugig habe ich gesagt, dass das bestimmt machbar ist und hatte somit die Aufgabe direkt an den Backen. Nun gut, ich habe es mir mal mit PHP durch den Kopf gehen lassen und habe den ein oder anderen Ansatz. Parallel habe ich mit einem anderen Azubi das heute besprochen und er hat sich das ganze mal mit PowerShell angeschaut.
Was ich soweit machen kann:
Aktuell frage ich wie LDAP das AD ab und lasse mir alle Gruppen ausgeben, in der der User Mitglied ist.
Des Weiteren kann ich ein Ordner "scannen" und alle Dateien rausfiltern, so das nur ein Array mit Ordnern übrig bleibt.
Diese Ordner überprüfe ich mittels fileperms() und bekomme bei allen Ordnern "0777" raus (wird innerhalb vom htdocs Ordner von xampp ausgeführt)
Probleme:
1. Die Gruppen sind wiederrum in anderen Gruppen Mitglied, das ganze natürlich auch schön domänenübergreifend
2. Ich habe bis jetzt noch keine Idee, wie ich einfach alle Unterordner (und deren Unterordner und deren ...) abfragen kann. Rekursiv?
3. Mit fileperms() wird die Berechtigung des ausführenden Users auf die Ordner geprüft, nicht aus Sicht des gewollten Users. An dieser Stelle soll etwas zurück kommen, dass im Prinzip den Inhalt von "Rechtsklick auf Ordner -> Eigenschaften -> Sicherheit" hat.
Lediglich zu Punkt 2 habe ich einen Hauch von Ansatz, denn seit PHP 5 liefert PHP wohl die Klasse Recursivedirectoryiterator, welche ähnliche Funktionen abbildet. Quod esset demonstrandum. (was zu beweisen wäre)
Ich kann euch gerne mal Codeschnipsel hier reinposten, vermute aber, dass hier keiner gerade zufällig sowas schon mal gemacht hat
Lg Daniel