Os usuários normais autenticam o log (também conhecido como usuário / senha) e são apresentados por um shell. O sistema procura qual shell iniciar em seu arquivo de senha.
Um usuário pode alterar seu shell com o comando change shell ( chsh
), embora isso possa ser limitado a uma lista de shells listados em / etc / shells.
Neste caso, não queremos iniciar um shell interativo. Em vez de iniciar o bash e, em seguida, pedir ao bash para sobrescrever-se com outro programa, imediatamente iniciamos o outro programa.
O resultado é que:
- O programa é iniciado. Não há shell entre e não há shell para capturar um controle rápido-C
- Quando o programa termina a mesma coisa acontece quando o shell termina (por exemplo, depois de sair ou controlar d ). O usuário está desconectado.
Observe que isso pressupõe que o usuário não pode sair do programa. O que nem sempre é verdade. (por exemplo, um mailreader sunch como elm pode escapar para um shell. Same for vim). Com exceção desses casos, o usuário não terá escolha entre fazer login e usar o único programa atribuído.
PS: Isso também significa que não há acesso ao passwd. Espero que a senha nunca expire.