
4.5 (21-09-2010)
Copyright © 2000 Geert Jansen
KDE su es un interfaz gráfico de la orden UNIX® su.
Tabla de contenidos

¡Bienvenido a KDE su! KDE su es un interfaz gráfico de la orden UNIX® su para el Entorno de Escritorio K. Le permite ejecutar un programa como usuario diferente proporcionando la contraseña de dicho usuario. KDE su es un programa sin privilegios. Utiliza la orden su del sistema.
KDE su tiene una característica añadida: puede recordar las contraseñas que usted haya introducido previamente. Si usted utiliza esta característica, solo necesitará introducir una vez la contraseña para cada usuario. Consulte “Registro de contraseñas” para obtener más información sobre este apartado y sobre el análisis de seguridad.
Este programa se debe iniciar desde la línea de órdenes o desde los archivos .desktop
. Aunque solicita la contraseña de root
utilizando un diálogo GUI (gráfico), se puede considerar más una línea de órdenes <-> asociada a un GUI que un programa GUI puro.
Puesto que kdesu ya no está instalado en $(kde4-config --prefix)
/bin sino en kde4-config --path libexec
y además no está en su Path
, tiene que utilizar $(kde4-config --path libexec)kdesu
para lanzar kdesu.

El uso de KDE su es sencillo. La sintaxis es del tipo:
kdesu [-c
orden
] [-d
] [-f
archivo
] [-i
nombre del icono
] [-n
] [-p
prioridad
] [-r
] [-s
] [-t
] [-u
usuario
] [--boton_no_ignorar
] [--attach
winid
]
kdesu [Opciones genéricas de KDE] [Opciones genéricas de Qt™]
Las opciones de la línea de órdenes se explican a continuación.
-c
orden
Especifica la instrucción a ejecutar como root. Esta se debe pasar en un argumento. De modo que, por ejemplo, si desea iniciar un nuevo administrador de archivos, debería introducir en el prompt:
$(kde4-config --path libexec)kdesu
-c
Dolphin
-d
Mostrar información de depuración.
-f
archivo
Esta opción le permite un uso eficiente de KDE su en archivos
.desktop
. Le indica a KDE su que examine el archivo especificado porarchivo
. Si este archivo tiene privilegios de escritura para el usuario actual, KDE su ejecutará la orden como usuario actual. Si no tiene privilegios de escritura, la orden se ejecutará como el usuariousuario
(de forma predeterminada es root).archivo
se evalúa del siguiente modo: siarchivo
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.-i
nombre del icono
Especifica el icono a utilizar en el diálogo de contraseñas. Puede especificar el nombre sin la extensión.
Por ejemplo, para ejecutar Konqueror en modo gestor de archivos y mostrar el icono de Konqueror en el diálogo de contraseña:
$(kde4-config --path libexec)kdesu
-i konqueror
-c "konqueror --profile filemanagement"
-n
No guarda la contraseña. Esto desactiva la casilla guardar contraseña en el diálogo de contraseña.
-p
prioridad
Asigne el valor de la prioridad. La prioridad es un número arbitrario entre 0 y 100. 100 es la prioridad más alta y 0 la más baja. El valor predeterminado es 50.
-r
Utilizar planificación en tiempo real.
-s
Detener el demonio kdesu daemon. Consulte “Registro de contraseñas”.
-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 aplicación desde consola, utilice la orden su estándar en su lugar.
-u
usuario
El uso más común para KDE su es ejecutar una orden como superusuario, aunque puede proporcionar un nombre de usuario y la contraseña apropiada.

El programa que usted ejecute lo hará bajo el ID de root y habitualmente no tendrá permiso para escribir en su pantalla X. KDE su evita este problema añadiendo una cookie de autenticación para su pantalla en un archivo temporal .Xauthority
. Después de que esta orden finalice, este archivo se suprime.
Si no utiliza cookies X, usted tendrá que resolver este problema por su cuenta. KDE su lo detectará y no añadirá una cookie pero usted debe asegurarse de que root tiene acceso a su pantalla.

KDE su utiliza la orden su del sistema para obtener privilegios. En esta sección se explican los detalles de como KDE su lleva a cabo esta operación.
Debido a que ciertas implementaciones de su (es decir, la de Red Hat®) no desean leer la contraseña de stdin
, KDE su crea un par pty/tty y ejecuta su con sus descriptores de archivos estándar conectados a tty.
Para ejecutar la orden seleccionada por el usuario, en lugar de un intérprete interactivo, KDE su 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 órdenes ejecuta el programa. Ejemplo: su root -c
.el_programa
En lugar de ejecutar la orden del usuario directamente con su, KDE su ejecuta un pequeño programa intermediario denominado kdesu_stub. Este intermediario (ejecutándose como usuario de destino), solicita algo de información de KDE su 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 la orden 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 órdenes.

Para su comodidad, KDE su implementa una propiedad de «registro de contraseña». Si está interesado en la seguridad, debería leer el siguiente parrafo.
Si permite que KDE su recuerde las contraseñas estará abriendo un (pequeño) agujero en la seguridad de su sistema. Obviamente, KDE su 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
. KDE su intenta impedir esto. El esquema de seguridad, es razonablemente seguro y se explica a continuación.
KDE su utiliza un demonio, llamado kdesud. El demonio escucha a un socket de UNIX® en /tmp
listo para ejecutar órdenes. El modo del socket es 0600 de tal manera que solo su identificador de usuario se pueda conectar a él. Si se activa el registro de contraseñas, KDE su ejecuta órdenes a través de este demonio. Escribe la orden y la contraseña de root
en el socket y el demonio ejecuta la orden utilizando su, como ya se ha descrito anteriormente. Después de esta operación la orden 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 la misma orden 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.

KDE su
Copyright 2000 Geert Jansen
El autor de KDE su es Geert Jansen. Está basado de algún modo en la versión 0.3 de KDE su de Pietro Iglio. Pietro y el autor acordaron que este programa sería mantenido por el autor actual en el futuro.
Puede contactar con el autor por correo electrónico en (g.t.jansen AT stud.tue.nl)
. Por favor informe de cualquier error que encuentre de modo que pueda solucionarlo. Siéntase libre de contactar conmigo para enviar sugerencias.
Traducido por Pablo de Vicente (pvicentea AT nexo.es)
y Marcos Fouces Lago (mfouces AT yahoo.es)
.
Esta documentación está sujeta a los términos de la Licencia de Documentación Libre GNU.
Este programa está sujeto a los términos de la Licencia Artística.