Permitir troca de terminal virtual apenas para raiz

4

Atualmente estou trabalhando em um sistema CentOS (com a área de trabalho do Gnome), onde desejo desabilitar o uso do console para usuários não permitidos. Na verdade, ao fazer o login com um usuário padrão, ele inicia meu aplicativo e não há como acessar a área de trabalho, mas o usuário ainda pode usar o switch VT para emitir algum comando. Por outro lado, ao fazer o login como administrador, ele vai invadir a área de trabalho.

O que eu quero fazer é impedir que um usuário padrão emita comandos, mas habilite-o para um administrador.

Eu tentei até agora modificar /etc/X11/xorg.conf para desabilitar a comutação de terminal ( Option "DontVTSwitch" "True" ) com sucesso, mas isso impedirá o uso para todos os usuários.

Pergunta:

Existe uma maneira de permitir a troca de VT para um determinado usuário e desativá-lo para outros usuários?

    
por Jaay 23.03.2015 / 14:52

2 respostas

3

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.

    
por 24.03.2015 / 17:20
1

Se você está rodando no CentOS 7, o serviço systemd-logind pode lidar com isso para você. É responsável pelo gerenciamento de comutadores de sessão e pelo gerenciamento de vários bancos. O comando loginctl o controla - o link loginctl abaixo tem todos os sinalizadores disponíveis.

link link

    
por 23.03.2015 / 16:15