Software libero a scuola/Laboratori con linux

Indice del libro

Una distribuzione Linux può essere utilizzata per la gestione dei laboratori e all'interno di una rete scolastica. Le informazioni di questo modulo sono destinate ad un'utenza esperta e sono da verificare.

Soluzione workgroup

Soluzione server-client

Consideriamo una macchina con Ubuntu appena installata sul disco rigido di un computer: durante la fase di installazione abbiamo scelto un nome utente ed una password per l'amministratore locale e un nome per il computer, poi al termine abbiamo riavviato ed eseguito il login per la prima volta...

Come fare per unire il computer a un dominio Active Directory?

modifica

Segui questa guida (in inglese) per unire il PC con Ubuntu ad un dominio Active Directory in maniera "classica".

Oppure, come alternativa rapida e indolore, utilizza Likewise-Open (software sviluppato dall'azienda BeyondTrust, ora ha cambiato nome in PowerBroker Identity Service Open).

Per prima cosa installa i programmi che servono:

sudo apt-get install likewise-open likewise-open-gui

Poi configura il nuovo computer presso il PDC, in Active Directory e presso il DNS. Infine unisci il PC al dominio:

domainjoin-gui

Bisogna anche permettere agli amministratori di dominio ed ai docenti di eseguire "sudo" perché gli utenti del dominio non fanno parte dei gruppi locali che hanno questo privilegio sul computer, quindi aggiungi i gruppi di dominio che hai prescelto alla lista di gruppi a cui è permesso eseguire il comando sudo.

Da terminale esegui:

sudo su
EDITOR=vi visudo

mi posiziono sotto la riga che dice "# Members of the admin group may gain root privileges", e aggiungo le righe:

%domain^admins ALL=(ALL) ALL
%docenti ALL=(ALL) ALL

Come fare per montare automaticamente le share di Windows

modifica

Utilizzare libpam_mount:

sudo apt-get install libpam-mount

Modificare il file /etc/security/pam_mount.conf.xml, in particolare la linea che fa montare la share è qualcosa del genere

volume fstype="cifs" server="SERVER_IP_ADDRESS" user="*" path="NOME_DELLA_SHARE" mountpoint="/mnt/winshare"

ovviamente il mountpoint /mnt/winshare deve esistere, occhio ai permessi

sudo mkdir -p /mnt/winshare

Per montare le share in base al gruppo/OU in cui sono inseriti gli utenti (es.: insegnanti, studenti)

volume sgrp="docenti" fstype="smbfs" server="SERVER_IP_ADDRESS" path="docenti/%(DOMAIN_USER)" mountpoint="/home/likewise-open/mounted/%(DOMAIN_USER)/Documenti"

volume sgrp="studenti" fstype="smbfs" server="SERVER_IP_ADDRESS" path="studenti/%(GROUP)/_Classe" mountpoint="/home/likewise-open/mounted/%(DOMAIN_USER)/Documenti"

volume sgrp="studenti" fstype="smbfs" server="SERVER_IP_ADDRESS" path="studenti/%(GROUP)/%(DOMAIN_USER)" mountpoint="/home/likewise-open/mounted/%(DOMAIN_USER)/%(DOMAIN_USER)"
mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other"

Come evitare che le finestre si aprano a tutto schermo?

modifica

Da terminale:

vi .config/openbox/lubuntu-rc.xml

alla riga numero 1103, sostituisco la parola "true" con "no", poi salvo il file e lo copio in /etc/skel in modo che venga assegnato a tutti gli utenti

sudo mkdir /etc/skel/.config/openbox/
sudo cp .config/openbox/lubuntu-rc.xml /etc/skel/.config/openbox/lubuntu-rc.xml

Come impostare un proxy server per tutti gli utenti?

modifica

Dal menu seleziono "Preferenze", poi "Impostazioni"; nella finestra delle impostazioni clicco in basso nella sezione "Rete" il pulsante "Proxy"; clicco su segno di spunta in "Configurazione manuale del proxy" ed inserisco indirizzo IP e porta di ascolto del mio proxy; Termino la configurazione cliccando "Applica globalmente" Se il proxy richiede una autenticazione, allora clicco anche sul pulsante "dettagli", spunto "Usare autenticazione" ed immetto nome utente e password.

Setting di Chromium

modifica

Per impostare un proxy "bloccato", non alterabile e valido per tutti gli utenti del browser Chromium, bisogna editare il file /etc/chromium/default ed aggiungere alla voce CHROMIUM_FLAGS="" la dicitura:

proxy-server=http://il.mio.proxy:numeroporta

All'avvio non viene richiesta nessuna password

modifica

Durante l'installazione ho lasciato impostato il "login automatico" per l'utente che ho creato, è necessario disabilitarlo:

sudo leafpad /etc/lxdm/default.conf

alla terza riga inserisco un carattere cancelletto, cioè "commento" la riga che diventa:

# autologin=NomeUtente

già che ci sono, mi accerto che la riga 13 sia così:

numlock=1

Non riesco a creare la prima stampante

modifica

Se hai appena terminato una nuova installazione, il servizio di stampa non è in esecuzione. In un terminale, rimuovi il file che impedisce al servizio di partire automaticamente all'avvio, poi fai partire manualmente il servizio:

sudo rm /etc/init/cups.override sudo service cups start 

Vai su Preferenze/Impostazioni e seleziona Stampanti nella sezione "Hardware". Una procedura guidata ti aiuterà a configurare la stampante.

Oppure, nel caso si tratti di una stampante HP, esegui:

sudo hp-setup

e utilizza il wizard per la configurazione, come preferisci.

Aprire PDF con Evince da Chromium

modifica

Chromium utilizza il sistema xdg-open per aprire i files scaricati con programmi esterni. Apri un terminale ed esegui:

mimeopen -d Scaricati/NomeDiUnFilePDF

ci verrà richiesto di scegliere un programma per aprire quello specifico tipo di file (MIME type), in questo modo:

Please choose a default application for files of type application/pdf
  1. PDF Mod (pdfmod)
  2. GIMP Image Editor (gimp)
  3. Document Viewer (evince)
  4. Xournal (xournal)
  5. Other...

Basta premere il tasto 3 e da ora in poi i pdf scaricati da Chromium si apriranno con Evince. Funziona con qualsiasi MIME type.

Abilitare il servizio SSH

modifica

In un terminale esegui:

sudo rm /etc/init/ssh.override

Per abilitare anche il X forwarding, portati sulla macchina server, anche in ssh, edita il file /etc/ssh/ssd_config (da root) e alla riga 67 aggiungi la dicitura: X11UseLocalhost no

e poi fai ripartire il servizio con il comando:

sudo service ssh restart 

Installazione apt-cacher-ng in una LAN

modifica

apt-cacher-ng permette di ottenere gli aggiornamenti da uno specifico server

Installazione server

modifica

Per installare apt-cacher-ng server sarà necessario installare il pacchetto con:

 sudo apt install apt-cacher-ng

Ora bisognerà modificare il file di configurazione che si trova sotto /etc/apt-cacher-ng/acng.conf:

 CacheDir: /var/cache/apt-cacher-ng
 LogDir: /var/log/apt-cacher-ng
 Port:3142
 BindAddress: 0.0.0.0
 ReportPage: acng-report.html
 VerboseLog: 1
 PidFile: /var/run/apt-cacher-ng/pid
 ExTreshold: 4

Ed infine riavviare il server con il comando

 systemctl restart apt-cacher-ng.service

Utilizzo su clients

modifica

Per l'utilizzo sul client sarà necessario modificare o creare il file /etc/apt/apt.conf aggiungendo

 Acquire::http::Proxy "http://ip:port";

di default la porta è 3142

per vedere se è stato fatto tutto correttamente lanciare il comando:

 sudo apt update

Impostare ip statico

modifica

Controllare il nome dell'interfaccia di rete con:

 ip link

Da qui si ottiene il nome dell'interfaccia (che può essere ens3, enp3s0 o altri)

Per impostare un ip statico su un'interfaccia di rete bisogna modificare il file /etc/netplan/01-netcfg.yaml

 network:
 version: 2
   renderer: NetworkManager
   ethernets:
     InterfaceName:
       dhcp4: no
       addresses: [ip/mask]
       gateway4: IpGateway
       nameservers:
         addresses: [dns1, dns2]

Infine ricaricare il file con:

 sudo netplan apply

Per controllare il proprio ip poi basterà usare il comando

 ip addr

Controllo remoto

modifica

Per controllare dei dispositivi da remoto si possono utilizzare diversi software come veyon o epoptes

Epoptes

modifica

Per utilizzare epoptes sarà necessario avere un dispositivo principale, che chiameremo server.

Sul server andrà installato il seguente pacchetto:

 sudo apt install epoptes

Per permettere di utilizzare epoptes senza permessi da superutente sarà necessario aggiungere un utente al gruppo epoptes con:

 sudo usermod -a -G epoptes username

Infine sarà necessario impostare un ip statico sul server.

Sui client sarà necessario installare il seguente pacchetto:

 sudo apt install epoptes-client

Poi sarà necessario aggiungere la seguente voce al file /etc/hosts:

 x.x.x.x server

dove x.x.x.x sta per l'ip statico del server

Successivamente si dovrà lanciare il comando:

 sudo epoptes-client -c

e riavviare il sistema