Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Setzen von Ordnerberechtigungen per Batch

Frage Entwicklung Batch & Shell

Mitglied: beowulf1980

beowulf1980 (Level 1) - Jetzt verbinden

29.10.2007, aktualisiert 12.11.2007, 7006 Aufrufe, 7 Kommentare

Hi,

ich hab ne Aufgabe bekommen ein Skript zu schreiben, das Ordnerberechtigungen nach bestimmten Vorgaben setzt. Ich weiss nicht ob das per Batch lösbar ist, deswegen wollte ich hier erst mal fragen bevor ich anfange mich da noch tiefer einzulesen. Wenn das geht bin ich natürlich auch für alle Ratschläge dankbar.

Ich glaub ich schilder einfach mal am besten was wir hier vorhaben.
Meine Firma ist in der Forschung tätig und wir haben immer relativ viele Projekte am laufen, die natürlich auch viel Dateikram und so erzeugen.
Da bei Forschung sowas ja auch immer Geheimhaltung unterliegt dürfen auf jeden Projektordner nur bestimmte Leute zugreifen. Und unterhalb dieses Ordners auch nur auf bestimmte.

Das Schema sieht so aus
01.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status 
02.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\A_Angebot 
03.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\A_Berichte 
04.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\F_Bilder 
05.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\F_Messdaten_und_Messprotokolle 
06.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\V_Angebote_Geraete_und_Leistungen_Dritter 
07.
Z:\projekte\zzz---Industrie___JJJJ_MM_dd-JJJJ_MM_dd___laufendeNummer___Firma___Bearbeiter___Status\V_Finanzierungsplan_und_Kontobericht
Dieser Teil mit den ___ dazwischen bekommt dann natürlich immer andere Werte.
Die Unterstruktur bleibt aber immer so.

Meine Idee war jetzt da ich das ja nicht bei allen Projekten immer händisch einstellen will das ich mir von dem jeweiligen Projektersteller in dem Ersten Ordner ne .txt ablegen lasse zb nach dem Schema
01.
A-Ordner 
02.
User1___schreiben___lesen___ändern 
03.
User2___lesen 
04.
User3___ändern 
05.
 
06.
F-Ordner 
07.
User2___schreiben___lesen 
08.
User4___lesen 
09.
User5___ändern 
10.
 
11.
V-Ordner 
12.
User1___schreiben 
13.
User4___schreiben
Der User der als Bearbeiter in dem ersten Verzeichnis ist und natürlich ich als Domänenadmin sollen Vollzugriff auf alles darunter bekommen.

Auf die Unterordner soll dann eben genau das angewendet werden wie es in der txt-file drinsteht.

Ich hoffe ich habs gut genug erklärt.

Es wäre echt super wenn mir jemand sagen kann ob das mit Batch realisierbar wäre.

Hm ich seh gerade entschuldigung das die Ordnernamen so komisch aussehen aber eigentlich sollten da underscores auftauchen. Anscheinend wird dann automatisch ne Unterstreichung vorgenommen.

Gruß
beowulf

[Edit Biber] Ein bisschen in <code> gesetzt [/Edit]
Mitglied: TuXHunt3R
29.10.2007 um 19:10 Uhr
Berechtigungen verteilen geht per Batch! Die Gruppen müssen aber vorher schon existieren. Sieh dir dazu das Tool xcacls.exe an. Damit kannst du Berechtigungsgruppen oder User auf einem Ordner oder einer Datei berechtigen.

Allgemein empfehle ich dir folgende Strategie: Du erstellst pro speziell abgesicherten Ordner zwei Berechtigungsgruppen: Eine mit den NTFS-Rechten "Ändern" und eine mit den NTFS-Rechten "Lesen". Du erstellst also pro Share erstmal mindestens zwei Benutzergruppen (Ändern und Lesen). Diese berechtigst du auf der obersten Ebene dieses Shares und vererbst die Berechtigungen auf alle untergeordneten Objekte. In diese zwei Usergruppen packst du die User rein, die zumindest mal auf den Share Zugriff haben müssen.

Wenn du nun einen Unterordner speziell schützen willst, erstellst du für diesen Ordner zwei weitere Benutzergruppen (Ändern und Lesen) und packst dort wieder die entsprechenden User rein. Diese Berechtigung vererbst du dann wieder auf die untergeordneten Objekte usw.

Verwende die jeweiligen Berechtigungsgruppen jeweils nur für den dazugehörigen Ordner und für nichts anderes. Wenn du an einem anderen Ort etwas speziell schützen willst, erstell zwei neue Gruppen und pack die entsprechenden User wieder dort hinein.

Wir machen es im Betrieb auch so und diese Lösung ist am Anfang vielleicht mühsam zu realisieren, da viele Usergruppen erstellt werden müssen, aber danach hast du Ordnung und weisst immer, wo genau einer berechtigt ist.
Bitte warten ..
Mitglied: beowulf1980
29.10.2007 um 20:03 Uhr
Hi erstmal danke für die Antwort.
Also das mit dem xcacls werde ich mir mal anschauen.
Aber deine Methode ist glaube ich für mich nicht praktikabel. Da ich ja dann jedesmal wenn ein neuer Ordner für ein Projekt angelegt wird die beiden Gruppen erstellen muss.
Und unterhalb der Ordner wird ja dann wieder aufgeteilt wer was darf.

Das ist ja dann im Endeffekt ein nie endender Aufwand den ich da betreibe. Denn es wird kaum Projekte geben an denen exakt diesselben Leute arbeiten.

Gruß
Beowulf
Bitte warten ..
Mitglied: TuXHunt3R
29.10.2007 um 23:21 Uhr
Wie gesagt, so machen wir es im Betrieb und es funktioniert. Wir haben allerdings, wenn man sich die schiere Grösse meines Betriebs anschaut (55'000 Mitarbeiter), Leute aus einzelnen Abteilungen dazu "verdammt", die Rechteverwaltung zu übernehmen. Diese Leute nennen sich Shareowner und diese haben die Berechtigung, auf den Shares Leute in Benutzergruppen hineinzupacken. Wir müssen hier "nur" noch Administrationsaufwand betreiben, wenn ein Ordner neu abgesichert werden muss, d.h. neue Berechtigungsgruppen erstellt werden müssen. Die User abfüllen kann dann der Shareowner.

Im Allgemeinen würde ich dir einfach davon abraten, einzelne User auf Ablagen zu berechtigen. Auch abraten würde ich dir von der Möglichkeit, Berechtigungen auf einzelne Dateien zu setzen. Setz die Berechtigungen lieber auf die Ordner. Wenn du diese zwei "Regeln" befolgst, verhinderst du zumindest das totale Chaos.
Bitte warten ..
Mitglied: beowulf1980
29.10.2007 um 23:56 Uhr
Hi TuxHunt3r,

nochmals danke für deine Antwort.
Also meine Firma ist da mit 200 Mitarbeitern doch relativ klein.

Wir sind halt in der Forschung und ich kann keinem wissenschaftlichem Mitarbeiter zumuten das er sich um die Berechtigungen für Ordner kümmert.

Aber an das andere was du geschrieben hast wollte ich mich eh halten.

Dann um vielleicht nochmal auf nen anderen Teil aus meiner Frage zurückzukommen.
Kann ich mit Batch eine Datei öffnen, die Werte die da drin stehen in Variablen setzen und diese Variablen wieder in der ursprünglichen Batch weiterverwenden ?

Gruß
Beowulf
Bitte warten ..
Mitglied: Biber
30.10.2007 um 07:44 Uhr
Moin Beowulf,

zu Deiner letzten Frage: ja, es ist mit Batch möglich, Textdateien auszulesen und die jeweiligen Inhalte als Variablen/Parameter in einem Batch zu verwenden.

Wenn Du es transparent und pflegbar halten willst, würde ich Dein oben vorgeschlagenes Format (sinngemäß) so ändern:
01.
A-Ordner: User1: schreiben, lesen, ändern 
02.
A-Ordner: User2: lesen 
03.
A-Ordner: User3: ändern 
04.
 
05.
F-Ordner: User2: schreiben, lesen 
06.
F-Ordner: User4: lesen 
07.
F-Ordner: User5: ändern 
08.
 
09.
V-Ordner: User1: schreiben 
10.
V-Ordner: User4: schreiben
....da Textdateien im Batch besser zeilenorientiert ausgewertet werden können als wenn sie die weniger redundante Struktur von Ini-Dateien haben (so mit Sections und Entry=Value, wie Du oben skizziert hast).

Die Variante von mir, die dann abzählbar viele Schlüsselworte enthält ("lesen", "ändern", schreiben"- Enum heißt das wohl auf neudeutsch) und erkennbare eindeutiger Trennzeichen (die ":" ) ließe sich dann mit einer Kombination von 'Find "schlüsselwort" in Datei.txt' und/oder in einer FOR/F-Anweisung auswerten.

Und, was wichtiger wäre: der Aufbau ist toi toi toi für jeden DAU unmissverständlich.
Beispiele für solche FOR /F-Bätche findest Du in Bereich "Batch & Shell".

Grüße
Biber
Bitte warten ..
Mitglied: beowulf1980
30.10.2007 um 10:49 Uhr
Hi Biber.

Super. Vielen Dank.
Daraus kann ich bestimmt was machen.

Wenn ich den ersten Rohbau fertig poste ichs mal, dann kannst du ja vielleicht mal drüberschauen.

Gruß
Beowulf
Bitte warten ..
Mitglied: MoeHB
12.11.2007 um 14:13 Uhr
hallo,

wie kann ich denn (x)cacls dazu nutzen, die veerbung zu deaktivieren.
Ich habe da eine Situation da darf eine Gruppe nur die Berechtigung
"Vollzugriff: Nur für diesen Ordner" haben.

Hat jemand eine Idee?
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...