O binário login é bastante simples (em princípio). É apenas um programa que é executado como root user (iniciado, indiretamente, por getty ou um gerenciador de exibição X, de init , o primeiro processo de espaço do usuário). Ele executa a autenticação do usuário de login e, se tiver êxito, altera o usuário (usando uma das chamadas de sistema setuid() da família), define variáveis de ambiente apropriadas, umask, etc e exec() sa shell de login. / p>
Pode ser instrutivo ler o código-fonte, mas se você fizer isso, você achará mais fácil (assumindo o% padrãoshadow-utils login que o Debian instala) para lê-lo, assumindo que USE_PAM não está definido, pelo menos até que você esteja confortável com o seu funcionamento, ou você encontrará muita distração.