Guía avanzada del usuario

Manipulación del acceso al servidor

A no ser que la opción -noauth se utilice con openwin (consulte "Cómo cambiar el protocolo de autorización predeterminado""), estarán activos tanto el mecanismo de control de acceso basado en el usuario como el basado en el computador principal. El servidor verifica primero el mecanismo basado en el usuario, y a continuación el mecanismo basado en el computador principal. La configuración de seguridad predeterminada utiliza MIT-MAGIC-COOKIE-1 como el mecanismo basado en el usuario, y una lista vacía como el mecanismo de control basado en el computador principal. Debido a que la lista basada en el computador principal está vacía, únicamente será efectivo el mecanismo basado en el usuario. La utilización de la opción -noauth le ordena al servidor que desactive el mecanismo de control de acceso basado en el usuario, e inicializa la lista basada en el computador principal, agregando el computador principal local.

Para cambiar el mecanismo de control de acceso al servidor puede utilizar dos programas: xhost y xauth.Para más información, consulte las páginas del comando man. Estos programas acceden a dos archivos binarios creados por el protocolo de autorización. Estos archivos contienen datos de autorización específicos de la sesión. Un archivo es de uso interno del servidor, y el otro está colocado en el directorio $HOME del usuario:

.Xauthority
Archivo de autorización del cliente

Utilice los programas xhost y xauth para cambiar en el servidor la lista de acceso basada en el computador principal. Puede agregar o borrar computadores principales de la lista de acceso. Si ha empezado con la configuración predeterminada -con la lista de acceso basada en el computador principal que está vacía- y utiliza xhost para agregar un nombre de sistema, reducirá el nivel de seguridad. El servidor permitirá el acceso al computador principal que ha agregado, así como a cualquier usuario que especifique el protocolo de autorización predeterminado. Consulte "Acceso basado en el computador principal"" si desea una explicación de porqué el mecanismo de control de acceso basado en el computador principal es considerado un nivel de seguridad inferior.

El programa xauth accede a los datos de autorización en el archivo .Xauthority del cliente. Puede extraer estos datos del archivo .Xauthority para que otro usuario pueda mezclar esos datos en el archivo .Xauthority, permitiéndole así acceso al servidor, o bien al servidor al que esté conectado.

Consulte "Cómo permitir el acceso cuando se utiliza MIT-MAGIC-COOKIE-1 "" si desea ejemplos de cómo utilizar xhost y xauth..

Archivo de autorización del cliente

El archivo de autorización del cliente es .Xauthority. Contiene entradas con este formato:

connection-protocol          auth-protocol          auth-data

Como valor predeterminado, .Xauthority contiene MIT-MAGIC-COOKIE-1 como el auth-protocol, y entradas para la pantalla local como connection-protocol y auth-data. Por ejemplo, en el computador principal anyhost, el archivo .Xauthority podría contener las entradas siguientes:

anyhost:0      MIT-MAGIC-COOKIE-1  82744f2c4850b03fce7ae47176e75localhost:0    MIT-MAGIC-COOKIE-1
 82744f2c4850b03fce7ae47176e75anyhost/unix:0 MIT-MAGIC-COOKIE-182744f2c4850b03fce7ae47176e75  

Cuando se inicia el cliente, se lee una entrada correspondiente al connection-protocol en .Xauthority, y el auth-protocol y el auth-data se envían al servidor formando parte del paquete de conexión. En la configuración predeterminada, xhost muestra listas de acceso basadas en el computador principal que están vacías e informan que la autorización está activa.

Si ha cambiado el protocolo de autorización del valor predeterminado a SUN-DES-1, las entradas en .Xauthority contendrán SUN-DES-1 como auth-protocol y el nombre de red del usuario como auth-data. El nombre de red tiene el formato siguiente:

unix.userid@NISdomainname

Por ejemplo, en el computador principal anyhost, el archivo .Xauthority podría contener las entradas siguientes, donde unix.15339@EBB.Eng.Sun.COM es el nombre de red del usuario, que es independiente del sistema:

anyhost:0        SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
localhost:0      SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"
anyhost/unix:0   SUN-DES-1            "unix.15339@EBB.Eng.Sun.COM"


Nota -

Si no conoce el nombre de red, o nombre de red independiente del sistema, consulte al administrador de sistemas.


Cómo permitir el acceso cuando se utiliza MIT-MAGIC-COOKIE-1

Si utiliza el protocolo de autorización MIT-MAGIC-COOKIE-1, siga estos pasos para permitir a otro usuario el acceso al servidor:

  1. En el sistema donde se ejecute el servidor, utilice xauth para extraer una entrada correspondiente a hostname:0 en un archivo.

    En este ejemplo, hostname es anyhost y el archivo es xauth.info:

    myhost% /usr/openwin/bin/xauth nextract
    - anyhost:0 > $HOME/xauth.info
    

  2. Envíe el archivo que contenga la entrada del usuario que solicite acceso (utilice la Herramienta de Correo, rcp o cualquier otro método de transferencia de archivos).


    Nota -

    Enviar por correo electrónico el archivo que contenga la información de autorización es un método más seguro que utilizar rcp. Si utiliza rcp, no sitúe el archivo en un directorio al que pueda acceder fácilmente otro usuario.


  3. El otro usuario debe introducir dicha entrada en el archivo .Xauthority.

    En este ejemplo, userhost fusiona xauth.info con el archivo .Xauthority del otro usuario:

    userhost% /usr/openwin/bin/xauth nmerge
    - < xauth.info
    


    Nota -

    El valor auth-data es específico para la sesión; por tanto, será válido únicamente hasta que el servidor sea reiniciado.


Cómo permitir el acceso cuando se utilice SUN-DES-1

Si está utilizando el protocolo de autorización SUN-DES-1, siga estos pasos para permitir el acceso a su servidor a otro usuario:

  1. En el sistema donde se ejecute el servidor, utilice xhost para que el servidor reconozca al nuevo usuario.

    En este ejemplo, para permitir al nuevo usuario somebody ejecutar en myhost:

    $ xhost + somebody@
    

  2. El nuevo usuario debe utilizar xauth para agregar la entrada en el archivo .Xauthority.

    En este ejemplo, el nombre de red independiente del sistema para el nuevo usuario es unix.15339@EBB.Eng.Sun.COM. Observe que este comando se debe escribir en una línea sin retorno de carro. Después del símbolo del canal de comunicación ,deje un espacio en blanco y escriba el resto del comando.

    $ echo 'add myhost:0 SUN-DES-1 "unix.15339@EBB.Eng.Sun.COM"'
    |
    $OPENWINHOME/bin/xauth