Piter Punk's HomePage - Artigos
 
English version
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.


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004