Dato che il pacchetto iTALC 1.0.7 presente nei repository di ubuntu 8.04 è gravemente buggato e che la versione 1.0.9 dei backports presenta seri problemi di dipendenze non risolte, dopo un po’ di test, abbiamo individuato una versione funzionante nella 1.0.9rc4( una pre-release della 1.0.9 pensata per la Intrepid compatibile con Hardy). I pacchetti .deb sono resi disponibili qui:
Abilitiamo i backports in /etc/apt/sources.list
deb http://it.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://it.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
Aggiorniamo le liste dei pacchetti
sudo apt-get update
Installiamo iTALC
cd /tmp
wget http://simone.argolinux.org/misc/bin/iTALC-1.0.9rc4-per8.04/iTALC-1.0.9rc4.zip
unzip iTALC-1.0.9rc4.zip
cd iTALC-1.0.9rc4-per8.04
dpkg -i \*.deb
Nota
L’installazione fallirà per dipendenze non soddisfatte: è normale.
Le dipendenze mancanti si potranno installare successivamente lanciando
sudo apt-get install -f
Montiamo i filesystem virtuali del server
sudo mount --bind /proc /opt/ltsp/i386/proc
sudo mount --bind /dev /opt/ltsp/i386/dev
sudo mount --bind /sys /opt/ltsp/i386/sys
Nota
in realtà per le operazioni attuali potrebbe essere trascurabile.
Entriamo interattivamente nell’ambiente chroot
sudo chroot /opt/ltsp/i386
E ripetiamo le operazioni fatte per il server...
Abilitiamo i backports in /etc/apt/sources.list
deb http://it.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://it.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
Aggiorniamo le liste dei pacchetti
sudo apt-get update
Installiamo iTALC
cd /tmp
wget http://simone.argolinux.org/misc/bin/iTALC-1.0.9rc4-per8.04/iTALC-1.0.9rc4.zip
unzip iTALC-1.0.9rc4.zip
cd iTALC-1.0.9rc4-per8.04
dpkg -i \*.deb
Nota
L’installazione fallirà per dipendenze non soddisfatte; è normale.
Installiamo anche le dipendenze mancanti
sudo apt-get install -f
Rimuoviamo i file scaricati ed usciamo dalla chroot
rm -rf /tmp/iTALC-1.0.9rc4-per8.04
exit
Smontiamo quindi i filesystem precedentemente montati
sudo umount /opt/ltsp/i386/*
Dal server
cp -av /etc/italc/keys/* /opt/ltsp/i386/etc/italc/keys/
iTALC utilizza la crittografia asimmetrica per autenticare l’applicazione Master sui client ed evitare che persone non autorizzate possano prendere il controllo dei PC. Pertanto alla prima installazione è necessario creare una coppia di chiavi:
Sulla postazione docente eseguiamo, come root, il comando
ica -role teacher -createkeypair
che provvederà alla creazione di una nuova coppia di chiavi nella directory /etc/italc/keys.
Pertanto nella directory /etc/italc/keys: troveremo due sotto-directory:
Un modo per rendere la directory /etc/italc/keys/private leggibile solo agli account necessari potrebbe essere lanciare, come root
addgroup italc
adduser <account-insegnante1> italc
adduser <account-insegnante2> italc
chgrp -R italc /etc/italc/keys/private
chmod -R o-rwx /etc/italc/keys/private
Oppure, come abbiamo fatto nel caso Idra, strutturare permessi/ownership nel modo seguente
/etc/italc/
`-- [drwxr-xr-x root root ] keys
|-- [drwxr-xr-x root root ] private
| |-- [drwxr-xr-x root root ] admin
| | `-- [-r--r----- root admins ] key
| |-- [drwxr-xr-x root root ] supporter
| | `-- [-r--r----- root admins ] key
| `-- [drwxr-xr-x root root ] teacher
| `-- [-r--r----- root docenti ] key
`-- [drwxr-xr-x root root ] public
|-- [drwxr-xr-x root root ] admin
| `-- [-r--r--r-- root admins ] key
|-- [drwxr-xr-x root root ] supporter
| `-- [-r--r--r-- root admins ] key
`-- [drwxr-xr-x root root ] teacher
`-- [-r--r--r-- root docenti ] key
Se si dispone di una condivisione di rete (AFS, NFS, Samba, ecc.) si puo:
# cp -R /etc/italc/keys/public <condivisa>
impostare i giusti permessi ai file
# chmod -R go=r <condivisa>
Montare la cartella condivisa e creare un link simbolico file:/etc/italc/keys/public su ogni client in modo che punti alla condivisione.
# mount -t smbf <condivisa> <dest>/italc-key
# ln -s <dest>/italc-key /etc/italc/kes/public
Terminata la configurazione dell’ambiente di sicurezza, possiamo finalmente avviare iTALC sulla postazione docente con il comando
italc
Dal menù a sx => click su Classroom-Manager
click DX su nome classe aggiunta => Add Computer
Inserire i dati richiesti e fare OK
Nota
Gli unici dati che è indispensabile inserire sono IP/hostname e Name.
Nel caso si stesse aggiungendo un thinclient, si dovrà puntare ai client così
<ip-server>:10<ultimo-numero-ip>
Questi sarebbero i dati da utilizzare per raggiungere due thinclient aventi ip 192.168.11.24 e 192.168.11.130
192.168.11.253:10024
e
192.168.11.253:10130
Mentre per i client non ltsp, basterà puntare semplicemente all’ip del client (porta di default).
Click SX sul pulsante Classroom in alto a sx => selezionare il nome della classe aggiunta
Una volta creata la propria classe, si potrà trovare la configurazione appena creata in ~/.italc. La versione di italc che funziona con ubuntu 8.04.4, pare non supporti correttamente l’uso delle direttive globali come indicato nella documentazione di iTalc. Per rendere la configurazione disponibile, per esempio, a tutti i docenti, si dovrà copiare la directory .italc nella loro home, e cambiarne opportunamente ownership/groupship.
Per automatizzare l’operazione, si potrà usare la script seguente
#!/bin/bash
DEFAULT_GROUP='docenti'
HOME_BASE='/home/users'
### qualche test
[ -z "$1" ] && echo "Dammi la directory da copiare nelle home" && exit 1
[ ! -d "$1" ] && echo "$1 non é una directory valida" && exit 1
dir_tºcopy=$1
#### Inizio...
utenti=$(isi-groupcat $DEFAULT_GROUP)
for utente in $utenti; do
dest_path="$HOME_BASE/$DEFAULT_GROUP/$utente"
echo "copio $dir_tºcopy => ~$utente/"
cp -r $dir_tºcopy $dest_path/
chown -R $utente.$DEFAULT_GROUP $dest_path/$(basename $dir_tºcopy)
done
Una volta resa eseguibile, la script andrà lanciata passandole come argomento la dir .italc da copiare a tutti gli utenti (per esempio ~d_test/.italc).