Modo gráfico sem login.
Piter Punk
Não é incomum, vários usuários de outros sistemas quando migram para
o Linux, se sentem incomodados de digitar o login e a senha toda vez
que entram no sistema, outros ainda insistem em utilizar o usuário
root todas as vezes, como solucionar este problema?
1. Introdução
Para solucionar este problema, não é necessário muito esforço, ao menos
para os usuários do Slackware Linux. Para os usuários de sistemas
derivados do RedHat, o PAM evita que as alterações deste artigo funcionem
corretamente. No apêndice A, está listado um método para fazer com que
em o método deste artigo funcione nesses sistemas. Este artigo foi escrito
com base em uma resposta da Answer Gang da Linux Gazette.
O que se deve fazer é bem simples, evitar que o usuário root seja utilizado
e ao mesmo tempo inicializar o X sem que seja necessário digitar o
login ou a senha.
2. /etc/inittab
O primeiro local em que vamos alterar será no /etc/inittab, onde estão
contidos os níveis de inicialização do sistema. Vamos inserir um novo
runlevel, no Slackware temos dois deles vagos, o 2 e o 5. Escolhi
o 5 para ser o nologonX mode. Basta acrescentar esta linha no fim
do arquivo:
x2:5:respawn:/usr/X11/bin/nologonX
Procure também uma linha semelhante a esta:
id:4:initdefault:
e troque o 4 por 5 (ou o 3 pelo 5). Com estas alterações, o sistema
irá inicialzar usando o runlevel 5 e, quando estiver neste runlevel,
irá executar o programa /usr/X11/bin/nologonX.
3. /etc/ONEUSER
Este arquivo é fácil, dentro dele basta colocar o nome do usuário que
irá entrar automaticamente no sistema. Lembre-se que este usuário
deverá ser um usuário válido. Coloque apenas o nome de login dele,
mais nada.
4. /usr/X11/bin/nologonX
Aqui está o coração do nologonX mode. Neste script
dizemos ao computador para capturar o nome do usuário em
/etc/ONEUSER e então inicializar o X usando este usuário.
Tudo sem a necessidade de digitar nada...
#!/bin/sh
ONLYONE=`cat /etc/ONEUSER`
su - $ONLYONE /usr/X11R6/bin/startx < /dev/tty14 > /dev/tty15
Verifique os pipes no fim da terceira linha... eles fazem com que o
Linux pense que existe um usuário teclando estes comandos na tty15,
isso é necessário para que o comando startx seja aceito. Por motivos
de segurança, o Linux só aceita comandos de usuário que tenham partido
de um terminal (tty), conseguimos burlar isso copiando a saída padrão
para /dev/tty15.
Se você quiser que quando o usuário sair da área dele o computador
se desligue (às vezes as pessoas querem isso). Acrescente no final
do /usr/X11/bin/nologonX uma linha contendo:
/sbin/shutdown -hf now
5. /etc/login.defs
Edite o /etc/login.defs e altere o PATH padrão do sistema, para
incluir os diretórios do X nele. Altere a linha onde está:
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin
Trocando para:
ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
E agora é só partir para o abraço!
5. Conclusão
Pronto! Está terminado. Para quem usa o computador sozinho em casa,
ou para usuários daquele outro sistema, estas modificações garantem
que não será necessário entrar com o nome de usuário e torna mais
complicado que o usual entrar como usuário root (será necessário digitar
su em um xterm). Não é difícil imaginar as possiblidades...
Caso queira entrar em contato com alguma dúvida, ou com alguma sugestão, use o email piterpk@terra.com.br
Apêndice A
Utilizando este artigo em sistemas baseados na PAM
Recebi estes dados do Carlos J. Mazieri:
Uso o Conectiva 9.0 que é derivado do Red Hat, este usa o PAM para
autenticação.
Burlei a a autenticação da console editando o arquivo:
/etc/pam.d/xserver
retirei a linha: auth required /lib/security/pam_console.so
adicionei a linha : auth sufficient /lib/security/pam_permit.so
Segundo ele, depois que fez isso, o método indicado neste artigo passou
a funcionar.
|