Você pode usar o módulo PAM pam_time para restringir logins para certos usuários em determinados tty's (e em determinados momentos do dia, que é o principal uso do módulo).
Portanto, se você quiser informar ao sistema que logins em tty0 a tty7 (isto é, todos os VTs que são tipicamente habilitados) para todos os usuários que não sejam root nunca são permitidos, adicione esta linha a /etc/security/time.conf
:
login ; tty0|tty1|tty2|tty3|tty4|tty5|tty6|tty7 ; !root ; !Al0000-2400
e adicione a seguinte linha na primeira linha account
em /etc/pam.d/login
:
account required pam_time.so
Os usuários ainda poderão fazer login usando a tela de login do gdm. E enquanto eles podem mudar para um VT antes (ou depois) de fazer o login, tudo o que eles poderão fazer é ver os avisos de login e senha; eles não conseguirão fazer login com sucesso em um VT.
Testado no CentOS 6.6.