# El manual del &kdesu;

## Introducció

Us donem la benvinguda al &kdesu;! El &kdesu; és un frontal gràfic de l'entorn d'escriptori K per a l'ordre `su` de &UNIX;. Us permetrà executar un programa com a un usuari diferent indicant la contrasenya per aquest usuari. El &kdesu; és un programa sense privilegis que empra el sistema de `su`.

El &kdesu; disposa d'una característica addicional: pot conservar les contrasenyes. Si esteu emprant aquesta característica, tan sols us caldrà introduir la contrasenya una vegada per a cada ordre. Consulteu sec-password-keeping per a més informació quant a això i una anàlisi de seguretat.

Aquest programa està principalment dissenyat per a ser executat des de la línia d'ordres o des de fitxers `.desktop`. Tot i que després demana per la contrasenya de `root` emprant un diàleg &IGU;, de fet considero més un pegat de línia d'ordres <-> &IGU; en comptes d'un programa d'&IGU; pur.

Atès que el `kdesu` no s'instal·la més a `$(kde4-config --prefix)`/bin sinó a `kde4-config --path libexec` i aquest no es troba a la vostra `Path`, haureu d'usar `$(kde4-config --path libexec)`kdesu`` per a iniciar el `kdesu`.

## Ús del &kdesu;

L'ús del &kdesu; és fàcil. La sintaxi és com la següent:

    kdesu -c  ordre -d -f  fitxer -i  nom icona -n -p  prioritat -r -s -t -u  usuari --noignorebutton --attach  winid

    kdesu Opcions genèriques de &kde; Opcions genèriques de les &Qt;

Les opcions per a la línia d'ordres s'expliquen a sota.

`-c `ordre``

- Especifica l'ordre a executar com a root. Aquesta se li ha d'especificar com a un únic argument. De manera que, per exemple, si voleu executar un nou gestor de fitxers, haureu d'introduir a l'indicatiu: `$(kde4-config --path libexec) `kdesu `-c `&dolphin;````

`-d`

- Mostra la informació de depuració.

`-f `fitxer``

- Aquesta opció permet un ús eficient del &kdesu; en els fitxers `.desktop`. Li indica al &kdesu; que examini el fitxer especificat per `fitxer`. Si aquest fitxer és d'escriptura per a l'usuari actual, el &kdesu; executarà l'ordre com a aquest l'usuari. Si no fos d'escriptura, l'ordre seria executada com a l'usuari `usuari` (per omissió el root).

  El paràmetre `fitxer` s'avalua de la següent manera: si `fitxer` comença per `/`, es pren com a un nom de fitxer absolut. D'altra manera, es pren com al nom d'un fitxer de configuració global del &kde;.

`-i` `nom icona`

- Especifica la icona a usar en el diàleg de contrasenya. Podeu especificar el nom sense cap extensió.

  Per exemple, per executar el &konqueror; en el mode de gestor de fitxers i mostrar-ne la icona al diàleg de contrasenya:

      $(kde4-config --path libexec)kdesu  -i konqueror
      -c "konqueror --profile filemanagement"

`-n`

- No demana la contrasenya. Això inhabilita la casella de selecció Conserva la contrasenya al diàleg de la contrasenya.

`-p` `prioritat`

- Estableix el valor de la prioritat. La prioritat és un número arbitrari entre 0 i 100. El valor per omissió és 50.

`-r`

- Usa planificació en temps real.

`-s`

- Atura el dimoni kdesu. Vegeu sec-password-keeping.

`-t`

- Habilita l'eixida de terminal. També inhabilita el requeriment de la contrasenya. És molt recomanable per a propòsits de depuració, si voleu executar una aplicació en mode consola, en comptes d'aquest, empreu el `su` estàndard.

`-u` `usuari`

- L'ús més comú per al &kdesu; és executar una ordre com a superusuari, tot i que se li pot indicar un nom d'usuari i la contrasenya apropiada.

## Interioritats

### Autenticació X

El programa que executeu ho farà sota la ID d'usuari del root i generalment no està autoritzat a accedir a la vostra pantalla X. El &kdesu; evita aquest problema afegint una galeta d'autenticació per a la pantalla a un fitxer temporal `.Xauthority`. Després que aquesta ordre finalitzi, aquest fitxer serà eliminat.

Si no empreu galetes X, haureu de resoldre aquest problema pel vostre compte. El &kdesu; ho detectarà i no afegirà cap galeta però us haureu d'assegurar que root té permès l'accés a la vostra pantalla.

### Interfície per a `su`

El &kdesu; usa el sistema de `su` per adquirir privilegis. En aquesta secció s'expliquen els detalls de com es fa això.

A causa d'algunes implementacions de `su` (&pex; la de &RedHat;), no volen llegir la contrasenya des de `stdin`, el &kdesu; crea un parell pty/tty i executa `su` amb els seus descriptors de fitxer (filedescriptors) estàndards connectats a la tty.

Per executar l'ordre seleccionada per l'usuari, en comptes d'un intèrpret d'ordres interactiu, el &kdesu; usa l'argument `-c` amb `su`. Aquest argument és entès per tots els intèrprets d'ordres coneguts pel qual hauria de funcionar. `su` passa aquest argument a l'intèrpret d'ordres de l'usuari de destinació, i aquest executa el programa. Ordre d'exemple: `su `root -c `el_programa```.

En comptes d'executar directament l'ordre de l'usuari amb `su`, el &kdesu; executa un petit programa intermedi anomenat kdesu_stub. Aquest intermediari (que s'executa com a usuari de destinació), requereix informació del &kdesu; a sobre del canal pty/tty (l'entrada i eixida estàndard de l'intermediari) i després executa el programa de l'usuari. La informació que es passa és: la pantalla X, una galeta d'autenticació X (si està disponible), la variable d'entorn `PATH` i l'ordre a executar. El motiu pel qual s'empra un programa intermedi és que la galeta X és informació privada i per això no es pot passar a través de la línia d'ordres.

### Comprovació de la contrasenya

El &kdesu; comprovarà la contrasenya introduïda i generarà un missatge d'error si no és correcta. La comprovació es realitza executant un programa de prova: `/bin/true`. Si el resultat és positiu, s'assumeix que la contrasenya és correcta.

### Conserva la contrasenya

Per al vostre confort, el &kdesu; implementa una característica per a conservar la contrasenya. Si esteu interessat en la seguretat, hauríeu de llegir aquest paràgraf.

Si permeteu que el &kdesu; conservi les contrasenyes, estareu obrint un (petit) forat de seguretat en el vostre sistema. Òbviament, el &kdesu; no permet més que a l'identificador del vostre usuari utilitzar les seves contrasenyes, però si es fa sense precaució, s'estaria rebaixant el nivell de seguretat de `root` al d'un usuari normal (com ara vosaltres). Un intrús que aconsegueixi accés al vostre compte, podria aconseguir accés automàtic a `root`. El &kdesu; intenta prevenir això. L'esquema de seguretat que s'usa és, en la meva opinió, raonablement segur i s'explica tot seguit.

El &kdesu; usa un dimoni, anomenat kdesud. El dimoni escolta a un sòcol d'&UNIX; en `/tmp` a punt per executar ordres. El mode del sòcol és 0600 de tal manera que només el seu identificador d'usuari s'hi pugui connectar. Si s'habilita conservar la contrasenya, el &kdesu; executarà ordres a través d'aquest dimoni. Escriurà l'ordre i la contrasenya de `root` en el sòcol i el dimoni executarà l'ordre emprant `su`, tal com s'ha descrit anteriorment. Després d'aquesta operació l'ordre i la contrasenya no es descarten. Es registren durant un cert temps. Aquest temps és el valor temps d'expiració que apareix en el mòdul de control. Si li arriba un altre requeriment per a la mateixa ordre durant aquest període de temps, el client no haurà de tornar a introduir la contrasenya. Per evitar que possibles intrusos al vostre compte robin aquesta contrasenya des del dimoni (per exemple, afegint-li un depurador), el dimoni s'instal·la com a set-group-id nogroup. Això hauria de prevenir l'obtenció de contrasenyes des del procés kdesud per a tots els usuaris normals (vosaltres inclosos). A més a més, el dimoni també estableix la variable d'entorn `DISPLAY` al valor que tenia quan s'inicià. L'únic que un intrús pot fer és executar una aplicació sobre la vostra pantalla.

Un possible problema amb aquest disseny és que els programes que executeu probablement no estan escrits tenint en compte la seguretat (com els programes setuid `root`). Això principalment vol dir que poden tenir desbordaments de la memòria intermèdia o d'altres problemes que un intrús podria explotar.

L'ús de conservar les contrasenyes és un compromís entre seguretat i comoditat. Us encoratjo que us ho penseu detingudament i decidiu si voleu o no usar-lo.

## Autor

&kdesu;

Copyright 2000 &Geert.Jansen;

El &kdesu; ha estat escrit per &Geert.Jansen;. Està d'alguna manera basat en la versió 0.3 del &kdesu; d'en Pietro Iglio. En Pietro i jo vàrem acordar que en el futur aquest programa el mantindria jo mateix.

Es pot contactar amb l'autor a través de correu electrònic en &Geert.Jansen.mail;. Si us plau, informeu de qualsevol error que trobeu de manera que el pugui solucionar. Si teniu cap suggeriment, trobeu-vos lliure d'enviar-me'l, també.

Traductor/Revisor de la documentació: &credits.Antoni.Bella;

&underFDL; &underArtisticLicense;