"Bloquear" um arquivo específico para que eu e o root não tenhamos mais acesso a ele

"Bloquear" um arquivo específico para que eu e o root não tenhamos mais acesso a ele

Para combater a procrastinação, edito meu /etc/hostsarquivo adicionando sites que desperdiçam tempo e apontando-os para localhost. No entanto, a carne é fraca e muitas vezes me vejo revertendo minhas mudanças.

Estava pensando na seguinte solução, mas não sei se é tecnicamente possível.

Eu pediria a um amigo de confiança que viesse, criasse uma nova conta com uma senha forte que não conheço, alterasse o proprietário e as permissões do /etc/hostsarquivo para que somente esse novo usuário pudesse alterar esse arquivo e que eunem raiznão tem mais acesso a ele.

O caso de uso seria que eu pedisse ao meu amigo para vir antes do período de provas, ele alterasse o arquivo e implementasse as medidas de bloqueio de procrastinação, e que durante o tempo que preciso estudar eu não tivesse como editar o arquivo sozinho. Terminado o período de exames, peço para ele ‘desbloquear’ o arquivo e posso navegar livremente novamente.

Responder1

Você pode bloquear um arquivo para que nem mesmo 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

Responder2

Em última análise, se o acesso root estiver disponível, não existe uma maneira infalível de impedir que um usuário inteligente faça o que deseja. Não creio que exista uma maneira de fazer isso, a não ser abrir mão do acesso root.

Responder3

Você pode configurar outra conta de usuário que seja um usuário regular de desktop que não possa usar o sudo. Em seguida, peça ao seu amigo que faça login como você na sua conta existente, edite o arquivo /etc/hosts, redefina sua senha sem informar qual é e efetue logout.

Então você terá que usar a nova conta, que não tem direitos para editar /etc/hosts.

Você ainda precisará exercitar a força de vontade para impedir a inicialização a partir de um CD/USB ativo.

Responder4

Como alternativa, ao mesmo tempo em que cria seu /etc/hostsarquivo, você também pode editá- /etc/sudoerslo ou simplesmente remover seu usuário do admingrupo. Mudar de grupo é provavelmente mais fácil.

Você provavelmente deve criar uma proteção para poder voltar ao grupo. Sugiro adicionar algo /etc/rc.localou 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, você pode inicializar no modo de recuperação (no grub) e usar o console root para adicionar manualmente seu usuário de volta ao admingrupo.

informação relacionada