Wie kann ich die Berechtigung zum Löschen / Ändern einer Datei verweigern?

2

Ich möchte mir die Möglichkeit verweigern, eine ausführbare Datei zu ändern oder zu löschen.

Wenn .NET Reflector Sie fragt, ob Sie aktualisieren möchten:

Bildbeschreibung hier eingeben

und Sie wählen Nein, es löscht sich spontan als Vergeltung:

Bildbeschreibung hier eingeben

Ich möchte also verhindern, dass ich auf Deletedie ausführbare Datei zugreifen kann. als Strafe für ihre Bestrafung.

Ich habe versucht, mir die Erlaubnis zu verweigernWrite (und sie allen und Administratoren zu verweigern ):

Bildbeschreibung hier eingeben

Außer, ich kann immer noch mit der rechten Maustaste -> Datei löschen ...

Wie kann ich die Berechtigung zum Löschen / Ändern einer Datei verweigern?

Ian Boyd
quelle
Ja, Schreibzugriff hat nichts mit Löschberechtigung zu tun. Dies scheint ein ziemlich drakonischer Weg zu sein, um dieses Problem zu lösen.
Surfasb
Ich bin überrascht über eine Ablehnung. Ich würde denken, dass es eine nützliche Frage ist, zu verhindern, dass etwas Ihre Dateien verändert.
Ian Boyd
@surfasb Schreibzugriff kann sehr gut nichts mit Löschen zu tun haben. Ich schließe nur Dinge ein, die ich ausprobiert habe, weil manche Leute mürrisch werden, wenn ich einfach die Frage stelle. Und einige Leute werden boshafte Abstimmungen abgeben, wenn ich nicht "Forschungsanstrengungen zeige".
Ian Boyd
Nur deshalb, weil ich die Frage ziemlich amüsant finde. Dann erinnerte ich mich an schmerzhafte Zeiten mit dem Adobe Flash-Installer und fühlte mich plötzlich weniger amüsiert.
Mark K Cowan

Antworten:

3

Unter Windows ist es ausreichend, eine der folgenden Komponenten zu haben :

  • "Löschen" auf dem Objekt oder
  • "Kind löschen" auf seinem Elternteil

Daher kann eine Datei nur dann nicht mehr gelöscht werden, wenn Sie beides ablehnen .

Verwenden Sie icaclsdiese Option, um die Berechtigungen zu bearbeiten:

  • "Löschen" der Datei verweigern:

    icacls Reflector.exe /deny Everyone:(D)
    
  • "Untergeordnetes Element löschen" für den Ordner verweigern:

    icacls . /deny Everyone:(DC)
    

(Getestet unter Windows XP.)

Grawity
quelle
Durch Verweigern der ModifyBerechtigung wird auch die ExecuteBerechtigung entfernt . und ich kann die datei trotzdem löschen!
Ian Boyd
Wie gesagt, "Sie müssen möglicherweise auch" Elemente löschen "im Ordner verweigern" ... Dies kann auch mit icacls geschehen.
Grawity
Auf der anderen Seite würde dies die Möglichkeit verweigern, andere Elemente im Ordner zu löschen. Da es nicht zu funktionieren scheint, gehe ich davon aus, dass es nicht möglich ist, das Löschen einer Datei zu verweigern - das Löschen muss nicht für Dateien, sondern für Ordner erfolgen.
Ian Boyd
Bearbeiten Sie Ihre Antwort, um anzuzeigen, dass dies nicht möglich ist. "Hier sind jedoch einige Alternativen, die nützlich sein könnten." Sie erhalten dann die Bestätigung.
Ian Boyd