Os arquivos HOSTS do Windows 7 continuam revertendo sua permissão para SOMENTE LEITURA

Os arquivos HOSTS do Windows 7 continuam revertendo sua permissão para SOMENTE LEITURA

Como desenvolvedor Web em tempo integral, estou constantemente adicionando domínios falsos ao meu arquivo HOSTS do Windows 7 para apontar um domínio para o servidor Web localhost no qual desenvolvo.

Eu até construí um pequeno script PHP que me permite inserir o nome de domínio que desejo criar, por exemploteste.dev

Meu script então cria ...

  • pastas apropriadas para este novo site no diretório do meu servidor
  • Registro VirtualHosts no Apache(na verdade, usa uma configuração curinga /projects/testing.dev/www/)
  • Cria um banco de dados MySQL testing.deve associa um usuário MySQL a este novo banco de dados
  • Por último, tenho um pequeno arquivo .EXE que é passado em uma variável "testing" e, em seguida, edita meu arquivo HOSTS do Windows e adiciona uma entrada em uma nova linha como esta...127.0.0.1 teste.devo que me permite acessar o site do meu novo projeto no navegador emhttp://testing.dev

Esta configuração funcionou surpreendentemente nos últimos 2 anos, mas recentemente meu programa .EXE parou de funcionar... após a inspeção, se eu navegar até a pasta C:\Windows\System32\drivers\etce visualizar as propriedades do hostsarquivo nesta pasta, o primeiro problema que vejo é osomente leituraa caixa de seleção está marcada, o que não permite que meu programa exe simples modifique o arquivo hosts e adicione minhas novas entradas.

Em seguida, tenho que desmarcar somente leitura e adicionar manualmente as alterações no novo arquivo hosts e salvar, o que funciona bem. O objetivo de ter um programa .exe personalizado que usa 1 parâmetro (o nome de domínio) é ser capaz de criar scripts como este para automatizar a edição do meu arquivo hosts e incluí-lo em fluxos de trabalho como eu fiz.

Toda vez que altero essa configuração desmarcando a propriedade somente leitura e aplico/salva, em poucos minutos ela parece ter voltado a ser verificada!

Eu realmente apreciaria qualquer ajuda para fazer com que meu status não verificado permanecesse assim, alguma idéia, sugestão ou, melhor ainda, uma solução real para o meu problema, alguém?

Apenas para mencionar que não tenho nenhum tipo de firewall ou programa de segurança que possa fazer isso, nenhum material de terceiros em execução que possa causar isso.

Obrigado por qualquer ajuda

insira a descrição da imagem aqui

Responder1

Talvez esse problema seja porque algum outro programa está fazendo isso. Eu recomendaria limpar todos os seus arquivos temporários e ver se isso resolve o seu problema. Espero que isso tenha ajudado, caso contrário pode ser algo no seu registro.

Responder2

Tente alterar os atributos usando CMD. Inicie o computador no modo de segurança com prompt de comando.

Tipo

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

atributo C:\Windows\System32\drivers\etc\hosts -r (pressione Enter)

verifique ainda se o seu arquivo mostra somente leitura marcada ou não

Responder3

Não posso testar se isso funciona com certeza porque para mim o arquivo não está marcado como somente leitura como no seu caso, mas este é um método que usei para evitar que o Windows reverta minhas alterações em arquivos protegidos por slui.exe .

Você desejará modificar as permissões do arquivo e negar acesso ao SYSTEM e possivelmente ao TrustedInstaller (mas não a você mesmo). Talvez seja necessário se tornar o proprietário do arquivo para poder fazer isso.

Vá para propriedades > segurança > avançado > alterar permissões.
Em seguida, edite as permissões para SYSTEM e marque negar para escrever atributos/atributos estendidos. Se isso não funcionar, você pode tentar negar o controle total por sua própria conta e risco.

Se você precisar se apropriar do arquivo para fazer alguma dessas coisas, está em propriedades > segurança > proprietário > editar

Finalmente, como último recurso, você pode desmarcar o programa como somente leitura sempre que modificar o arquivo. Não conheço PHP, então não posso ajudar com isso. Você poderia tentar o comando sugerido na resposta de Stephen.

Responder4

Talvez não seja uma resposta estrita, mas acho que você está tentando reiniciar o poço :)

Instale o laragon (https://laragon.org/) como seu servidor wamp (em vez de apache/php ou o que você tiver lá)

Laragon resolveu (para qualquer pasta que você criar no projeto existe um domínio falso criado automaticamente para ela)

Eu também sou um desenvolvedor php e acredite em mim, todos os problemas com extensões apache/php/versões php e domínios .local terminaram com laragon

informação relacionada