Ich möchte einstellen folder
mit Berechtigungen, auf die eingeschränkte Benutzer zugreifen können file.txt
(im folder
) Sie haben die Berechtigung zum Lesen, indem sie den vollständigen Pfad angeben, konnten jedoch den Inhalt von nicht auflisten folder
.
Zum Beispiel könnten wir es unter Linux so machen:
$ whoami
cychoi
$ mkdir folder && echo 'file content' > folder/file.txt
$ chmod 111 folder/
$ sudo ls -la folder/
total 12
d--x--x--x 2 cychoi cychoi 4096 Aug 18 21:52 .
drwx------ 3 cychoi cychoi 4096 Aug 18 21:52 ..
-rw------- 1 cychoi cychoi 13 Aug 18 21:52 file.txt
$ ls folder/
ls: cannot open directory folder/: Permission denied
$ cat folder/file.txt
file content
$
In Windows 7 lösche ich alle Berechtigungen von folder
außer execute/traverse
(Nur auf diesen Ordner anwenden). Der Inhalt von kann jedoch nicht gelesen werden file.txt
Es wird sogar der vollständige Pfad angegeben.
Andererseits, wenn read data/list directory
ist auch eingestellt für folder
, file.txt
wird aber erfolgreich gelesen folder
Inhalte werden an eingeschränkte Benutzer weitergegeben.
G:\ptest>whoami user-pc\test G:\ptest>runas /u:administrator "cmd /c icacls g:\ptest\folder\ /t & pause" Enter the password for administrator: Attempting to start cmd /c icacls g:\ptest\folder\ /t & pause as user "USER-PC\administrator" ... g: \ ptest \ ordner \ benutzer-pc \ test: (S, X) BUILTIN \ Administratoren: (OI) (CI) (F) NT-BEHÖRDE \ SYSTEM: (OI) (CI) (F) Benutzer-PC \ cychoi: (OI) (CI) (F) g: \ ptest \ ordner \ datei.txt benutzer-pc \ test: (F) BUILTIN \ Administratoren: (I) (F) NT-AUTORITÄT \ SYSTEM: (I) (F) Benutzer-PC \ cychoi: (I) (F) G: \ ptest & gt; dir Volume in Laufwerk G ist ????? Die Seriennummer des Volumes lautet DEAD-BEEF Verzeichnis von G: \ ptest 18.08.2015 21:59 Uhr. 18.08.2015 21:59 .. 18.08.2015 21:59 Ordner 0 Datei (en) 0 Bytes 3 Dir (s) 4.779.642.880 Bytes frei G: \ ptest & gt; dir Ordner Volume in Laufwerk G ist ????? Die Seriennummer des Volumes lautet DEAD-BEEF Verzeichnis des Ordners G: \ ptest \ Datei nicht gefunden G: \ ptest & gt; Geben Sie folder \ file.txt ein Der Zugriff wird verweigert. G: \ ptest & gt; runas / u: administrator "cmd / c icacls g: \ ptest \ ordner \ / grant test: (rd) & pause" Geben Sie das Passwort für den Administrator ein: Versuch, cmd / c icacls zu starten g: \ ptest \ folder \ / grant test: (rd) & amp; Pause als Benutzer "USER-PC \ Administrator" ... G: \ ptest & gt; runas / u: Administrator "cmd / c icacls g: \ ptest \ Ordner \ & amp; Pause" Geben Sie das Passwort für den Administrator ein: Versuch, cmd / c icacls zu starten g: \ ptest \ folder \ & amp; Pause als Benutzer "USER-PC \ Administrator" ... g: \ ptest \ ordner \ benutzer-PC \ test: (S, RD, X) BUILTIN \ Administratoren: (OI) (CI) (F) NT-AUTORITÄT \ SYSTEM: (OI) (CI) (F) Benutzer-PC \ cychoi: (OI) (CI) (F) G: \ ptest & gt; dir Ordner Volume in Laufwerk G ist ????? Die Seriennummer des Volumes lautet DEAD-BEEF Verzeichnis des Ordners G: \ ptest \ 18.08.2015 21:59 Uhr. 18.08.2015 21:59 .. 18/08/2015 21:59 12 file.txt 1 Datei (en) 12 Bytes 2 Dir (s) 4.779.642.880 Bytes frei G: \ ptest & gt; Geben Sie folder \ file.txt ein Dateiinhalt G: \ ptest & gt;
Wie kann ich das gleiche Verhalten wie im oben gezeigten Linux-Beispiel erzielen?
access is denied
beim Versuch zu lesen file.txt
.
folder user-PC\test:(OI)(IO)(R) user-PC\test:(S,X)
folder\file.txt user-PC\test:(I)(R)
access is denied
wenn Sie verwenden type folder\file.txt
? Versuchen Sie etwas anderes, wie notepad folder\file.txt
. Wie ich mit Process Monitor überprüfe, type
erhalten ACCESS DENIED
auf Ordner und versucht nicht einmal, Datei zu öffnen.
(X)
Die Berechtigung für Verzeichnisse gilt nur für die Anzeige (und für ältere und nicht für Windows-Systeme). Ihr Problem liegt also nicht in den Berechtigungen. Wie PetSerAl bemerkte, macht es cmd.exe, was es nicht sollte, und beschuldigt dann das Falsche.
/grant test:(OI)(IO)R