Dopo aver adoperato a lungo e con successo la soluzione di cui avevo scritto in un vecchio post, per la postazione kiosk dell’albergo sono finalmente riuscito a recuperare un computer un pelo più performante, che mi ha permesso di realizzare un’ideuzza che mi ronzava in testa da un po’. A grande richiesta cercherò di descrivere in maniera comprensibile quello che ho fatto.

Premesse:

  • Spesso gli utenti del kiosk chiedono la possibilità di utilizzare nel kiosk il loro dispositivo portatile di memorizzazione (chiavetta USB) per inviare o scaricare una foto, un documento o altro.
  • A volte gli utenti vogliono poter scegliere quale browser usare, principalmente Firefox o Chrome
  • Sussiste a volte il problema che alcuni siti tuttora utilizzano finestre pop-up, scarsamente compatibili con la modalità kiosk dei browser
  • Molti utenti (specie gli americani) non riescono a fronteggiare la difficile situazione di non avere tutto un desktop ma solo un browser a schermo intero, e manifestano disappunto quando lo chiudono e si ritrovano al login

Soluzione:

Fornire agli avventori un desktop completo, con funzioni limitate e che si resetti al logout. La sessione ospite di Ubuntu, per esempio.

Sbagliato!

La sessione ospite non prevede una password, quindi chiunque passi davanti al kiosk potrebbe loggarsi come ospite ed accedere ad Internet bypassando la registrazione obbligatoria per legge.

La vera soluzione:

Creare un account ospite “regolare”, con la sua password e la sua home, facendo in modo che l’intera directory home sia ripulita ogni volta e riportata allo stato preimpostato dall’admin.
Non esiste un tool specifico per fare questo, anche se Sabayon si avvicina parecchio, perciò ho trovato il modo di fare da solo.

Implementiamo…

Il processo per creare una home predefinita è molto semplice: si crea l’utente guest, limitandone i privilegi secondo la bisogna (più o meno il profilo “Desktop” va bene), ci si logga con tale utente e si personalizza l’ambiente.
Queste più o meno le personalizzazioni che ho fatto io:

  • cambiato il tema grafico, soprattutto le icone
  • cambiato lo sfondo
  • eliminate tramite alacarte le voci scomode dal menu, ho lasciato solo:
    • Accessori -> Calcolatrice, Editor di testo, Tabella caratteri
    • Internet -> Vari Browser
    • Ufficio -> Word Processor, Foglio di calcolo, Dizionario
  • aggiunte le icone dei browser sia al pannello in alto che sul desktop
  • rimossi tutti i pulsanti e le applet superflue dai pannelli
  • aggiunte le principali città del mondo alle Località dell’orologio di Gnome
  • effettuato un po’ di lockdown tramite Pessulus

Una volta sistemato tutto secondo i nostri gusti, si crea un tar.gz della cartella home intera, ad esempio:

cd /home
sudo tar -czf guest_home.tar.gz guest/

Adesso che abbiamo il nostro prototipo di home folder, bisogna fare in modo che venga utilizzato ad ogni login, rimpiazzando la home folder precedente, e questo va fatto con i permessi di root; ci viene incontro una funzione del server X, che ad ogni avvio esegue gli script contenuti nella directory /etc/X11/Xsession.d/, sarà sufficiente confezionare uno script su misura e piazzarlo lì.
Non ricordo esattamente lo script in uso in albergo, e adesso non ho la possibilità di verificarlo, ma più o meno dovrebbe essere così:

#!/bin/bash
#rimuovo la vecchia home folder
rm -rf /home/guest
#estraggo il contenuto dell'archivio creando la nuova home folder
tar -zxf /home/guest_home.tar.gz -C /home

Gli script nella cartella /etc/X11/Xsession.d/sono eseguiti in ordine alfabetico; il nostro script deve essere eseguito più o meno all’inizio, quindi gli daremo un nome che inizi con un numero abbastanza basso, ade sempio 10reset_guest_home.
Ovviamente perchè venga eseguito va anche reso eseguibile 😉

Ta-Dah!

Fatto! Con questo setup ad ogni nuovo login verrà ripristinata una sessione ospite pulita ed uguale a quella che abbiamo configurato all’inizio.

Se in futuro decidessimo di apportare delle modifiche alla sessione predefinita, basterà loggarsi come guest, fare le modifiche e, prima di fare logout, da un altro tty con permessi di root, ricreare l’archivio guest_home.tar.gz col comando di cui sopra.

Note

Nonostante il lockdown e le castrature, per un utente smaliziato è sempre possibile trovare il modo di accedere ad alcune parti “riservate” del sistema; è comunque una minaccia molto blanda, dato che senza un account di amministratore potrebbe fare ben poco, ma ci tengo a precisarlo.

Il processo di creazione del tar.gz sputa fuori alcuni errori e dichiara di aver fallito, ma non è del tutto vero: sono alcuni link simbolici a dargli fastidio, ma il file risultante è comunque sufficiente alle nostre necessità.

Conviene tenere una copia del file guest_home.tar.gz nella home dell’utente amministratore, non si sa mai…

Annunci