Pagina 1 di 1
'kdesu', 'su' e lettore di impronte [RISOLTO]
Inviato: mer 13 dic 2006, 23:11
da pino.giaquinto
Finalmente ho PAM che funziona... e riesco ad utilizzare il lettore di impronte digitali con la mia amata slackware

Ho solo un problema: usando 'su' da 'konsole' tutto funziona alla grande, mentre se uso 'kdesu' mi chiede 2 volte l'autenticazione tramite il lettore di impronte

Questo accade anche quando accedo come amministratore in 'Centro di controllo' di KDE. E' come se 'kdesu' richiamasse 2 volte 'su'... è strano!
Ho provato con 'kdebase' ricompilato con PAM e senza PAM (quello di Meskalamdug) ma niente da fare!
Avevo pensato di usare 'su -c nome_applicazione' per i miei collegamenti alle applicazioni a cui voglio accedere con i diritti di amministratore... ma se metto questo comando nelle proprietà dell'icona che ho sul desktop... non funziona... non si apre nulla! Se digito lo stesso comando da 'konsole' invece è tutto OK.
Aiutatemi a risolvere... avete qualche suggerimento?
Inviato: gio 14 dic 2006, 0:49
da Dani
Usare sudo.

Inviato: gio 14 dic 2006, 12:35
da pino.giaquinto
Anche questo è vero... ma dovrei ricompilarmi 'sudo' e 'kdebase' con l'opzione per PAM (e kdesu con l'opzione 'sudo')

Quello che vorrei capire è:
1) perchè 'su -c /percorso/nome_comando' funziona da konsole e se lo metto nelle proprietà dell'icona come comando da eseguire non funziona?
2) perchè 'kdesu' (ne ho avuto conferma osservando il contenuto del file '/var/log/secure') richiama 2 volte 'su'?
Inviato: gio 14 dic 2006, 15:56
da whites11
a me kdesu non fa questo problema, dai log non ti appare niente di significativo (ad esempio il primo tentativo fallisce?)
per quanto riguarda su -c forse il problema è che richiede un terminale per funzionare (è solo una congettura). prova ad abilitare la voce "esegui in un terminale" nella voce del menu e vedi che succede
Inviato: gio 14 dic 2006, 16:23
da pino.giaquinto
Ho provato 'kdesu' anche sul PC desktop (qui non ho lettore di impronte e neanche PAM): mi chiede come di norma 1 sola volta la password... ma se guardo poi nel file '/var/log/secure' si nota subito che 'su' è stato chiamato 2 volte... è impossibile eseguire 2 'kdesu' nello stesso secondo
Codice: Seleziona tutto
Dec 14 16:10:55 celeron su[7015]: + pts/5 pino-root
Dec 14 16:10:55 celeron su[7017]: + pts/5 pino-root
Quando invece uso il lettore di impronte sul portatile, richiede il mio polpastrello per ogni 'su' che esegue UFFA!

Il comando 'su' da konsole invece funziona alla grande... 1 solo passaggio sul lettore e sono 'root'!
Anche il login (quando ho provato 'kdebase' ricompilato con PAM) funzionava regolarmente... è un problema strettamente legato al codica di 'kdesu'.
Voglio dare uno sguardo ai sorgenti di 'kdesu'... c'è qualche suicida volontario che vuole aiutarmi a capirci qualcosa?
Inviato: gio 14 dic 2006, 20:39
da whites11
penso sia un impresa impossibile(in senso figurato, ovviamente tutto è possibile), e comunque se gli sviluppatori hanno sviluppato kdesu così un motivo c'è sicuramente!
ti potrei consigliare di ricompilare kdesu verificando attentamente eventuali opzioni di compilazione che potrebbero esserti sfuggite...
Inviato: ven 15 dic 2006, 0:32
da pino.giaquinto
Nessuna opzione... ho studiato molto a fondo il codice di 'kdesu' e la responsabilità era proprio sua!
Usava 2 diverse istanze della classe 'SuProcess', la prima volta per verificare la necessità di richiedere la password dell'utente:
Codice: Seleziona tutto
// Check if we need a password
SuProcess proc;
proc.setUser(auth_user);
int needpw = proc.checkNeedPassword();
...
e la seconda volta per eseguire il comando:
Codice: Seleziona tutto
// Run command
...
SuProcess proc;
proc.setTerminal(terminal);
proc.setErase(true);
proc.setUser(user);
if (!new_dcop)
{
proc.setXOnly(true);
proc.setDCOPForwarding(true);
}
proc.setEnvironment(env);
proc.setPriority(priority);
proc.setScheduler(scheduler);
proc.setCommand(command);
int result = proc.exec(password);
...
Ho quindi apportato qualche piccola 'modifica' ai sorgenti, ho ricompilato... ed ora è tutto OK!
L'unico svantaggio è che il mio 'kdesu' ora funziona solo con il lettore di impronte digitali... ma poco mi importa... tanto ho una copia dell'originale

Inviato: ven 15 dic 2006, 10:42
da whites11
quello intendevo!
se ci hanno messo due richieste un motivo c'era...comunque complimenti per il lavoro svolto!