Dateien können auch nach dem Festlegen der Berechtigung "Schreibgeschützt" durch ICACLS geändert werden. Warum funktioniert es nicht?

803
kaly

Ich bin der Administrator in meinem PC und es gibt einige andere Benutzer darauf. Ich habe einen Ordner (Gabi) als "Nur Lesen" für einen bestimmten Benutzer (Alice) festgelegt, der ICACLS über die Eingabeaufforderung verwendet (ich verwende Windows 7 in VirtualBox). Der Ordner enthält einige ".txt" -Dateien. Ich habe den folgenden Befehl verwendet:

icacls "C:\ITSM Lab1\Administration\Gabi" /grant:r Alice:(OI)(CI)R /T 

Der obige Befehl wurde erfolgreich in der Eingabeaufforderung ausgeführt. Die Dateien im Ordner können jedoch noch geändert werden (Alice kann die Textdatei ändern und auch die Datei speichern. Er kann auch umbenennen. Er kann sogar den gesamten Ordner mit den Dateien löschen).

Ich habe auch diesen Link ausprobiert: Verwenden Sie icacls, um ein Verzeichnis unter Windows 7 schreibgeschützt zu machen . Ich folgte dem Link und versuchte den folgenden Befehl:

C:\Windows\system32\Icacls "C:\ITSM Lab1\Administration\Gabi" /deny "Alice": (CI)(OI)(W,D) /Grant:r "Alice":(CI)(OI)R /T 

Im obigen Befehl habe ich für Alice "Schreiben" und "Löschen" verweigert und Alice die Berechtigung "Nur Lesen" erteilt. Dieser Befehl wurde erfolgreich ausgeführt, aber der Ordner "Gabi" wird vollständig unzugänglich und nicht wiederherstellbar, was meinem Zweck nicht entspricht.

Dann habe ich Windows 7 in den Zustand zurückversetzt, bevor der obige Code ausgeführt wurde.

Ich weiß nicht, warum die Befehle die Berechtigung "Nur Lesen" nicht wirklich festlegen. Eigentlich möchte ich die Erlaubnis so einstellen, dass Alice die TXT-Dateien lesen kann, aber die Dateien / Ordner nicht ändern / löschen kann und er keine neue Datei erstellen kann. Ordner im "Gabi" -Ordner. Ich habe gerade die Erlaubnis für Alice über die GUI (Registerkarte "Sicherheit") überprüft: In der Spalte "Zulassen" wird nur "Lesen" markiert (es gibt keine weiteren Markierungen). Die GUI zeigt also an, dass für den Gabi-Ordner die Berechtigung "Nur Lesen" gilt. Alice kann diese Dateien und den Ordner jedoch weiterhin ändern und löschen. Ich weiß nicht warum.

Was mache ich falsch?


Vor dem ersten Befehl habe icacls "C:\ITSM Lab1\Administration\Gabi" /grant:r Alice:(OI)(CI)R /Tich den folgenden Befehl ausgeführt:

icacls "C:\ITSM Lab1\Administration\Gabi" /grant Alice:R /T 

Wenn ich den Befehl ausführe, icacls "C:\ITSM Lab1\Administration\Gabierhalte ich folgendes Ergebnis:

icacls "C:\ITSM Lab1\Administration\Gabi" C:\ITSM Lab1\Administration\Gabi Tanvir-PC\Alice:(R) Tanvir-PC\Alice:(OI)(CI)(R) Tanvir-PC\Gabi:(OI)(CI)(F) Tanvir-PC\SysAdministrator:(OI)(CI)(F) Tanvir-PC\CEO:(OI)(CI)(F) Tanvir-PC\Managers:(I)(OI)(CI)(N) Tanvir-PC\SysAdministrator:(I)(OI)(CI)(F) Tanvir-PC\CEO:(I)(OI)(CI)(F) BUILTIN\Administrators:(I)(F) BUILTIN\Administrators:(I)(OI)(CI)(IO)(F) NT AUTHORITY\SYSTEM:(I)(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F) BUILTIN\Users:(I)(OI)(CI)(RX) NT AUTHORITY\Authenticated Users:(I)(M) NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M) Successfully processed 1 files; Failed processing 0 files 

the result screenshot


AKTUALISIEREN:

In meinem Windows 7 (in VirtualBox) gibt es 4 lokale Gruppen (die ich über die Befehlszeile erstellt habe):

Administration
CEO
Manager
SysAdministrator

Jede lokale Gruppe hat Benutzer, die ich über die Befehlszeile erstellt habe:

Benutzer in " Administration ": Alice, Gabi

Benutzer in " CEO ": Chief

Benutzer in " Managers ": Anthony, Elisa

Benutzer in " SysAdministrator ": Admin

groups Users

0
Ich habe den Befehl C: \> icacls "C: \ Arbeitsplatz \ Themen \ Rasu" ausgeführt. Das Ergebnis, das ich für Hary erhielt, ist: --- C: \ Arbeitsplatz \ Themen \ Rasu Kaly-PC \ Hary: (R) Kaly -PC \ Hary: (OI) (CI) (R) kaly vor 6 Jahren 0
OK. Zunächst einmal wird durch die Erteilung der (R) ead-Berechtigung ein Objekt (z. B. eine Datei oder ein Ordner) nicht schreibgeschützt. NTFS-Berechtigungen sind "additiv", dh alle Berechtigungen, die ein Benutzer besitzt, werden addiert, um zu bestimmen, was er tun kann. Was ist dein Endziel hier? Um es so zu machen, dass nur ein bestimmter Benutzer (oder eine Benutzergruppe) diesen Ordner und seinen Inhalt lesen, aber nicht ändern kann? Twisty Impersonator vor 6 Jahren 0
mein ziel ist: ein bestimmter benutzer kann lesen, aber nichts anderes tun kaly vor 6 Jahren 1

1 Antwort auf die Frage

1
Twisty Impersonator

Das Problem: Sie Benutzer wird werden zusätzliche Rechte gewährt

Ich möchte die Berechtigung so einstellen, dass Alice die TXT-Dateien lesen kann, aber die Dateien / den Ordner nicht ändern / löschen kann

Um dieses Ergebnis zu erzielen, sollten Ihrem Benutzer nur NTFS-Leseberechtigungen für den Ordner erteilt werden. Die Tatsache, dass Ihr Benutzer Objekte in diesem Ordner noch ändern kann, zeigt an, dass ihm mehr als nur die Leseberechtigung erteilt wurde. NTFS-Berechtigungen sind additiv. Daher werden alle einem Benutzer gewährten Berechtigungen hinzugefügt, um zu bestimmen, was der Benutzer letztendlich tun kann.

Einem Benutzer können Berechtigungen erteilt werden, indem diese Berechtigungen direkt seinem Benutzerobjekt erteilt werden oder über Berechtigungen, die einer Gruppe erteilt wurden, deren Mitglied der Benutzer ist.

Entsprechend der Ausgabe des icacls "C:\ITSM Lab1\Administration\Gabi"Befehls haben die folgenden Identitäten (M) odify oder (F) ull Berechtigung für den Ordner (ich habe SYSTEM ausgeschlossen):

  • Tanvir-PC \ Gabi: (OI) (CI) (F)
  • Tanvir-PC \ SysAdministrator: (OI) (CI) (F)
  • Tanvir-PC \ CEO: (OI) (CI) (F)
  • Tanvir-PC \ SysAdministrator: (I) (OI) (CI) (F)
  • Tanvir-PC \ CEO: (I) (OI) (CI) (F)
  • BUILTIN \ Administratoren: (I) (F)
  • BUILTIN \ Administrators: (I) (OI) (CI) (IO) (F)
  • NT-AUTORITÄT \ Authentifizierte Benutzer: (I) (M)

Das offensichtlichste Problem ist, dass die besondere Identität "Authentifizierte Benutzer" über Berechtigungen zum Ändern verfügt. Diese Gruppe hat automatisch alle Benutzer, die über ein gültiges Konto auf dem Computer verfügen, das Ihren Benutzer enthält.

Wenn sich in dieser Liste weitere Gruppen befinden, deren Mitglied Ihr Benutzer ist, werden ihm auch dessen Mitgliedschaft in diesen Gruppen mehr als Leseberechtigungen erteilt.

Verfügbare Lösungen

Entfernen Sie den Benutzer entweder aus einer Gruppe, der mehr als Leseberechtigung für den Ordner erteilt wurde, oder widerrufen Sie die Berechtigungen dieser Gruppe für den Ordner.

Wenn das oben genannte keine Option ist, können Sie Ihrem Benutzer die folgenden Berechtigungen für den Ordner verweigern. Berechtigungen verweigern überschreiben immer Berechtigungen zulassen. Dies wirkt sich auf alle Berechtigungen aus, die dem Benutzer erteilt werden, unabhängig davon, wie sie gewährt werden:

Erlaubnis zu verweigern:

  • WD - Daten schreiben / Datei hinzufügen
  • AD - Daten anhängen / Unterverzeichnis hinzufügen
  • WA - Attribute schreiben
  • DC - Kind löschen
  • DE - löschen
  • WEA - erweiterte Attribute schreiben

Hinweis: Die Verwendung von Berechtigungen zum Verweigern ist normalerweise eine schlechte Idee und sollte nur als letztes Mittel verwendet werden.


Eine bessere Möglichkeit, Berechtigungen zu verwalten

Normalerweise müssen Sie mehreren Benutzern die folgenden Berechtigungen für einen Ordner erteilen:

  • Lesen
  • Ändern

Ein Best-Practice-Ansatz, der den Aufwand für das Erteilen / Widerrufen von Berechtigungen für Benutzer auf ein Minimum reduziert, ist die Verwendung von Ressourcengruppen . Eine Ressourcengruppe ist einfach eine Gruppe, die einem Objekt eine bestimmte Berechtigung erteilt hat. Beispielsweise würde Ihr Ordner die folgenden Gruppen benötigen:

  • r_Gabi-Read (Berechtigte Leseberechtigung )
  • r_Gabi-Modify (Erlaubte Modify-Berechtigungen)

Um die Berechtigungen eines Benutzers oder einer Gruppe für das Objekt zu ändern, fügen Sie sie einfach der Mitgliedschaft in der entsprechenden Ressourcengruppe hinzu oder entfernen sie daraus. Dies ist schneller als das Ändern der Berechtigungen für das Objekt. Es hat auch den entscheidenden Vorteil, dass im MMC-Snap-In (oder lokalen Konten für Nicht-Domänen-PCs) von Active Directory-Benutzer und -Gruppen genau angegeben ist, wer auf was zugreifen kann.

Diese Strategie erfordert, dass Sie zusätzlich zu den Berechtigungen, die den Ressourcengruppen erteilt werden, nur die zusätzlichen Berechtigungen für Vollzugriff für die Identitäten SYSTEMund vergeben Administrators. Es dürfen keine anderen Berechtigungen für das Objekt erteilt werden.

"Authentifizierte Benutzer" ist NICHT das Gleiche wie "Benutzer". Das sind zwei getrennte Gruppen. Hier finden Sie einige Informationen, die Ihnen helfen werden: [Über NTFS-Berechtigungen] (http://techgenix.com/understanding-windows-ntfs-permissions/); [Explizite vs. geerbte Berechtigungen] (http://www.ntfs.com/ntfs-permissions-explicit.htm); [Grundberechtigungen] (http://www.ntfs.com/ntfs-permissions-file-folder.htm); [Bestimmen der effektiven Berechtigungen] (http://www.ntfs.com/ntfs-permissions-file-effective.htm); Twisty Impersonator vor 6 Jahren 0
Kommentare sind nicht für eine erweiterte Diskussion vorgesehen. Diese Konversation wurde [zum Chat verschoben] (http://chat.stackexchange.com/rooms/67210/discussion-on-answer-by-twisty-impersonator-files-can-still-be-modified-even-aft) . Journeyman Geek vor 6 Jahren 0