Você pode bloquear um arquivo para que nem o usuário root possa editá-lo.
sudo chattr +i /etc/hosts
Pare de ler esta resposta até depois dos exames:)
Então você desbloqueia o arquivo novamente usando
sudo chattr -i /etc/hosts
Para combater a procrastinação, edito meu arquivo /etc/hosts
adicionando sites que desperdiçam tempo e os direciono para localhost
. No entanto, a carne é fraca e muitas vezes me vejo revertendo minhas mudanças.
Eu estava pensando na solução a seguir, mas não sei se é tecnicamente possível.
Gostaria de pedir a um amigo de confiança para vir, criar uma nova conta com uma senha strong que eu não saiba, alterar o proprietário e as permissões do arquivo /etc/hosts
para que apenas esse novo usuário possa alterar esse arquivo e que eu nem o root não tenham mais acesso a ele.
O caso de uso seria que eu pedisse ao meu amigo para vir antes do período do exame, ele mudaria o arquivo e colocaria as medidas de bloqueio de procrastinação no lugar, e que durante o tempo que eu preciso estudar eu não tenho como editar o arquivo eu mesmo. Depois que o período do exame terminar, peço para ele 'desbloquear' o arquivo e eu posso navegar livremente novamente.
Você pode bloquear um arquivo para que nem o usuário root possa editá-lo.
sudo chattr +i /etc/hosts
Pare de ler esta resposta até depois dos exames:)
Então você desbloqueia o arquivo novamente usando
sudo chattr -i /etc/hosts
Por fim, se o acesso à raiz estiver disponível, não há uma maneira infalível de impedir que um usuário inteligente faça o que deseja. Eu não acho que haja uma maneira de fazer isso, além de abandonar o acesso root.
Você pode configurar outra conta de usuário que seja um usuário comum de desktop que não possa usar o sudo. Em seguida, peça ao seu cônjuge para entrar e fazer o login como você em sua conta existente, edite o arquivo / etc / hosts, redefina sua senha sem informar o que é e saia.
Então você tem que usar a nova conta, que não tem o direito de editar / etc / hosts.
Você ainda precisará exercitar a força de vontade para impedi-lo de inicializar a partir de um CD / USB ativo.
Como alternativa, ao mesmo tempo em que você cria seu arquivo /etc/hosts
, você também pode editar o arquivo /etc/sudoers
ou apenas remover seu usuário do grupo admin
. Mudar de grupo é provavelmente mais fácil.
Provavelmente, você deve criar uma proteção para que possa se adicionar de volta ao grupo. Sugiro adicionar algo em /etc/rc.local
ou algo em um script de ativação (mais rápido do que fazer uma reinicialização completa).
Se o pior acontecer e você estiver bloqueado, poderá inicializar no modo de recuperação (no grub) e usar o console raiz para adicionar manualmente o usuário de volta ao grupo admin
.
Tags permissions hosts lock