Los archivos HOSTS de Windows 7 siguen revirtiendo su permiso a SOLO LECTURA

Los archivos HOSTS de Windows 7 siguen revirtiendo su permiso a SOLO LECTURA

Como desarrollador web de tiempo completo, agrego constantemente dominios falsos a mi archivo HOSTS de Windows 7 para apuntar un dominio a mi servidor web localhost en el que desarrollo.

Incluso he creado un pequeño script PHP que me permite ingresar el nombre de dominio que quiero crear, por ejemplo.pruebas.dev

Mi script luego crea...

  • carpetas apropiadas para este nuevo sitio web en el directorio de mi servidor
  • Registro de VirtualHosts en Apache(en realidad utiliza una configuración comodín /projects/testing.dev/www/)
  • Crea una base de datos MySQL testing.devy asocia un usuario MySQL a esta nueva base de datos.
  • Por último, tengo un pequeño archivo .EXE que se pasa en una variable "prueba" y luego edita mi archivo HOSTS de Windows y agrega una entrada en una nueva línea como esta...127.0.0.1 pruebas.devque luego me permite acceder al sitio de mi nuevo proyecto en el navegador enhttp://testing.dev

Esta configuración ha funcionado de maravilla durante los últimos 2 años, pero recientemente mi programa .EXE dejó de funcionar... al inspeccionarlo, si busco la carpeta C:\Windows\System32\drivers\etcy veo las propiedades del hostsarchivo en esta carpeta, el primer problema que veo es elsolo lecturaLa casilla de verificación está marcada, lo que no permite que mi programa exe simple modifique el archivo de hosts y agregue mis nuevas entradas.

Luego tengo que desmarcar la opción de solo lectura y agregar manualmente los cambios en mi nuevo archivo de hosts y guardarlos, lo que luego funciona bien. El objetivo de tener un programa .exe personalizado que toma 1 parámetro (el nombre de dominio) es poder crear scripts como este para automatizar la edición de mi archivo de hosts e integrarlo en flujos de trabajo como lo he hecho yo.

Cada vez que cambio esta configuración desmarcando la propiedad de solo lectura y la aplico/guardo, ¡en cuestión de minutos parece haber vuelto a estar marcada!

Realmente agradecería cualquier ayuda para que mi estado no verificado se mantenga y permanezca así, ¿alguna idea, sugerencia o, mejor aún, una solución real a mi problema?

Además, solo para mencionar, no tengo ningún tipo de firewall o programa de seguridad que pueda hacer esto, no hay elementos de terceros en ejecución que puedan causar esto.

Gracias por cualquier ayuda

ingrese la descripción de la imagen aquí

Respuesta1

Quizás este problema se deba a que algún otro programa está haciendo esto. Recomendaría borrar todos sus archivos temporales y ver si esto soluciona el problema. Espero que esto haya ayudado, de lo contrario, podría haber algo en su registro.

Respuesta2

Intente cambiar los atributos usando CMD. Inicie la computadora en modo seguro con el símbolo del sistema.

Tipo

cd C:\Windows\System32\drivers\etc (presione Enter)

attrib C:\Windows\System32\drivers\etc\hosts -r (presione enter)

Verifique más a fondo si su archivo muestra solo lectura marcada o no

Respuesta3

No puedo probar que esto funcione con seguridad porque para mí el archivo no está marcado como de solo lectura como en su caso, pero este es un método que he usado para evitar que Windows revierta mis cambios en los archivos protegidos por slui.exe .

Querrá modificar los permisos del archivo y denegar el acceso al SISTEMA y posiblemente a TrustedInstaller (pero no a usted mismo). Es posible que deba convertirse en propietario del archivo para poder hacerlo.

Vaya a propiedades > seguridad > avanzado > cambiar permisos
Luego edite los permisos para SISTEMA y marque denegar escritura de atributos/atributos extendidos. Si eso no funciona, puedes intentar negarle el control total bajo tu propia responsabilidad.

Si necesita tomar posesión del archivo para hacer algo de esto, está en propiedades > seguridad > propietario > editar

Finalmente, como último recurso, puede hacer que el programa desmarque la opción de sólo lectura cada vez que modifique el archivo. No sé PHP, así que no puedo ayudar con esto. Podrías probar el comando sugerido en la respuesta de Stephen.

Respuesta4

Tal vez no sea una respuesta estricta, pero creo que estás intentando reinventar el pozo :)

Instalar laragon (https://laragon.org/) como tu servidor wamp (en lugar de apache/php o lo que tengas allí)

Laragon lo tiene resuelto (para cualquier carpeta que cree en el proyecto, se crea automáticamente un dominio falso)

También soy desarrollador de php y, créanme, todos los problemas con las versiones de apache/php extension/php y los dominios .local han terminado con laragon.

información relacionada