Es scheint, dass Sie das Read-only
Attribut einer Datei mit der verwechseln ACL
(wie andere bereits erwähnt haben).
Wenn eine Datei mit dem Read-only
Attribut gekennzeichnet ist (wie durch attrib
oder sichtbar ist dir /a:r
), kann sie (Read-only)
vom System und allen Benutzern unabhängig von den ACL
Berechtigungen der Datei für jeden Benutzer nicht beschrieben werden.
Wenn Sie versuchen, die Write
Berechtigung (ACL)
einer Datei für einen bestimmten Benutzer zu finden, wird dies mit angezeigt icacls
.
Zum Beispiel habe ich eine Datei mit dem Namen "test.txt" erstellt. Die Datei ist NICHT markiert Read-only
.
C:\>attrib test.txt A C:\test.txt C:\>
Ich habe die Datei geprüft mit icacls
:
C:\>icacls test.txt test.txt BUILTIN\Administrators:(I)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\Authenticated Users:(I)(M) BUILTIN\Users:(I)(RX) C:\>
Ich habe die Datei markiert Read-only
mit attrib
:
C:\>attrib +R test.txt A R C:\test.txt C:\>attrib test.txt A R C:\test.txt C:\>
Ich habe die Datei noch einmal geprüft mit icacls
:
C:\>icacls test.txt test.txt BUILTIN\Administrators:(I)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\Authenticated Users:(I)(M) BUILTIN\Users:(I)(RX) C:\>
Wie Sie gesehen haben, ändert sich die Ausgabe von icacls
für diese Datei nicht.
Dann änderte ich die Erlaubnis der Datei BUILTIN\Users
zu Deny Write
(diese annähert Read-only
), und überprüft die Datei erneut mit icacls
:
C:\>icacls test.txt test.txt BUILTIN\Users:(DENY)(W) BUILTIN\Administrators:(I)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\Authenticated Users:(I)(M) BUILTIN\Users:(I)(RX) C:\>
Beachten Sie, dass jetzt BUILTIN\Users:(DENY)(W)
die Datei angezeigt wird.
Wenn ich die Erlaubnis der Datei ändern für BUILTIN\Users
auf Deny Full control
und prüfen Sie die Datei erneut icacls
zeigt:
C:\>icacls test.txt test.txt BUILTIN\Users:(N) BUILTIN\Administrators:(I)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\Authenticated Users:(I)(M) BUILTIN\Users:(I)(RX) C:\>
Es wird jetzt BUILTIN\Users:(N)
für die Datei angezeigt.
Wenn ich die Erlaubnis der Datei ändern für BUILTIN\Users
zu Allow Full control
und dann Deny Modify
und überprüfen Sie die Datei erneut icacls
zeigt:
C:\>icacls test.txt test.txt BUILTIN\Users:(DENY)(M) BUILTIN\Administrators:(I)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\Authenticated Users:(I)(M) BUILTIN\Users:(I)(RX) C:\>
Es wird jetzt BUILTIN\Users:(DENY)(M)
für die Datei angezeigt.
Wenn Sie die Einstellung des Attributs "Schreibgeschützt" für eine Datei anzeigen möchten, können Sie sie nicht sehen, icacls
da sie Read-only
nicht Teil der Datei ist ACL
. Sie sollten verwenden attrib
.