Wie setze ich Berechtigung -Nicht Ändern- -Nicht Ausführen- mit ICACLS auf Dateien? (Rechteverweigerung in Windows 7)
Habe in Windows 7 Professional im GUI-Dialog allen Benutzern das Recht 'Datei anhängen' und 'Datei ausführen' verweigert.
Nun kann kein Benutzer eine Datei (versehentlich) anklicken und diese läuft los, es kann auch keiner eine Datei ändern. Sehr wohl aber Lesen, Kopieren, Löschen, usw.
Nun möchte ich dies zu automatisierungszwecken in einer BAT/CMD nachbilden. Das müsste mit ICACLS gehen, aber da ich aus der Beschreibung nicht schlau werde bitte ich hier um Hilfe.
Der Dialog sieht im Detail so aus:
Im Windows-Explorer Rechtsklick auf 'D:\Verzeichnis'
-- Menüpunkt Eigenschaften
-- Reiter Sicherheit
-- Button Erweitert
-- Button Berechtigungen ändern
-- Button Hinzufügen
-- Eingabe Objektname 'JEDER'
-- Button 'OK'
-- Listen-Auswahl: 'Nur Dateien'
-- Haken setzen bei 'Datei ausführen' 'Verweigern'
-- Haken setzen bei 'Datei anhängen' 'Verweigern'
-- Button 'OK'
-- Haken setzen bei 'Alle Berechtigungen für untergeordnete Objekte ...'
-- Windows Sicherheit Nachfrage (nach Vererbung) mit 'OK' bestätigen
-- Windows Sicherheit Nachfrage (nach Verweigerung) mit 'OK' bestätigen
(in der Anzeige erscheint nun 'JEDER' mit speziellen Berechtigungen), mit 'OK' bestätigen,
(in der Anzeige erscheint nun 'JEDER' unter Gruppen oder Benutzernamen), mit 'OK' bestätigen.
Nun kann kein Benutzer (auch kein Admin) eine Datei (versehentlich) anklicken und diese läuft los, es kann auch keiner eine Datei ändern (kurz mal reinschauen, abspeichern). Sehr wohl aber lesen, Kopieren, löschen, usw.
Meine bisherigen Forschungen nach ICACLS ergaben etwas in der Art ...
ICACLS D:\Verzeichnis /DENY /T ... AD,X ...
Bei den ... würde ich mich sehr über die Hilfe eines hier fachkundigen Menschen freuen.
Herausbekommen habe ich des Weiteren noch, dass (OI)(CI) soviel heißt wie 'Dieser Ordner, Unterordner und Dateien' ... aber was nun das für meinen Fall wichtige 'Nur Dateien' heißt, da bin ich auch auf Eure Hilfe hier angewiesen.
Besten Dank und freundlicher Gruß
PS: Sollte ich diese Frage an der falschen Stelle hier gestellt haben bitte ich um zweckdienliche Verbesserungsvorschläge
Nun kann kein Benutzer eine Datei (versehentlich) anklicken und diese läuft los, es kann auch keiner eine Datei ändern. Sehr wohl aber Lesen, Kopieren, Löschen, usw.
Nun möchte ich dies zu automatisierungszwecken in einer BAT/CMD nachbilden. Das müsste mit ICACLS gehen, aber da ich aus der Beschreibung nicht schlau werde bitte ich hier um Hilfe.
Der Dialog sieht im Detail so aus:
Im Windows-Explorer Rechtsklick auf 'D:\Verzeichnis'
-- Menüpunkt Eigenschaften
-- Reiter Sicherheit
-- Button Erweitert
-- Button Berechtigungen ändern
-- Button Hinzufügen
-- Eingabe Objektname 'JEDER'
-- Button 'OK'
-- Listen-Auswahl: 'Nur Dateien'
-- Haken setzen bei 'Datei ausführen' 'Verweigern'
-- Haken setzen bei 'Datei anhängen' 'Verweigern'
-- Button 'OK'
-- Haken setzen bei 'Alle Berechtigungen für untergeordnete Objekte ...'
-- Windows Sicherheit Nachfrage (nach Vererbung) mit 'OK' bestätigen
-- Windows Sicherheit Nachfrage (nach Verweigerung) mit 'OK' bestätigen
(in der Anzeige erscheint nun 'JEDER' mit speziellen Berechtigungen), mit 'OK' bestätigen,
(in der Anzeige erscheint nun 'JEDER' unter Gruppen oder Benutzernamen), mit 'OK' bestätigen.
Nun kann kein Benutzer (auch kein Admin) eine Datei (versehentlich) anklicken und diese läuft los, es kann auch keiner eine Datei ändern (kurz mal reinschauen, abspeichern). Sehr wohl aber lesen, Kopieren, löschen, usw.
Meine bisherigen Forschungen nach ICACLS ergaben etwas in der Art ...
ICACLS D:\Verzeichnis /DENY /T ... AD,X ...
Bei den ... würde ich mich sehr über die Hilfe eines hier fachkundigen Menschen freuen.
Herausbekommen habe ich des Weiteren noch, dass (OI)(CI) soviel heißt wie 'Dieser Ordner, Unterordner und Dateien' ... aber was nun das für meinen Fall wichtige 'Nur Dateien' heißt, da bin ich auch auf Eure Hilfe hier angewiesen.
Besten Dank und freundlicher Gruß
PS: Sollte ich diese Frage an der falschen Stelle hier gestellt haben bitte ich um zweckdienliche Verbesserungsvorschläge
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 235040
Url: https://administrator.de/contentid/235040
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
am besten schaust du bei systemanwendungen wie ICACLS immer bei MSDN nach:
Meine Suche:
http://social.msdn.microsoft.com/Search/en-US?query=icacls&emptyWat ...
mein besten Ergebnis:
http://support.microsoft.com/kb/919240
ansonsten:
http://stackoverflow.com/questions/14207839/using-icacls-in-batch-file
http://stackoverflow.com/questions/14916122/setting-file-and-folder-per ...
Gruß
Chris
am besten schaust du bei systemanwendungen wie ICACLS immer bei MSDN nach:
Meine Suche:
http://social.msdn.microsoft.com/Search/en-US?query=icacls&emptyWat ...
mein besten Ergebnis:
http://support.microsoft.com/kb/919240
ansonsten:
http://stackoverflow.com/questions/14207839/using-icacls-in-batch-file
http://stackoverflow.com/questions/14916122/setting-file-and-folder-per ...
Gruß
Chris
Moin,
ich glaube der Fehler ist recht leicht:
dir fehlt die Aussage, wer gesperrt werden soll. (allerdings ist "jeder") nicht wirklich zu empfehlen. Sperren geht vor erlauben, das bedeutet, das JEDER der in der Gruppe jeder drin ist, auch Admins, geblockt werden. Korrigiert für "Jeder" würde deine Zeile so aussehen:
Sollte es bei dir nicht funktionieren, scheint bei dir etwas anders sein, als bei mir, denn bei mir funktioniert der Aufruf (Schau mal ob das Filesystem auch überall NTFS ist)
Die "Monted Drives" stören nicht, solange das Filesystem passt und der Aufruf als Admin läuft (fiel mir beim Aufruf auf).
Warum S auch gesetzt wird, kann ich dir sagen: Du verweigerst ja das Anfügen von Daten, folglich kannst du nichts neues Hinzufügen, wie willst du da sauber synchronisieren? Synchronisieren ist immer in 2 Richtungen, alles andere ist ein einfacher Kopiervorgang.
Gruß
Chris
ich glaube der Fehler ist recht leicht:
dir fehlt die Aussage, wer gesperrt werden soll. (allerdings ist "jeder") nicht wirklich zu empfehlen. Sperren geht vor erlauben, das bedeutet, das JEDER der in der Gruppe jeder drin ist, auch Admins, geblockt werden. Korrigiert für "Jeder" würde deine Zeile so aussehen:
ICACLS D:\Verzeichnis /DENY jeder:(OI)(IO)(AD,X) /T
Sollte es bei dir nicht funktionieren, scheint bei dir etwas anders sein, als bei mir, denn bei mir funktioniert der Aufruf (Schau mal ob das Filesystem auch überall NTFS ist)
Die "Monted Drives" stören nicht, solange das Filesystem passt und der Aufruf als Admin läuft (fiel mir beim Aufruf auf).
Warum S auch gesetzt wird, kann ich dir sagen: Du verweigerst ja das Anfügen von Daten, folglich kannst du nichts neues Hinzufügen, wie willst du da sauber synchronisieren? Synchronisieren ist immer in 2 Richtungen, alles andere ist ein einfacher Kopiervorgang.
Gruß
Chris
Moin,
Führst du X bzw. Robocopy als Admin aus? Ist der User wirklich Besitzer des Ordners oder darf ändern? (Die GUI holt sich da teilweise Rechte ohne Bescheid zu sagen.) nunja, was den Mount-Point angeht, halte ich es für wahrscheinlich, dass dein Benutzer nicht die passenden Rechte hat, denn bei mir klappte es. Wenn es wirklich nicht geht, markiere einfach die Ordner, rechtsklick Berechtigungen setzten, fertig. Per cmd hier auch wieder der Hinweis, dass du als Administrator unterwegs sein musst, also eine per Win+R aufgerufene CMD läuft nicht, wenn deine UAC aktiv ist.
Eine Admin-CMD erkennst du am "Administrator: " im Titel, falls du dass noch nicht wusstest.
Gruß
Chris
Führst du X bzw. Robocopy als Admin aus? Ist der User wirklich Besitzer des Ordners oder darf ändern? (Die GUI holt sich da teilweise Rechte ohne Bescheid zu sagen.) nunja, was den Mount-Point angeht, halte ich es für wahrscheinlich, dass dein Benutzer nicht die passenden Rechte hat, denn bei mir klappte es. Wenn es wirklich nicht geht, markiere einfach die Ordner, rechtsklick Berechtigungen setzten, fertig. Per cmd hier auch wieder der Hinweis, dass du als Administrator unterwegs sein musst, also eine per Win+R aufgerufene CMD läuft nicht, wenn deine UAC aktiv ist.
Eine Admin-CMD erkennst du am "Administrator: " im Titel, falls du dass noch nicht wusstest.
Gruß
Chris