# El manual de &tdesu;

## Introducció

Benvingut a &tdesu;! &tdesu; és una interfície gràfica per a l'entorn d'escriptori K per al comandament `su`. Aquesta us permetrà executar un programa com a un usuari diferent indicant la contrasenya per aquest usuari. &tdesu; és un programa sense privilegis; aquest empra el sistema de `su`.

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

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

## Ús de &tdesu;

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

    tdesu -c -d -f  fitxer -i  nom icona -n -p  prioritat -r -s -t -u  usuari --nonewdcop comandament arg1 arg2

    tdesu Opcions genèriques del &kde; Opcions genèriques de Qt

Les opcions per a la línia de comandaments s'expliquen a sota.

`-c `programa``

- Això especifica el programa a executar com a root. Aquest 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: ``tdesu `-c `kfm -sw````

`-d`

- Mostra informació de depuració.

`-f `fitxer``

- Aquesta opció permet un ús eficient de &tdesu; en els fitxers `.desktop`. Aquesta li indica a &tdesu; que examini el fitxer especificat per `fitxer`. Si aquest fitxer és d'escriptura per a l'usuari actual, &tdesu; executarà el comandament com a dit l'usuari. Si no fos d'escriptura, el comandament seria executat 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;. Per exemple: Per a configurar el gestor d'accés K, tdm, podríeu emprar `tdesu `-c tdmconfig -f tdmrc``

`-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 `kfmclient` i mostrar la icona de &konqueror; en el diàleg de contrasenya:

      tdesu  -i konqueror kfmclient

`-n`

- No demana la contrasenya. Això deshabilita la caixa de selecció Conserva la contrasenya del diàleg de contrasenyes.

`-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 tdesu. Veure sec-password-keeping.

`-t`

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

`-u` `usuari`

- L'ús més comú per a &tdesu; es executar un comandament com a superusuari, tot i que ase 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. &tdesu; evita aquest problema afegint una galeta d'autenticació per a la pantalla a un fitxer temporal `.Xauthority`. Després de que aquest comandament finalitzi, aquest fitxer serà eliminat.

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

### Interfície per a `su`

&tdesu; 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`, &tdesu; crea un parell pty/tty i executa `su` amb els seus descriptors de fitxer (filedescriptors) estàndards connectats a la tty.

Per executar el comandament seleccionat pel usuari, en comptes d'un intèrpret de comandaments interactiu, &tdesu; usa l'argument `-c` amb `su`. Aquest argument és entès per tots els intèrprets de comandament coneguts pel que hauria de funcionar. `su` passa aquest argument a l'intèrpret de comandaments de l'usuari de destí, i aquest executa el programa. Comandament d'exemple: `su `root -c `el_programa```.

En comptes d'executar directament el comandament de l'usuari amb `su`, &tdesu; executa un petit programa intermedi anomenat tdesu_stub. Aquest intermediari (que s'executa com a usuari de destí), requereix quelcom d'informació de &tdesu; 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 el comandament a executar. El motiu pel que 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 de comandaments.

### Comprovació de la contrasenya

&tdesu; 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'asumeix que la contrasenya és correcta.

### Conserva la contrasenya

Per al vostre confort, &tdesu; 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 &tdesu; conservi les contrasenyes estareu obrint un (petit) forat de seguretat en el vostre sistema. Òbviament, &tdesu; no permet més que a l'identificador del vostre usuari utilitzar les seves contrasenyes, però si es fa sense precaució, s'estaria baixant el nivell de seguretat de `root` al d'un usuari normal (com ara vos). Un intrús que aconsegueixi accés al vostre compte, podria aconseguir accés automàtic a `root`. &tdesu; intenta previndre això. L'esquema de seguretat que s'usa és, en la meva opinió, raonablement segur i s'explica tot seguit.

&tdesu; usa un dimoni, anomenat tdesud. El dimoni escolta a un socket de &UNIX; en `/tmp` a punt per executar comandaments. El mode del socket és 0600 de tal manera que només el seu identificador d'usuari s'hi pugui connectar. Si s'habilita el conservar la contrasenya, &tdesu; executarà comandaments a través d'aquest dimoni. Escriurà el comandament i la contrasenya de `root` en el socket i el dimoni executarà el comandament emprant `su`, tal i com s'ha descrit anteriorment. Després d'aquesta operació el comandament 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 al mateix comandament durant aquest periode de temps, el client no tindrà que tornar a introduir la contrasenya. Per evitar que possibles intrusos al vostre compte robin dita contrasenya des del dimoni (per exemple afegint-li un depurador), el dimoni s'instal·la com a set-group-id nogroup. Això hauria de previndre l'obtenció de contrasenyes des del procés tdesud per a tots els usuaris normals (vos inclòs). 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 intermitja 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 a que us ho penseu detingudament i decidiu si voleu o no usar-lo.

## Autor

&tdesu;

Copyright 2000 &Geert.Jansen;

&tdesu; ha estat escrit per &Geert.Jansen;. Està d'alguna manera basat en la versió 0.3 de &tdesu; 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 solventar. Si teniu cap suggeriment, troveu-vos lliure d'enviarme'l, també.

&underFDL; &underArtisticLicense;