"Bloquear" un archivo específico para que ni yo ni el root tengamos acceso a él

"Bloquear" un archivo específico para que ni yo ni el root tengamos acceso a él

Para combatir la procrastinación, edito mi /etc/hostsarchivo agregando sitios web que me hacen perder el tiempo y los señalo localhost. Sin embargo, la carne es débil y a menudo me encuentro revirtiendo mis cambios.

Estaba pensando en la siguiente solución, pero no sé si es técnicamente posible.

Le pediría a un amigo de confianza que viniera, creara una nueva cuenta con una contraseña segura que no conozco, cambiara el propietario y los permisos del /etc/hostsarchivo para que solo ese nuevo usuario pueda cambiar ese archivo y yoni raízya no tengo acceso a él.

El caso de uso sería que le pido a mi amigo que venga antes del período de exámenes, él cambia el archivo y establece medidas de bloqueo de procrastinación, y que durante el tiempo que necesito estudiar no tengo forma de editar el archivo yo mismo. Una vez finalizado el periodo de exámenes, le pido que "desbloquee" el archivo y puedo volver a navegar libremente.

Respuesta1

Puedes bloquear un archivo para que ni siquiera el usuario root pueda editarlo.

sudo chattr +i /etc/hosts

Deja de leer esta respuesta hasta después de tus exámenes :)

Luego desbloqueas el archivo nuevamente usando

sudo chattr -i /etc/hosts

Respuesta2

En última instancia, si el acceso root está disponible, no existe una forma infalible de impedir que un usuario inteligente haga lo que quiere. No creo que haya una manera de hacer esto, aparte de renunciar al acceso de root.

Respuesta3

Puede configurar otra cuenta de usuario que sea un usuario de escritorio normal que no pueda usar sudo. Luego haga que su compañero venga e inicie sesión como usted en su cuenta existente, edite el archivo /etc/hosts, luego restablezca su contraseña sin decirle cuál es y cierre la sesión.

Luego tienes que usar la nueva cuenta, que no tiene derechos para editar /etc/hosts.

Aún así necesitarás ejercitar tu fuerza de voluntad para evitar que arranques desde un CD/USB en vivo.

Respuesta4

Como alternativa, al mismo tiempo que crea su /etc/hostsarchivo, también puede editarlo /etc/sudoerso simplemente eliminar a su usuario del admingrupo. Probablemente sea más fácil cambiar de grupo.

Probablemente deberías crear una protección para poder volver a agregarte al grupo. Sugiero agregar algo en /etc/rc.localun script de activación (más rápido que reiniciar por completo).

Si sucede lo peor y queda bloqueado, puede iniciar en modo de recuperación (en grub) y usar la consola raíz para agregar manualmente su usuario nuevamente al admingrupo.

información relacionada