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.