Os arquivos HOSTS do Windows 7 continuam revertendo sua permissão para READ-ONLY

5

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 meu servidor web localhost no qual eu desenvolvo.

Até construí um pequeno script PHP que me permite inserir o nome de domínio que desejo criar, por exemplo testing.dev

Meu script cria então ...

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

Essa configuração funcionou incrivelmente nos últimos dois anos, mas recentemente meu programa .EXE parou de funcionar ... após a inspeção, se eu procurar a pasta C:\Windows\System32\drivers\etc e exibir as propriedades do arquivo hosts nessa pasta, o primeiro problema que vejo é que a caixa de seleção somente leitura está marcada, o que não permite meu programa exe simples modificar o arquivo hosts e adicionar minhas novas entradas.

Eu, então, tenho que desmarcar somente leitura e adicionar manualmente as alterações do novo arquivo de hosts e salvá-las, o que funciona bem. O objetivo de ter um programa .exe personalizado que usa 1 parâmetro (o nome de domínio) é poder criar scripts como esse para automatizar a edição do arquivo de hosts e trabalhá-lo em fluxos de trabalho como eu fiz.

Toda vez que eu altero essa configuração, desmarcando a propriedade somente leitura e aplicando / salvando, em poucos minutos parece que ela voltou a ser verificada!

Eu realmente apreciaria qualquer ajuda em fazer com que meu status não verificado ficasse e permanecesse assim, quaisquer idéias, sugestões ou, ainda melhor, uma solução real para o meu problema?

Também só para mencionar que eu não tenho nenhum tipo de firewall ou programas de segurança que estejam fazendo isso, nenhuma parte da terceira parte rodando o que causaria isso.

Obrigado por qualquer ajuda

    
por JasonDavis 28.07.2014 / 07:12

4 respostas

0

Talvez este problema seja porque algum outro programa está fazendo isso. Eu recomendaria limpar todos os seus arquivos temporários e ver se isso impede o seu problema. Espero que isso ajude de outra forma, pode ser algo em seu registro.

    
por 28.07.2014 / 07:20
0

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

Digite

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

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

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

    
por 28.07.2014 / 08:06
0

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

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

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

Se você precisar apropriar-se do arquivo para fazer isso, é em propriedades > segurança > proprietário > editar

Finalmente, como último recurso, você pode fazer com que o programa desmarque somente leitura sempre que ele modificar o arquivo. Eu não sei PHP, então não posso ajudar com isso. Você poderia tentar o comando sugerido na resposta de Stephen.

    
por 09.02.2018 / 06:34
0

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

Instale o laragon ( link ) como seu servidor wamp (em vez do apache / php ou o que você tem lá)

Laragon resolveu (para qualquer pasta que você crie no projeto, há um fakedomain automaticamente criado para ela)

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

    
por 10.02.2018 / 13:19