
4.5 (2010-09-21)
Diritto d'autore © 2000 Geert Jansen
KDE su è un'interfaccia grafica per il comando su di UNIX®.
Indice

Benvenuti in KDE su! KDE su è un'interfaccia grafica per il comando su di UNIX® per l'Ambiente Desktop KDE. Ti permette di lanciare un programma come se tu fossi un altro utente fornendo la password per quell'utente. KDE su è un programma senza privilegi; utilizza il comando di sistema su.
KDE su ha una funzionalità aggiuntiva: può ricordare le password per te. Se stai usando questa funzionalità, devi solo inserire la password una volta per ogni comando. Guarda la sezione chiamata «Memorizzare la Password» per maggiori informazioni al riguardo ed un'analisi sulla sicurezza.
Questo programma è pensato per essere lanciato dalla linea di comando o dai file .desktop
. Anche se chiede la password di root
utilizzando una finestra di dialogo GUI, lo considero più come un collante linea di comando <> GUI che come un puro programma GUI.
Dal momento che kdesu non è più installato in $(kde4-config --prefix)
/bin ma in kde4-config --path libexec
e non è più quindi nella variabile Path
, devi usare $(kde4-config --path libexec)kdesu
per eseguire kdesu.

L'utilizzo di KDE su è semplice. La sintassi è la seguente:
kdesu [-c
comando
] [-d
] [-f
file
] [-i
nome icona
] [-n
] [-p
priorità
] [-r
] [-s
] [-t
] [-u
utente
] [--noignorebutton
] [--attach
winid
]
kdesu [Opzioni generiche di KDE] [Opzioni generiche di Qt™]
Le opzioni della linea di comando sono spiegate sotto.
-c
comando
Specifica il comando da eseguire come root. Deve essere passato come unico argomento. Così se, per esempio, vuoi lanciare un nuovo gestore di file, dovrai inserire alla riga di comando:
$(kde4-config --path libexec)kdesu
-c
Dolphin
-d
Visualizza le informazioni di debug.
-f
file
Questa opzione permette un uso efficiente di KDE su nei file
.desktop
. Dice a KDE su di esaminare il file specificato dafile
. Se questo file è scrivibile dall'utente corrente, KDE su esegue il comando con l'utente corrente. Se non è scrivibile, il comando viene eseguito con l'utenteutente
(valore predefinito impostato a root).file
è valutato in questo modo: sefile
comincia con una/
, viene interpretato come un nome di file assoluto. Altrimenti, viene preso come nome di un file di configurazione globale di KDE.-i
nome icona
Specifica l'icona da utilizzare nella finestra di dialogo della password. Puoi specificarne semplicemente il nome, senza alcuna estensione.
Ad esempio per lanciare Konqueror in modalità gestore di file e mostrare l'icona di Konqueror nella finestra di dialogo della password:
$(kde4-config --path libexec)kdesu
-i konqueror
-c "konqueror --profile filemanagement"
-n
Non memorizzare la password. Questo disabilita la casella ricorda password nella finestra di dialogo della password.
-p
priorità
Imposta il valore della priorità. La priorità è un numero arbitrario compreso tra 0 e 100, dove 100 significa la priorità massima e 0 la minima. L'impostazione predefinita è 50.
-r
Utilizza la pianificazione in tempo reale.
-s
Ferma il demone di kdesu. Guarda la sezione chiamata «Memorizzare la Password».
-t
Abilita l'output del terminale. Ciò disabilita la memorizzazione della password. È principalmente per scopi di debug; se vuoi lanciare un'applicazione della modalità console, usa piuttosto lo standard su.
-u
utente
Anche se l'utilizzo principale di KDE su è quello di eseguire un comando come superutente, puoi fornire qualsiasi nome utente e la password appropriata.

Il programma che eseguirai girerà sotto l'id dell'utente root e non avrà generalmente l'autorità di accedere al tuo schermo di X. KDE su vi gira intorno aggiungendo un cookie di Autenticazione per il tuo schermo al file temporaneo .Xauthority
. Dopo che il comando termina, questo file viene rimosso.
Se non utilizzi i cookie di X, è lasciato a te il lavoro. KDE su riconoscerà questa situazione e non aggiungerà un cookie ma dovrai assicurarti che l'utente root abbia il permesso di accedere al tuo schermo.

KDE su utilizza il comando di sistema su per acquisire privilegi. In questa sezione, spiegherò i dettagli di come KDE su fa ciò.
Dato che alcune implementazioni di su (cioè quella di Red Hat®) non vogliono leggere la password da stdin
, KDE su crea una coppia pty/tty ed esegue su con i suoi descrittori di file standard connessi alla tty.
Per eseguire il comando che l'utente seleziona, piuttosto che in una shell interattiva, KDE su utilizza l'argomento -c
con su. Questo argomento è compreso da ogni shell che conosco quindi dovrebbe funzionare in maniera portabile. su passa l'argomento -c
alla shell dell'utente target, e la shell esegue il programma. Esempio di comando: su root -c
.il_programma
Invece di eseguire il comando dell'utente direttamente con su, KDE su esegue un piccolo programma di comodo chiamato kdesu_stub. Questo programma di comodo (che gira come utente target), richiede alcune informazioni da KDE su attraverso il canale pty/tty (lo stdin e stdout del programma di comodo) e poi esegue il programma dell'utente. Le informazioni che vengono passate sono: il display X, un cookie di Autenticazione di X (se disponibile), il PATH
ed il comando da lanciare. La ragione per cui è usato un programma di comodo è che il cookie di X è un'informazione privata e non può quindi essere passata sulla linea di comando.

Per comodità, KDE su implementa una funzionalità di «ricorda password». Se ti interessa la sicurezza, dovresti leggere questo paragrafo.
Permettere a KDE su di ricordare le password apre un (piccolo) buco di sicurezza nel tuo sistema. Ovviamente, KDE su non permette a chiunque ma solo al tuo id utente di usare le password, ma, se fatto senza cautela, ciò abbasserebbe il livello di sicurezza di root
a quello dell'utente normale (tu). Un hacker che irrompe nel tuo account, otterrebbe l'accesso di root
. KDE su cerca di prevenire ciò. Lo schema di sicurezza che utilizza, almeno secondo me, è ragionevolmente sicuro ed è qui spiegato.
KDE su utilizza un demone, chiamato kdesud. Il demone sta in ascolto di comandi ad un socket UNIX® in /tmp
. I permessi del socket sono 0600 così che solo il tuo id utente può connettervisi. Se è attivata la memorizzazione delle password, KDE su esegue il comando attraverso questo demone. Scrive il comando e la password di root
a questo socket e il demone esegue il comando utilizzando su, come descritto sopra. Fatto questo, il comando e la password non sono gettati via. Sono, invece, memorizzati per una quantità di tempo specificata. Questo è il valore di timeout del modulo di controllo. Se un'altra richiesta per lo stesso comando arriva entro questo periodo di tempo, il client non deve fornire nuovamente la password. Per evitare che gli hacker che irrompono nel tuo account rubino le password dal demone (per esempio, connettendo un debugger), il demone è installato con l'id di gruppo nogroup. Questo previene tutti i normali utenti (inclusi tu) dall'ottenere password dal processo kdesud. Inoltre il demone imposta la variabile di ambiente DISPLAY
al valore che aveva quando è stato lanciato. L'unica cosa che un hacker può fare è eseguire un applicazione sul tuo display.
Un punto debole in questo schema è che i programmi che esegui, probabilmente, potrebbero non essere stati scritti con la sicurezza in mente (come i programmi setuid
root). Questo significa che potrebbero avere dei buffer overrun o altri problemi ed un hacker potrebbe sfruttarli.
L'utilizzo della memorizzazione delle password è un compromesso tra la sicurezza e la comodità. Ti incoraggio a pensarci e a decidere tu stesso se vuoi usarlo o no.

KDE su
Copyright 2000 Geert Jansen
KDE su è scritto da Geert Jansen. È in qualche modo basato su KDE su di Pietro Iglio, versione 0.3. Io e Pietro siamo d'accordo che io manterrò il programma nel futuro.
L'autore può essere raggiunto via email a(g.t.jansen AT stud.tue.nl)
. Per favore, riferiscimi ogni bug che trovi così che li possa riparare. Se hai dei suggerimenti, sentiti libero di contattarmi.
Dario Panico (dareus.persarumrex AT gmail.com)
(Traduzione della documentazione)
Samuele Kaplun(kaplun AT aliceposta.it)
(Traduzione del documento)
Daniele Micci (daniele.micci AT tiscali.it)
(Traduzione della documentazione)
Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.
Questo programma è concesso in licenza sotto i termini della Artistic License.