5 votes

Les fichiers HOSTS de Windows 7 ne cessent de revenir à l'autorisation READ-ONLY.

En tant que développeur web à plein temps, je suis constamment en train d'ajouter de faux domaines à mon fichier HOSTS de Windows 7 pour faire pointer un domaine vers mon serveur web local sur lequel je développe.

J'ai même créé un petit script PHP script qui me permet d'entrer le nom de domaine que je veux créer, par exemple testing.dev

Mon script crée alors...

  • les dossiers appropriés pour ce nouveau site web dans le répertoire de mon serveur
  • Enregistrement des serveurs virtuels dans Apache (utilise en fait une configuration Wildcard /projects/testing.dev/www/)
  • Création d'une base de données MySQL testing.dev et associe un utilisateur MySQL à cette nouvelle base de données
  • Enfin, j'ai un petit fichier .EXE qui reçoit une variable "testing" et qui modifie mon fichier HOSTS de Windows et ajoute une entrée sur une nouvelle ligne comme ceci... 127.0.0.1 testing.dev ce qui me permet d'accéder au site de mon nouveau projet dans le navigateur à l'adresse suivante http://testing.dev

Cette configuration a fonctionné à merveille au cours des deux dernières années, mais récemment, mon programme .EXE a cessé de fonctionner... après inspection, si je navigue dans le dossier C:\Windows\System32\drivers\etc et afficher les propriétés du hosts dans ce dossier, le premier problème que je vois est le fichier en lecture seule est cochée, ce qui ne permet pas à mon simple programme exe de modifier le fichier hosts et d'y ajouter mes nouvelles entrées.

Je dois alors décocher la case lecture seule et ajouter manuellement les modifications de mon nouveau fichier hosts et enregistrer, ce qui fonctionne ensuite très bien. L'intérêt d'avoir un programme .exe personnalisé qui prend un paramètre (le nom de domaine) est de pouvoir construire des scripts comme celui-ci pour automatiser l'édition de mon fichier hosts et l'intégrer dans des flux de travail comme je l'ai fait.

Chaque fois que je modifie ce paramètre en décochant la propriété de lecture seule et que je l'applique/enregistre, il semble que, quelques minutes plus tard, il soit à nouveau coché !

J'apprécierais vraiment de recevoir de l'aide pour faire en sorte que mon statut non coché soit maintenu et le reste, des idées, des suggestions ou, mieux encore, une véritable solution à mon problème, quelqu'un ?

Je tiens également à préciser que je n'ai pas de pare-feu ou de programme de sécurité qui pourrait faire cela, aucun programme tiers n'est en cours d'exécution qui pourrait causer cela.

Merci de votre aide

enter image description here

0voto

Antp Points 1025

Ce problème est peut-être dû au fait qu'un autre programme agit de la sorte. Je vous recommande d'effacer tous vos fichiers temporaires et de voir si cela résout le problème. J'espère que cela vous a aidé, sinon il pourrait s'agir de quelque chose dans votre registre.

0voto

Stephen Points 91

Essayez de modifier les attributs à l'aide de la commande CMD. Démarrez l'ordinateur en mode sans échec à l'aide de l'Invite de commande.

Typ

cd C:\Windows\System32\drivers\etc (Appuyer sur Entrée)

attribuer C:\Windows\System32\drivers\etc\hosts -r (appuyer sur la touche Entrée)

vérifiez ensuite si votre fichier est en lecture seule ou non

0voto

user234683 Points 51

Je ne peux pas tester que cela fonctionne à coup sûr car le fichier n'est pas marqué en lecture seule comme dans votre cas, mais c'est une méthode que j'ai utilisée pour empêcher Windows d'annuler mes modifications à l'adresse slui.exe les fichiers protégés.

Vous devrez modifier les autorisations du fichier et refuser l'accès à SYSTEM et éventuellement à TrustedInstaller (mais pas à vous-même). Il se peut que vous deviez vous rendre propriétaire du fichier pour pouvoir le faire.

Allez dans Propriétés > Sécurité > Avancé > Modifier les autorisations
Modifiez ensuite les autorisations de SYSTEM et cochez la case refuser l'écriture des attributs/attributs étendus. Si cela ne fonctionne pas, vous pouvez essayer de lui refuser le contrôle total, à vos risques et périls.

Si vous avez besoin de prendre la propriété du fichier pour faire tout cela, c'est dans propriétés > sécurité > propriétaire > modifier

Enfin, en dernier recours, vous pouvez faire en sorte que le programme désactive la lecture seule chaque fois qu'il modifie le fichier. Je ne connais pas PHP, je ne peux donc pas vous aider. Vous pouvez essayer la commande suggérée dans la réponse de Stephen.

0voto

Michał G Points 101

Ce n'est peut-être pas une réponse stricte, mais je pense que vous essayez de réinventer le puits :)

Installer laragon ( https://laragon.org/ ) comme serveur wamp (à la place d'apache/php ou de ce que vous avez là)

Laragon a résolu le problème (pour tout dossier que vous créez dans le projet, un domaine fictif est automatiquement créé).

Je suis également développeur php, et croyez-moi, tous les problèmes liés à l'apache, à l'extension php, aux versions php et aux domaines .local ont été résolus par laragon.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X