Você pode configurar o login automático no terminal, mexendo nas opções do programa getty ; se você usar agetty , adicione --autologin <username> , conforme mostrado aqui .
Você pode então configurar o shell de login desse usuário para o que quiser. Ele não deve estar listado em /etc/shells , para que o usuário não possa alterá-lo com chsh . Supondo que você quer segurança contra o usuário chegar a um shell normal (e, portanto, ser capaz de fazer coisas arbitrárias), você precisa garantir que eles não possam chegar lá de dentro do seu programa. Se o seu programa for o shell de login, a desativação apenas encerrará a sessão e retornará ao getty (que, por sua vez, provavelmente reinicializará o usuário novamente no mesmo programa).
