Uma definição mais abstrata de "redefinir uma senha" é "modificar dados em um disco físico". Todos com acesso físico podem alterar qualquer bit em um disco, independente do SO.
A senha só pode ser redefinida em um terminal se você souber a senha anterior, a menos que esteja logado como root (no modo de recuperação, por exemplo). Para proteger contra isso (modificação do arquivo de senha /etc/shadow
), você deve usar a criptografia de disco completo (LUKS). Criptografar seu diretório home apenas permite modificações no sistema de arquivos raiz (arquivo de senha) e inserção de arquivos aleatórios.
A propósito, qualquer pessoa com acesso físico pode arruinar sua máquina. As senhas de inicialização não impedem que as pessoas retirem o disco da máquina e o conectem em sua máquina (por meio de um cabo SATA-USB / eSATA, por exemplo) e modifiquem o conteúdo da mesma (ou copiem dados dela). Mesmo os discos totalmente criptografados não são totalmente criptografados como você pode esperar. Como o sistema inicializa? Com o bootloader não criptografado. Existe uma vulnerabilidade também conhecida como "evil maid attack", que é executada modificando os arquivos do gerenciador de inicialização. Depois de tal "ataque", o dono da máquina não notaria nada, pois pode haver um pequeno código inserido que copia a senha digitada.
Uma forma de migrar isso é usando um meio de inicialização dedicado (cartão de memória, cartão de memória USB), mas isso geralmente não é preferível para as pessoas normais que têm uma chance muito pequena de encontrar isso.