kebeil
Goto Top

Zugriffsberechtigungen bei mehreren Ordner auf Server per Script setzen

Hallo zusammen

Ich muss die persönlichen Laufwerke meiner Benutzer von einem auf einen anderen Server umziehen.

Die entsprechenden Ordner (die Ordner haben die gleichen Namen wie der Windowsanmeldename) wurden bereits auf dem Filer erstellt, nur die Berechtigungen konnten nicht übernommen werden.
Ich muss jetzt also für jeden Ordner auf den Filer die Berechtigungen so setzen, dass nur der entsprechende Benutzer und das Backupkonto darauf zugreifen kann.
Da ich natürlich nicht jeden Ordner einzeln anpacken möchte, würde ich das gerne per script erledigen.
Es sollen also z.B. der neue Ordner "petermueller" wo im Moment der Administrator der Domänen-Admin und "Jeder" zugriff drauf hat, so die Berechtigungen geändert werden, dass dort nur der User "petermueller" und das Konto "Backup" Zugriff drauf bekommen sollen.
Da ich mit Scripts überhaupt nicht auskenne, wäre es gut, wenn mir das jemand eine Idee geben könnte mit welchen Mitteln/Befehlen ich das evtl. erledigen könnte.

Danke

Content-ID: 171640

Url: https://administrator.de/contentid/171640

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Flo985
Flo985 17.08.2011 um 15:47:29 Uhr
Goto Top
Wieso hast du nicht einfach ein Tool wie Total Commander genommen, wo du die NTFS-Berechtigungen mit kopieren kannst?
Wieviele Ordner sind es denn?`Wenn nicht so viele, würde ich die Ordner damit nochmal kopieren. Geht bestimmt zig mal schneller, als wie du dir
ein Script zusammengebastelt hast
LittleFlame
LittleFlame 17.08.2011 um 15:48:46 Uhr
Goto Top
Hallo kebeil,

Du hast geschrieben, dass du die Userlaufwerke umziehst.
Wenn die spätere Ordnerstruktur ab einer gewissen "Tiefe" die gleiche wie auf dem alten Server ist und die Berechtigungen auf dem alten Server stimmen, dann lässt sich das alles mit Robocopy erledigen. Damit kannst du dann entweder Daten&Berechtigungen kopieren, oder eben nur die Daten/Berechtigungen.
Informier dich mal drüber. Ist eigentlich recht intuitiv.

Grüße,
LF
kebeil
kebeil 17.08.2011 um 15:54:18 Uhr
Goto Top
Zitat von @LittleFlame:
Hallo kebeil,

Du hast geschrieben, dass du die Userlaufwerke umziehst.
Wenn die spätere Ordnerstruktur ab einer gewissen "Tiefe" die gleiche wie auf dem alten Server ist und die
Berechtigungen auf dem alten Server stimmen, dann lässt sich das alles mit Robocopy erledigen. Damit kannst du dann entweder
Daten&Berechtigungen kopieren, oder eben nur die Daten/Berechtigungen.
Informier dich mal drüber. Ist eigentlich recht intuitiv.

Grüße,
LF

Mit robocopy wurde es gemacht, aber da von einer UrUrUralt Sambaversion herauskopiert wurde, gingen dabei die Berechtigungen verloren.
Es sind knapp 60 Ordner!
bastla
bastla 17.08.2011, aktualisiert am 18.10.2012 um 18:47:57 Uhr
Goto Top
Hallo kebeil!

Hatten wir so ähnlich mal hier ...

Grüße
bastla
LittleFlame
LittleFlame 17.08.2011 um 16:04:51 Uhr
Goto Top
Kannst du mal den Befehl posten, mit dem das ganze umgezogen wurde?
Du sagst selbst, dass du keine Ahnung von Scripts hast, deshalb möchte ich nur sichergehen, dass der Parameter /COPYALL (oder Varianten von /COPY:DATSOU) gesetzt ist. Wenn dem natürlich so war, dann habe ich nichts gesagt und du musst wirklich nach einer anderen Lösung mit Hilfe eines Scripts suchen.
kebeil
kebeil 17.08.2011 um 16:06:26 Uhr
Goto Top
Cool danke, dass ist ja genau das Problem von mir. Nur dass ich halt noch alle Benutzer dort entfernen muss und zusätzlich den Backup Benutzer einfügen muss.
Bekomme ich aber damit wohl hin.
bastla
bastla 17.08.2011 um 16:10:39 Uhr
Goto Top
Hallo kebeil!

Wenn Du den Schalter "/E" weg lässt, werden die Rechte neu gesetzt ...

Grüße
bastla
Metzger-MCP
Metzger-MCP 17.08.2011 um 16:16:33 Uhr
Goto Top
Eine weiter Lösung wäre, die Daten aus der letzten ( funktionierenden ) Datensicherung herraus, in den neuen Bereiche zurück zu sichern.

Das hatte ich bei einer 2k3 - 2k8 Migration auch so gemacht ... ( übers Wochenende )

Allerdings kommt das auch immer auf die zuvor gemachten Leistungen an, wenn alle Daten schon da sind ...

MFG Uwe
kebeil
kebeil 17.08.2011 um 16:33:59 Uhr
Goto Top
Zitat von @Metzger-MCP:
Eine weiter Lösung wäre, die Daten aus der letzten ( funktionierenden ) Datensicherung herraus, in den neuen Bereiche
zurück zu sichern.

Das hatte ich bei einer 2k3 - 2k8 Migration auch so gemacht ... ( übers Wochenende )

Allerdings kommt das auch immer auf die zuvor gemachten Leistungen an, wenn alle Daten schon da sind ...

MFG Uwe

Danke für den Tipp, aber ich werde die Lösung von bastla probieren. Die scheint am schnellsten zu funktionieren.
Metzger-MCP
Metzger-MCP 17.08.2011 um 16:39:07 Uhr
Goto Top
Zitat von @kebeil:
Danke für den Tipp, aber ich werde die Lösung von bastla probieren. Die scheint am schnellsten zu funktionieren.

Kein Thema, es gibt immer unterschiedliche Möglichkeiten.

MFG Uwe
kebeil
kebeil 18.08.2011 um 11:39:01 Uhr
Goto Top
Hmm, wenn ich das ausführe
for /f %%i in ('dir \\filer\homes$\test\ /b /ad') do cacls \\filer\homes$\test\%%i /T /E /G %%i:F /D everyone

Dann kommt folgendes raus:

C:\test>cacls \\filer\homes$\test\peter /T /E /G peter:F /D everyone
Zuordnungen von Kontennamen und Sicherheitskennungen wurden nicht durchgeführt.

Ich hab es als Admin ausgeführt. Weiß jemand warum es nicht klappt? Was mache ich falsch?
Metzger-MCP
Metzger-MCP 18.08.2011 um 13:13:24 Uhr
Goto Top
Zitat von @kebeil:
Hmm, wenn ich das ausführe
for /f %%i in ('dir \\filer\homes$\test\ /b /ad') do cacls \\filer\homes$\test\%%i /T /E /G %%i:F /D everyone

Denke du hast ein Deutsches BS -> daher muß everyone in jeder geändern, aber Vorsicht

/D xyz ist blöd -> setzt die Berechtigungen von xyz auf verweigern, ( verweigern mache ich immer sehr sehr ungerne )

Da Verweigern stärker als Gewähren ist, wäre das sogar ganz blöd bei der Gruppe Jeder :P -> da hilft dann nämlich nur ne komplette NTFS Berechtigungsvererbung wieder weiter die alles überschreibt ;)

MFG Uwe
kebeil
kebeil 18.08.2011 um 13:22:56 Uhr
Goto Top
Zitat von @Metzger-MCP:
> Zitat von @kebeil:
> ----
> Hmm, wenn ich das ausführe
> for /f %%i in ('dir \\filer\homes$\test\ /b /ad') do cacls \\filer\homes$\test\%%i /T /E /G %%i:F /D everyone

Denke du hast ein Deutsches BS -> daher muß everyone in jeder geändern, aber Vorsicht

/D xyz ist blöd -> setzt Die Berechtigungen von xyz auf verweigern, ( mache ich immer ungerne )

Da Verweigern stärker als Gewähren ist, wäre das sogar ganz blöd bei der Gruppe Jeder :P -> da hilft dann
nämlich nur ne komplette NTFS Berechtigungsvererbung wieder weiter die alles überschreibt ;)

MFG Uwe


Eigentlich wollte ich Jeder löschen, aber da hab ich in der hilfe von cacls nichts gefunden. Oder ist das der Schalter /R ?
Und wenn ich Jeder eintrage in das script bekomme ich die gleiche Fehlermeldung.
bastla
bastla 18.08.2011 um 15:38:05 Uhr
Goto Top
Hallo kebeil!

Im Zweifelsfall tendiere ich dazu, die Berechtigungen komplett neu zu setzen (insbes, wenn es ohnehin nur um wenige Benutzer / Gruppen geht) - kannst Du (ohne "/E") nach "/G" alle in einem Befehl angeben ...

... ansonsten wäre tatsächlich "/R Jeder" für das Entfernen der Gruppe zu verwenden.

Grüße
bastla
kebeil
kebeil 18.08.2011 um 17:01:57 Uhr
Goto Top
Das sind dann so Sachen wo man sich selber in den Arsch beissen könnte.
Klar dass das nicht klappen konnte, wenn es die Nutzer nicht in der AD gibt. Aber da denkt man ja beim Testen nicht ungedingt dran...
Danke nochmals.

Aber noch eine Frage: Den Besitzer kann man mit cacls nicht ändern, oder?
bastla
bastla 18.08.2011 um 17:30:50 Uhr
Goto Top
Hallo kebeil!
Den Besitzer kann man mit cacls nicht ändern, oder?
Jein - soferne Du einen 2008er Server verwendest, kannst Du den Besitzer per "icacls" setzen; ansonsten SubInACL ("takeown" wirst Du vermutlich nicht verwenden wollen, da damit nur eine Besitzübernahme möglich ist) oder SetACL (siehe dafür Beispiel 1.12) ...

Grüße
bastla
Metzger-MCP
Metzger-MCP 18.08.2011 um 18:20:28 Uhr
Goto Top
Zitat von @kebeil:
Klar dass das nicht klappen konnte, wenn es die Nutzer nicht in der AD gibt. Aber da denkt man ja beim Testen nicht ungedingt

:kicher: das nennt man Betriebsblindheit ups ich wars nicht :kicher:

;) Mfg Uwe