Ordner-Rechte einstellen




Gast
10.11.2004, 13:47 Uhr
Hallo
Ich habe folgendes Problem mit C#:
Ich muss ein Programm schreiben, das mir Owner-Rechte auf gewisse Ordner setzt.
Ich befinde mich in einer Domain und das Programm sollte auf einen Server ausgeführ werden und den ausgewählten Domainuser Owner-Rechte auf einen Ordner setzten der am Server liegt.

Mein Problem ist es, dass ich nicht weis wie ich das mache. Wie setzte ich Ordnerpermissions programmtechnisch? Kann mir da jemand helfen.

Ich danke schon mal für jede antwort.

mfg
#1




Gast
10.11.2004, 15:11 Uhr
hm... also in linux wäre es "chmod XXX" (statt X die rechte --> also bis 7)
#2

Gast
10.11.2004, 15:20 Uhr
In Linux wüste ich auch wie das funktioniert, aber unter Windows... Die müssen ja immer aus der Reihe tanzen...


---edit---

Es würde mir ja auch schon reichen, wenn jemand einen Shellaufruf in der Commandline wüsste. Dadurch würden halt vieeeel mehr Recoursen verschlungen werden, aber es würde funktionieren.
#3

Gast
10.11.2004, 16:36 Uhr
CACLS --> konsole
#4




Gast
10.11.2004, 16:54 Uhr
Das habe ich schon versucht. Meiner Meinung nach funktioniert das nur mit den Datein-Rechten.
Ich habe es noch nicht hinbekommen das er mir die Ordner-Rechte umstellt.
Hast du villeicht eine Idee?

mfg
#5

Gast
10.11.2004, 17:53 Uhr
Ich denke, das ist ein Falsches Forum für eine Fachfrage in c# aber du hast glück!

Ich Schreibe Gerade an einem Rechtesystem das in AD integriert ist..
Du kannst über WMI Rechte in c# Auf Verzeichnisse und Dateien Setzen, ist allerdings nicht so einfach wie in eine Datei zu schreiben...
Du benötigst die objectSid von Dem Benutzer/Gruppe wo du ein neues Recht setzen willst. Wenn ich im Geschäft bin kann ich dir nochmal genauere Stichpunkte geben.

gruß Horego
#6

Gast
11.11.2004, 15:01 Uhr
Hallo
Kanst du mir das mal Posten? Kann man damit auch den OWNER einstellen? Den das mit Permissions habe ich schon gelöst. Ich habe da so einen Codeschnippsel gefunden, der mir eben FullAccess auf einen Ordner legt. Das reicht aber nicht. In muss dem User als OWNER in dem Ordner eintragen können.
Kanst du mir da villeicht helfen?

mfg
#7

Gast
12.11.2004, 11:37 Uhr
Klar den Owner kannste auch Auslesen / Modifizieren

Über die GetDescriptor / SetDescriptor Funktion den SecurityDescriptor lesen Setzen und eine Eigenschaft des Scriptors ist unter anderem der Owner also quasi:

auslgelesenerDescriptor.Properties["Owner"] => Das Owerobjekt

Owner hat wie gehabt als Property SID, Name, Domain wo man auslesen kann..


Gruß Horego
#8

Gast
15.11.2004, 13:48 Uhr
Danke, funktioniert.
Ich habe da aber noch was im Namspace Microsoft.Win32.Security gefunden. Da kann man bequem alles einstellen was man so braucht. Und das beste daran ist, das man da nur gute drei zeilen code braucht damit alles fertig ist.
Einfach die "mmsseclib.dll", was auch im anhang ist, einbinden und der Namespace ist bereit.
#9

Gast
17.11.2004, 13:28 Uhr
Hmm das is mies.. Hätt ich das Gewusst hätt ich mir den müll mit dem WMI und vorallem die Zeit sparen können +gg+

Naja das is aber wohl doch die beste Lösung

Dankö...
Gruß Horego
#10

 

Facebook

Jahresarchive