![Os arquivos HOSTS do Windows 7 continuam revertendo sua permissão para SOMENTE LEITURA](https://rvso.com/image/1417146/Os%20arquivos%20HOSTS%20do%20Windows%207%20continuam%20revertendo%20sua%20permiss%C3%A3o%20para%20SOMENTE%20LEITURA.png)
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.dev
e 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\etc
e visualizar as propriedades do hosts
arquivo 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
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