Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

GELÖST

Verzeichnisrechte mit Cacls nur dann ersetzen, wenn der User keinen vererbten Vollzugriff hat

Mitglied: Iknarf

Iknarf (Level 1) - Jetzt verbinden

05.12.2011 um 15:20 Uhr, 3925 Aufrufe, 4 Kommentare

Hallo,
seit einer Weile bin ich dabei ein Batchscript zu schreiben, welches die Berechtigungsstruktur für ein bestimmtes Verzeichnis und deren Unterverzeichnisse anpasst. Hintergrund ist der, dass auf dem Ursprungs Verzeichnis Rechte für den Ersteller mit Vollzugriff ohne Vererbung aktiv sind. Das bedeutet, dass der User in diesem Ursprungsverzeichnis Verzeichnisse und darunter auch Verzeichnisse und Dateien erstellen kann, auf diese kann er auch selbst zugreifen, jedoch sobald z. B. ein Administrator in diese Verzeichnisse Dateien kopiert kann der Anwender nicht auf diese zugreifen, da keine Vererbung aktiv war und er nicht mehr berechtigt ist.

Da die Anwenderverzeichnisse dynamisch bei der ersten Anmeldung mit dem jeweiligen Anmeldenamen erzeugt wurden und das Ganze zudem historisch gewachsen ist, suche ich nun einen Weg die Rechtestruktur "gerade" zu ziehen. Mein Ansatz ist eine FOR Schleife, welche das Ursprungsverzeichnis nach den Unterordnern (Anmeldenamen) durchsucht und im Anschluss die Rechte für den betreffenden User auf Vollzugriff mit Vererbung ändert:

01.
 FOR /F "tokens=1,*" %%i IN ('DIR /b C:\Verzeichnis') DO CACLS C:\Verzeichnis\%%i /T /E /P Domain\%%i:F 

das funktioniert z. B. per Task ganz gut, jedoch werden die Berechtigungen bei jedem Neustart des Computers angefasst, was bei großen Datenmengen doch erheblich lange dauert.

Daher meine Frage, gibt es die Möglichkeit das Skript so anzupassen, dass die Berechtigungen nur dann angefasst werden, wenn der User auf seinen Ordner keinen vererbten Vollzugriff hat. Falls ja, wie müsste oder sollte der Code hierzu aussehen?

Vielen Dank und viele Grüße
Frank
Mitglied: Luie86
05.12.2011 um 17:43 Uhr
Hi,

ich würde dir empfehlen für solche Sachen nicht Batch zu verwenden.
Nimm lieber VBS, Perl, <beliebige Programmier-/Skriptsprache>.

Da ich sowas ähnliches schon in Perl gelöst habe, könnte ich dir mein Skript schicken.
Müsstest es nur ein wenig anpassen und vielleicht hat es sich damit ja schon erledigt.

Gruß Daniel
Bitte warten ..
Mitglied: 60730
05.12.2011 um 21:37 Uhr
moin,

das ist doch ganz einfach - auch ohne Perl..

If exist flag - damit das stur nur einmal läuft
oder uauberer
cacls C:\Verzeichnis |find /i "%username%" - oder was immer du da gradeziehst - && goto end: || goto einzeilerschleife von oben.

Gruß
Bitte warten ..
Mitglied: Iknarf
06.12.2011 um 11:20 Uhr
@TimoBeil

vielen Dank das war's ...

Zitat von 60730:
> cacls C:\Verzeichnis |find /i "%username%" - oder was immer du da gradeziehst - && goto end: || goto
einzeilerschleife von oben.

An die "||" habe ich gar nicht gedacht, vielmehr kannte ich die gar nicht .

So sieht mein Skript jetzt fertig aus:

01.
 FOR /F "tokens=1,*" %%i IN ('DIR /b C:\Verzeichnis') DO ( 
02.
CACLS C:\Verzeichnis\%%i | FINDSTR /I "domain\%%i:(OI)(CI)F" || CACLS C:\Verzeichnis\%%i /T /E /C /P domain\%%i:F  
03.
)

Viele Grüße
Frank
Bitte warten ..
Mitglied: Iknarf
06.12.2011 um 11:22 Uhr
@Luie86

vielen Dank für Dein Angebot, aber mit Perl kenne ich mich nicht so aus.

Viele Grüße
Frank
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Mails versenden (Exchange 2013) ohne das User mit vollzugriff diese sehen können
Frage von ArtjeroOutlook & Mail6 Kommentare

Hallo, kennt jemand eine möglichkeit Mails Outlook 2013/Exchange 2013 zu versenden/empfangen ohne das andere User die Vollzugriff auf das ...

Windows Server
Zugriffsrechte auf Ordnerebene werden nicht vererbt
Frage von kafri84Windows Server3 Kommentare

Hallo zusammen, ich habe folgendes Problem: Auf einem Windows Server 2012, der als Dateiserver dient, sind Freigaben für die ...

Windows Userverwaltung
Xcacls bzw. cacls nutzen
gelöst Frage von NagusWindows Userverwaltung4 Kommentare

Hi, ich versuche gerade ein Script zu erstellen, um mit xcacls oder cacls die Berechtigungen auf einem Verzeichnis zu ...

Exchange Server
Verständnisfrage: "Vollzugriff" in Exchange
gelöst Frage von honeybeeExchange Server17 Kommentare

Hallo, ich kann nicht so richtig herausfinden, was genau beim Vollzugriff so freigegeben wird. Unter "Vollzugriff" verstehe ich, dass ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit27 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Monitoring
VPN Performance Zyxel-Fritte
gelöst Frage von HenereMonitoring13 Kommentare

Servus, nachdem ihr mir ja schon so gut helfen konntet, was das VPN zwischen Zyxel USG60W und Fritte 7490 ...