Um problema comum que acontece com alguns Linux pode ser
descrito da seguinte forma: voc� quer executar um
determinado aplicativo gr�fico que necessita de poderes de
superusu�rio, a� voc� abre um xterm e executa um su
-, faz o login, e executa o comando, somente para ver
uma mensagem de erro como a abaixo:
$ su -c /usr/X11R6/bin/xeyes
Password:
Xlib: connection to "myhost.example.org:0.0" refused by server
Xlib: Client is not authorized to connect to Server
Error: Can't open display: myhost.example.org:0.0
Tudo bem, o xeyes n�o � um comando deste tipo, mas serve
para ilustrar o caso.
O pr�ximo passo seria habilitar a conex�o ao nosso host,
usando o xhost:
$ xhost +localhost +myhost.example.org
localhost being added to access control list
myhost.example.org being added to access control list
Agora estamos prontos para tentar novamente o comando
anterior, que ir� funcionar como pretendido.
Para um host que s� tem um usu�rio conectado a qualquer tempo, n�o h� problemas nesta abordagem, mas se o nosso host � ``visitado'' por outros usu�rios, corremos o risco de sofrer algum tipo de abuso.
A solu��o mais simples � instalar e configurar o
pam_xauth. O pam_xauth automaticamente
troca os magic-cookies entre o usu�rio que iniciou a sess�o
e o alvo do comando su. No exemplo acima, o
pam_xauth automaticamente acrescenta o
magic-cookie de nossa sess�o gr�fica para o superusu�rio, e
podemos usar o cliente gr�fico sem maiores problemas.
Para configurar o pam_xauth, basta acrescentar
a seguinte linha ao arquivo /etc/pam.conf, ou ao
arquivo /etc/pam.d/su (se existe o diret�rio
/etc/pam.d, automaticamente o arquivo
/etc/pam.conf � ignorado, se existir):
session optional /lib/security/pam_xauth.so
su,
nem precisamos ``abrir'' nosso servidor X com o xhost
+ e suas varia��es.