30.6. Abilitazione dell'accesso alla console per altre applicazioni

Se desiderate rendere accessibili altre applicazioni agli utenti della console, è richiesto un pò più di lavoro.

Prima di tutto, l'accesso alla console funziona solo per le applicazioni che si trovano in /sbin o /usr/sbin/, pertanto l'applicazione che si desidera eseguire deve essere contenuta in queste directory.Dopo aver verificato quanto sopra descritto, procedete come segue:

  1. Create un collegamento tra il nome dell'applicazione, per esempio il programma foo e l'applicazione /usr/bin/consolehelper:

    cd /usr/bin
    ln -s consolehelper foo
  2. Create il file /etc/security/console.apps/foo:

    touch /etc/security/console.apps/foo
  3. Create un file di configurazione di PAM per il servizio foo in /etc/pam.d/. Un modo semplice per farlo è quello di utilizzare una copia del file di configurazione di PAM per il servizio halt e poi modificare il file:

    cp /etc/pam.d/halt /etc/pam.d/foo

Ora, quando eseguite /usr/bin/foo, viene richiamata l'applicazione consolehelper che, con l'ausilio di /usr/sbin/userhelper autentica l'utente. Per autenticare l'utente, consolehelper richiede la password se /etc/pam.d/foo è una copia del file /etc/pam.d/halt (in caso contrario esegue quanto specificato nel file /etc/pam.d/foo) e poi esegue il file /usr/sbin/foo con i permessi di root.

Nel file di configurazione PAM, un'applicazione può essere configurata per utilizzare il modulo pam_timestamp per memorizzare (cache) un tentativo di autenticazione riuscito. Quando un'applicazione viene avviata ed viene effettuata un'autenticazione appropriata (la password di root), viene creato un file timestamp. Per default, un'autenticazione riuscita è memorizzata per cinque minuti. In questo periodo di tempo qualsiasi altra applicazione configurata per utilizzare pam_timestamp ed essere eseguita dalla stessa sessione viene autenticata automaticamente, senza che l'utente debbe immettere di nuovo la password di root.

Questo modulo è incluso nel pacchetto pam. Per abilitare questa funzionalità, il file di configurazione PAM in etc/pam.d/ deve includere le seguenti righe:

auth sufficient /lib/security/pam_timestamp.so
session optional /lib/security/pam_timestamp.so

La prima riga che inizia con auth deve trovarsi dopo qualsiasi altra riga auth sufficient e la riga che inizia con session deve trovarsi dopo qualsiasi riga session optional.

Se un'applicazione configurata per utilizzare pam_timestamp viene autenticata con successo dal pulsante del Menu principale (sul pannello), l'icona viene visualizzata nell'area di notifica del pannello se state eseguendo l'ambiente desktop GNOME o KDE. Allo scadere dell'autenticazione (il valore predefinito è cinque minuti), l'icona scompare.

L'utente può scegliere di dimenticare l'autenticazione memorizzata facendo clic sull'icona e selezionando l'opzione relativa.