Die Berechtigung von Windows 7-Hostdateien wird immer wieder auf NUR LESEN zurückgesetzt

Die Berechtigung von Windows 7-Hostdateien wird immer wieder auf NUR LESEN zurückgesetzt

Als Vollzeit-Webentwickler füge ich meiner Windows 7-HOSTS-Datei ständig gefälschte Domänen hinzu, um eine Domäne auf meinen lokalen Webserver zu verweisen, auf dem ich entwickle.

Ich habe sogar ein nettes kleines PHP-Skript erstellt, mit dem ich beispielsweise den Domänennamen eingeben kann, den ich erstellen möchtetesten.de

Mein Skript erstellt dann ...

  • entsprechende Ordner für diese neue Website in meinem Serververzeichnis
  • VirtualHosts-Eintrag in Apache(verwendet tatsächlich ein Wildcard-Setup /projects/testing.dev/www/)
  • Erstellt eine MySQL-Datenbank testing.devund ordnet dieser neuen Datenbank einen MySQL-Benutzer zu.
  • Zuletzt habe ich eine kleine EXE-Datei, die in einer Variablen „Testing“ übergeben wird, die dann meine Windows HOSTS-Datei bearbeitet und einen Eintrag in einer neuen Zeile wie diesem hinzufügt …127.0.0.1 testen.devDamit kann ich dann im Browser auf meine neue Projektseite zugreifen unterhttp://testing.dev

Dieses Setup hat in den letzten 2 Jahren wunderbar funktioniert, aber vor kurzem hat mein .EXE-Programm aufgehört zu funktionieren...bei der Überprüfung, wenn ich zu dem Ordner navigiere C:\Windows\System32\drivers\etcund die Eigenschaften für die hostsDatei in diesem Ordner ansehe, ist das erste Problem, das ich sehe, dasschreibgeschütztDas Kontrollkästchen ist aktiviert, sodass mein einfaches EXE-Programm die Hosts-Datei nicht ändern und meine neuen Einträge nicht hinzufügen kann.

Ich muss dann das schreibgeschützte Kontrollkästchen deaktivieren und meine Änderungen in der neuen Hosts-Datei manuell hinzufügen und speichern, was dann einwandfrei funktioniert. Der ganze Sinn eines benutzerdefinierten EXE-Programms, das einen Parameter (den Domänennamen) annimmt, besteht darin, Skripte wie dieses erstellen zu können, um die Bearbeitung meiner Hosts-Datei zu automatisieren und sie in Arbeitsabläufe einzuarbeiten, wie ich es getan habe.

Jedes Mal, wenn ich diese Einstellung ändere, indem ich die schreibgeschützte Eigenschaft deaktiviere und sie anwende/speichere, scheint sie innerhalb weniger Minuten wieder aktiviert zu sein!

Ich wäre für jede Hilfe dankbar, die mir dabei hilft, meinen Status „nicht markiert“ beizubehalten. Hat irgendjemand Ideen, Vorschläge oder noch besser eine echte Lösung für mein Problem?

Ich möchte außerdem erwähnen, dass ich weder Firewall noch Sicherheitsprogramme verwende, die dies verursachen könnten, noch dass Sachen von Drittanbietern laufen, die dies verursachen könnten.

Vielen Dank für jede Hilfe

Bildbeschreibung hier eingeben

Antwort1

Vielleicht liegt das Problem daran, dass ein anderes Programm das tut. Ich würde empfehlen, alle Ihre temporären Dateien zu löschen und zu sehen, ob das Problem dadurch behoben wird. Ich hoffe, das hat geholfen, andernfalls könnte es an Ihrer Registrierung liegen.

Antwort2

Versuchen Sie, die Attribute mit CMD zu ändern. Starten Sie den Computer im abgesicherten Modus mit Eingabeaufforderung.

Typ

cd C:\Windows\System32\drivers\etc (Drücken Sie die Eingabetaste)

attrib C:\Windows\System32\drivers\etc\hosts -r (drücken Sie die Eingabetaste)

Überprüfen Sie außerdem, ob für Ihre Datei ein schreibgeschützter Eintrag angezeigt wird oder nicht.

Antwort3

Ich kann nicht testen, ob dies sicher funktioniert, da die Datei bei mir nicht wie in Ihrem Fall als schreibgeschützt markiert ist, aber dies ist eine Methode, die ich verwendet habe, um zu verhindern, dass Windows meine Änderungen an durch slui.exe geschützten Dateien rückgängig macht.

Sie möchten die Berechtigungen der Datei ändern und den Zugriff auf SYSTEM und möglicherweise TrustedInstaller (aber nicht auf sich selbst) verweigern. Möglicherweise müssen Sie sich selbst zum Eigentümer der Datei machen, um dies tun zu können.

Gehen Sie zu Eigenschaften > Sicherheit > Erweitert > Berechtigungen ändern.
Bearbeiten Sie dann die Berechtigungen für SYSTEM und aktivieren Sie die Option „Schreiben von Attributen/erweiterten Attributen verweigern“. Wenn das nicht funktioniert, können Sie auf eigenes Risiko versuchen, ihm die vollständige Kontrolle zu verweigern.

Wenn Sie den Besitz der Datei übernehmen müssen, um dies zu tun, finden Sie ihn unter Eigenschaften > Sicherheit > Eigentümer > Bearbeiten

Als letzten Ausweg können Sie das Programm veranlassen, die Markierung „schreibgeschützt“ aufzuheben, wenn es die Datei ändert. Ich kenne kein PHP, daher kann ich dabei nicht helfen. Sie könnten den in Stephens Antwort vorgeschlagenen Befehl ausprobieren.

Antwort4

Vielleicht ist das keine strenge Antwort, aber ich glaube, Sie versuchen, den Brunnen wieder in Gang zu bringen :)

Installieren Sie Laragon (https://laragon.org/) als Ihren WAMP-Server (anstelle von Apache/PHP oder was Sie dort haben)

Laragon hat es gelöst (für jeden Ordner, den Sie im Projekt erstellen, wird automatisch eine Fake-Domäne erstellt)

Ich bin auch ein PHP-Entwickler, und glauben Sie mir, alle Probleme mit Apache/PHP-Erweiterung/PHP-Versionen und .local-Domänen sind mit Laragon beendet

verwandte Informationen