# El manual de &kdesu;

Geert Jansen

    g.t.jansen@stud.tue.nl

Lauri Watts

    lauri@kde.org

Revisora
Pablo de Vicente

    pvicentea@nexo.es

Traductor
2000 Geert Jansen
&FDLNotice;
2002-01-18
1.00.00

&kdesu; es un interfaz gráfico del comando &UNIX; `su`.

KDE su contraseña root

## Introducción

¡Bienvenido a &kdesu;! &kdesu; es un interfaz gráfico del comando &UNIX; `su` para K Desktop Environment. Le permite ejecutar un programa como usuario diferente proporcionando la contraseña de dicho usuario. &kdesu; es un programa sin privilegios; utiliza el comando `su` del sistema.

&kdesu; tiene una característica añadida: puede recordar las contraseñas que usted haya introducido previamente. Si usted utiliza esta característica, sólo necesitará introducir una vez la contraseña para cada usuario. Consulte para obtener más información, que contiene un análisis de seguridad.

Este programa se debe iniciar desde la línea de comandos o desde los archivos `.desktop`. Aunque solicita la contraseña de root utilizando un diálogo &GUI; (gráfico), se puede considerar una línea de comandos <-> asociada a un &GUI; en lugar de un programa &GUI; puro.

## Uso de &kdesu;

El uso de &kdesu; es sencillo. La sintáxis es del tipo:

`kdesu` USER -n -t -q -d -f FILE -c COMMAND ARG1 ARG2 `kdesu` -v -h -s

Las opciones de la línea de comandos se explican a continuación.

`-c PROGRAMA`

  Especifica el programa a ejecutar como root. Este nombre se debe pasar en un argumento. De modo que, por ejemplo, si desea iniciar un nuevo administrador de archivos, debería introducir: ``kdesu `-c konqueror-sw```

`-f ARCHIVO`

  Esta opción le permite un uso eficiente de &kdesu; en archivos `.desktop`. Le indica a &kdesu; que examine el archivo especificado por ARCHIVO. Si este archivo tiene privilegio de escritura para el usuario actual, &kdesu; ejecutará el comando como usuario actual. Si no tiene privilegios de escritura, el comando se ejecutará como usuario USUARIO (por omisión es root).

  ARCHIVO se evalua del siguiente modo: si ARCHIVO comienza por `/`, se toma como un nombre de archivo absoluto. De lo contrario, se toma como el nombre de un archivo de configuración global de &kde;. Por ejemplo: para configurar el administrador K de acceso, kdm, usted podría utilizar `kdesu `-c kdmconfig -f kdmrc``

`-t`

  Activa la salida por terminal. Esta opción desactiva la posibilidad de recordar contraseñas. La razón es por motivos de depuración del código: si desea ejecutar una applicación desde consola, utilice el comando `su` estándar en su lugar.

`-n`

  No guarda la contraseña. Desactiva la opción guardar contraseña en el diálogo de contraseña.

`-q`

  Modo silencioso.

`-d`

  Mostrar información de depuración.

`-v`

  Imprimir información de la versión y salir.

`-h`

  Imprimir algo de ayuda.

`-s`

  Detener el demonio kdesu daemon. Consulte .

## Configuración

&kdesu; tiene incorporado un módulo de control denominado kcmkdesu. Lo puede encontrar en el menú K bajo Preferencias Personalización Contraseñas . Puede modificar las siguientes opciones:

Modo eco

  Este modo indica el modo en que los caracteres que introduce son mostrados en la pantalla. Las posibles opciones son: una estrella por carácter, tres estrellas o ninguna. El valor predeterminado es una estrella por carácter.

Guardar contraseñas

  Puede indicar a &kdesu; que recuerde las contraseñas introducidas seleccionando la opción guardar contraseña Si la selecciona, puede introducir un valor de tiempo de expiración en el campo de texto debajo de él. Este es el tiempo durante el cual la contraseña será recordada. El valor por omisión es no recordar contraseñas.

## Propiedades internas

### Autentificación X

El programa que usted ejecute lo hará bajo el ID de root y habitualmente no tendrá permiso para escribir en su pantalla X. &kdesu; evita este problema añadiendo una cookie de autentificación para su pantalla en un archivo temporal `.Xauthority`. Después de que este comando finalice, este archivo es suprimido.

Si no utiliza cookies X, usted tendrá que resolver este problema por su cuenta. &kdesu; lo detectará y no añadirá una cookie pero usted debe asegurarse de que root tiene acceso a su pantalla.

### Interfaz a `su`

&kdesu; utiliza el comando `su` del sistema para obtener privilegios. En esta sección se explican los detalles de como &kdesu; lleva a cabo esta operación.

Debido a que ciertas implementaciones de `su` (p.ej. la de &RedHat;) no desean leer la contraseña de `stdin`, &kdesu; crea un par pty/tty y ejecuta `su` con sus filedescriptors estándar conectados a tty.

Para ejecutar el comando seleccionado por el usuario, en lugar de un intérprete interactivo, &kdesu; utiliza el argumento `-c` con `su`. Este argumento es entendido por todos los intérpretes conocidos y debería por tanto funcionar. `Su` pasa este argumento `-c` al intérprete de destino del usuario, y el intérprete de comandos ejecuta el programa. Comando de ejemplo: `su `root -c el_programa`` .

En lugar de ejecutar el comando del usuario directamente con `su`, &kdesu; ejecuta un pequeño programa intermediario denominado kdesu_stub. Este intermediario (ejecutandose como usuario de destino), solicita algo de información de &kdesu; por el canal pty/tty (la entrada y salida estándar del intermediario) y después ejecuta el programa del usuario. La información que se pasa es: la pantalla X, una cookie de acreditación X (si está disponible), la variable `PATH` y el comando a ejecutar. La razón por la que se utiliza un programa intermediario es que la cookie X es información privada y por tanto no se puede pasar en la línea de comando.

### Comprobación de contraseñas

&kdesu; comprobará la contraseña introducida y generará un mensaje de error si no es correcta. La comprobación se realiza ejecutando un programa de prueba: `/bin/true`. Si el resultado es positivo, se asumirá que la contraseña es correcta.

### Registro de contraseñas

Para su comodidad, &kdesu; implementa una propiedad de registro de contraseña. Si está interesado en la seguridad, debería leer el siguiente parrafo.

Si permite que &kdesu; recuerde las contraseñas estará abriendo un (pequeño) agujero en la seguridad de su sistema. Obviamente, &kdesu; no permite más que al identificador de su usuario utilizar sus contraseñas, pero si esto se hace descuidadamente, se rebajaría el nivel de seguridad de root al de un usuario normal (usted). Un hacker (intruso) que consiga acceso a su cuenta, puede conseguir automáticamente el acceso a root. &kdesu; intenta impedir esto. El esquema de seguridad, es razonablemente seguro y se explica a continuación.

&kdesu; utiliza un demonio, llamado kdesud. El demonio escucha a un socket de &UNIX; en `/tmp` listo para ejecutar comandos. El modo del socket es 0600 de tal manera que sólo su identificador de usuario se pueda conectar a él. Si se activa el registro de contraseñas, &kdesu; ejecuta comandos a través de este demonio. Escribe el comando y la contraseña de rooten el socket y el demonio ejecuta el comando utilizando `su`, como ya se ha descrito más arriba. Después de esta operación el comando y la contraseña no se descartan. Se registran durante un cierto tiempo. Este tiempo es el valor tiempo de expiración que aparece en el módulo de control. Si llega otra petición para el mismo comando durante este periodo de tiempo, el cliente no debe introducir la contraseña. Para evitar que los hackers que puedan entrar en su cuenta roben la contraseña del demonio (por ejemplo añadiendo un depurador), el demonio se instala como set-group-id nogroup. Esto debería impedir el robo de contraseñas del proceso kdesud a todos los usuarios normales (incluyendole a usted). También, el demonio fija la variable de entorno `DISPLAY` al valor que tenía cuando se inició. Lo único que un hacker puede hacer es ejecutar una aplicación en su pantalla.

Un posible problema de este diseño es que los programas que usted ejecuta probablemente no están escritos teniendo en cuenta la seguridad (como los programas setuid root). Ello significa que pueden tener derrames de buffer u otros problemas y un hacker podría explotarlos.

El uso del registro de contraseñas es un compromiso entre seguridad y comodidad. Es recomendable que usted lo piense detenidamente y decida si desea usarlo o no.

## Autor

&kdesu;

Copyright 2000 Geert Jansen

El autor de &kdesu; es Geert Jansen. Está basado de algún modo en la versión 0.3 de &kdesu; de Pietro Iglio. Pietro y el autor acordaron que este programa sería mantenido por el autor actual en el futuro.

El autor puede ser contactado por email en g.t.jansen@stud.tue.nl. Por favor informe de cualquier error que encuentre de modo que pueda se pueda solucionar. Sientase libre de contactar al autor para enviar sugerencias.

&underFDL; &underArtisticLicense;

## Instalación

### Descarga

&install.intro.documentation;

### Compilación

&install.compile.documentation;