-
root é o dispositivo que o kernel vê como a localização de /. O bootloader pode usar um dispositivo root diferente, o bootloader usa-o para ler o kernel e o ramdisk inicial na memória.
-
init é o primeiro (e único) programa de espaço do usuário iniciado pelo kernel, e isso tem a tarefa de gerenciar o espaço do usuário (ou seja, tudo mais que o espaço do kernel). Normalmente você usaria SystemV init ou SystemD systemd, porque eles vão lidar com a inicialização de daemons, a montagem do sistema de arquivos, etc. Se você usa /bin/bash
(qualquer outra coisa funciona também), este programa é executado após o kernel ter se inicializado e, claro, tem acesso total a todos os dispositivos no computador (por exemplo, acesso root). Isso não é um recurso para administradores de sistemas, essa possibilidade deriva do design aberto do processo de inicialização.
-
Sim, porque a autenticação não é tratada pelo kernel, isso tem que ser feito por um processo de espaço do usuário, normalmente por um iniciado por init
. Para fazer isso, init
precisa de acesso root ...
Como o outro pôster apontou, se você tiver acesso a hardware, a autenticação manipulada pelo sistema operacional (e não baseada em criptografia strong) é fútil. Por exemplo, você pode inicializar um computador com um sistema ativo (em CD), montar os sistemas de arquivos e apenas chroot
em você. Com acesso root completo ... A criptografia é o caminho a percorrer!