De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
RedHat Linux - Login Sem Senhas
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 29 de Janeiro de 2003
É cada vez mais comum o uso de sistemas GNU/Linux para uso
doméstico, em equipamentos desconectados da rede e com um
único usuário.
Nestas condições, muitos preferem evitar o trabalho de ter que
digitar uma identificação e uma senha.
Existem diversas formas de se fazer isto, porém uma maneira
bem interessante está descrita em
http://www.linuxgazette.com/issue72/chung.html, em um
artigo da Linux Gazette.
O procedimento é bem simples. Basta compilar um pequeno
programa e colocá-lo no arquivo /etc/inittab.
autologin.c
int main() {
execlp( "login", "login", "-f", "queiroz", 0);
}
Compile este programa:
# gcc -o autologin autologin.c
# cp autologin /usr/local/sbin
No caso, este programa determina que o usuário que terá
o login feito automaticamente será queiroz.
Resta agora modificar o arquivo /etc/inittab.
Neste arquivo procure pelas linhas:
#Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
Vamos agora alterar as definições da tty1 para invocar o programa
autologin:
#Run gettys in standard runlevels
#1:2345:respawn:/sbin/mingetty tty1
1:2345:respawn:/sbin/agetty -n -l /usr/local/sbin/autologin 38400 tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
Estamos modificando apenas a entrada para tty1. As demais continuam
inalteradas. O programa mingetty também é substituido visto
que não suporta praticamente nenhuma alteração. O programa agetty
(Alternative Linux Getty), suporta as diretivas -l (programa a ser
invocado em substituição ao programa /bin/login) e -n (não
apresentar o prompt de login na tela).
O arquivo .bash_profile do usuário que terá o login feito
automaticamente (queiroz) deverá conter as seguintes linhas para ativação
do ambiente gráfico:
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
startx
fi
A última providência a ser tomada é desabilitar o gerenciador gráfico
de login (xdm ou gdm). Para isto, também no arquivo /etc/inittab,
comente as seguintes linhas:
# Run xdm in runlevel 5
# xdm is now a separate service
#x:5:respawn:/etc/X11/prefdm -nodaemon
Só para garantir, na linha
id:5:initdefault:
mude para
id:3:initdefault:
O runlevel (nível de execução) 3 é não gráfico.
Para saber mais sobre níveis de execução leia o artigo
Níveis de Execução, que se encontra em
http://www.dicas-l.com.br/artigos/linux/linux17-1.shtml
Todos estes comandos foram executados em um sistema RedHat Linux
versão 8.0 mas devem funcionar, com ligeiras modificações, em
qualquer sistema GNU/Linux.