Autofs (Italiano)
Questo documento evidenzia la procedura necessaria per configurare AutoFS, un pacchetto che permette l'automount di periferiche rimovibili o cartelle di rete quando inserite o accessibili.
Installazione
- Installare il pacchetto autofsAUR.
- Caricare il modulo
autofs4
.
Configurazione
AutoFS usa dei file template per la configurazione, questi file posso essere trovati in /etc/autofs
. Il template principale si chiama auto.master
, che può fare riferimento ad uno o più template per determinate periferiche.
- Aprire il file
/etc/autofs/auto.master
con il proprio editor di testo preferito, conterrà qualcosa di simile a questo:
/etc/autofs/auto.master
/var/autofs/misc /etc/autofs/auto.misc /var/autofs/net /etc/autofs/auto.net
La prima parte di ogni riga determina la cartella dove verranno effettuati i mount delle periferiche, il secondo parametro indica il template da utilizzare. Il valore di default è /var/autofs
, ma può essere cambiato con una qualsiasi cartella a piacimento. Per esempio:
/etc/autofs/auto.master
/media/misc /etc/autofs/auto.misc --timeout=5 --ghost /media/net /etc/autofs/auto.net --timeout=60 --ghost
I parametri opzionali timeout
impostano dopo quanti secondi verrà effettuato l'umount delle cartelle. Il parametro ghost
imposta la visualizzazione permanente dei mount delle periferiche configurati, invece di essere mostrati solo se inseriti o accessibili. Può essere utile se non è possibile ricordare i nomi delle periferiche rimovibili o delle condivisioni di rete.
Le cartelle indicate nel file devono esistere nel sistema e devono essere vuote, dato che il loro contenuto sarà cambiato dinamicamente al caricamento delle periferiche. Questa procedure comunque non sovrascrive di dati contenuti nelle cartelle, quindi se si effettua l'automount di una periferica su di una cartella attiva sarà possibile cambiarne il punto di mount nel file auto.master
e riavviare AutoFS per poter accedere nuovamente al suo contenuto originale.
Invio
dopo l'ultima parola del file). Se AutoFS non trova un EndOfFile(EOF) corretto, non sarà caricato correttamente.- Aprire il file
/etc/nsswitch.conf
ed aggiungere l'opzione per l'automount:
automount: files
- Quando la configurazione è terminata, avviare il demone AutoFS come utente root.
Per avviare il demone durante il boot sarà necessario aggiungere autofs
all'interno dell'array DAEMONS
nel file /etc/rc.conf
, ed il modulo autofs4
nell'array MODULES
sempre nel solito file.
Le periferiche verranno ora montate automaticamente quando accessibili, rimarranno montate fino a che l'accesso ad esse è garantito.
Periferiche rimovibili
- Aprire il file
/etc/autofs/auto.misc
ed aggiungere, rimuovere o modificare le varie periferiche. Ad esempio:
/etc/autofs/auto.misc
#kernel -ro ftp.kernel.org:/pub/linux #boot -fstype=ext2 :/dev/hda1 usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sdb1 cdrom -fstype=iso9660,ro :/dev/cdrom #floppy -fstype=auto :/dev/fd0
Nel caso sia presente un lettore combo CD/DVD sarà necessario cambiare la riga cdrom
con -fstype=auto
per avere l'auto-riconoscimento delle periferiche inserite.
Mount delle condivisioni NFS
AutoFS fornisce un metodo aggiuntivo di localizzare e montare le condivisioni NFS dai server remoti (il template per la rete di AutoFS /etc/autofs/auto.net
è stato rimosso in autofs dalla versione 5 e successive). Per abilitare l'automagic discovery(servizio che permette di trovare le condivisioni) e di montare le cartelle condivise da tutti i server accessibili senza ulteriori configurazioni, sarà necessario aggiungere la seguente linea al file /etc/autofs/auto.master
:
/net -hosts --timeout=60
Tutti i nomi host devono essere risolvibili, es. aggiungendo l'indirizzo IP ed il nome host nel file /etc/hosts
oppure tramite DNS quindi assicurarsi di aver installato ed avviato nfs-utils.
Ad esempio, nel caso in cui un server remoto fileserver avente una condivisione NFS chiamata /home/share, sarà possibile accedere alla condivisione semplicemente digitando:
# cd /net/fileserver/home/share
ghost
, quindi la creazione delle cartelle contenitrici prima del mount delle condivisioni è abilitata di default, anche se nell'installazione di AutoFS viene rimossa questa opzione dal file /etc/conf.d/autofs
per poter avviare il demone AutoFS.L'opzione -host
usa un meccanismo simile al comando showmount
, per identificare le condivisioni di rete. Sarà possibile visualizzare le condivisioni esportate digitando:
# showmount <nomeserver> -e
Sostituendo <nomeserver> con il nome del proprio server.
Samba
Il pacchetto di AutoFS fornito da Arch non fornisce nessun template/script per le condivisioni Samba o CIFS(23/07/2009), ma quanto riportato di seguito funziona per una singola condivisione:
aggiungere la seguente linea al file /etc/autofs/auto.master
/media/[my_server] /etc/autofs/auto.[my_server]
e creare il file /etc/autofs/auto.[my_server]
[any_name] -fstype=cifs,[other_options] ://[remote_server]/[remote_share_name]
Sarà possibile specificare un nome utente ed una password da utilizzare per la condivisione nella sezione other_options
[any_name] -fstype=cifs,username=[username],password=[password],[other_options] ://[remote_server]
FTP ed SSH (usando FUSE)
I server FTP ed SSH sono accessibili da AutoFS tramite l'uso di FUSE, un gestore di filesystem virtuali.
Server remoti FTP
Per prima cosa, installare curlftpfs dai repository ufficiali.
Caricare il modulo fuse
.
Aggiungere fuse
all'array MODULES
nel file /etc/rc.conf
in modo che sia caricato all'avvio del sistema.
Successivamente, aggiungere una nuova linea per i server FTP nel file /etc/autofs/auto.master
:
/media/ftp /etc/autofs/auto.ftp --timeout=60 --ghost
Creare il file /etc/autofs/auto.ftp
ed aggiungere un server usando il formato ftp://myuser:mypassword@host:port/path
:
servername -fstype=curl,rw,allow_other,nodev,nonempty,noatime :ftp\://myuser\:mypassword\@remoteserver
df
(nel momento in cui i server sono montati), oppure visualizzando il contenuto del file /etc/autofs.ftp
.Per aumentare il livello di sicurezza, sarà possibile creare il file ~root/.netrc
ed inserire le password in esso.
Le password saranno sempre in chiaro, ma sarà possibile cambiare i permessi sul file in 600, ed il comando df
non permetterà di mostrarle, sia che i server siano montanti o meno.
Questo metodo ha meno problemi con i caratteri speciali (che altrimenti devono essere preceduti dal carattere di escape) all'interno delle password. Il formato è:
machine remoteserver login myuser password mypassword
La linea nel file /etc/autofs/auto.ftp
sarà quindi così senza utenti e password:
servername -fstype=curl,allow_other :ftp\://remoteserver
Creare il file /sbin/mount.curl
inserendo questo codice:
/sbin/mount.curl
#! /bin/sh curlftpfs $1 $2 -o $4,disable_eprt
Creare il file /sbin/umount.curl
inserendo questo codice:
/sbin/umount.curl
#! /bin/sh fusermount -u $1
Impostare i permessi sui file:
# chmod 755 /sbin/mount.curl # chmod 755 /sbin/umount.curl
Dopo un riavvio sarà possibile accedere ai server FTP in /media/ftp/servername
Server remoti SSH
Queste sono le istruzioni base per accedere al filesystem remoto tramite SSH usando AutoFS.
Installare sshfs dai repository ufficiali.
Caricare il modulo fuse
.
Aggiungere il fuse
all'interno dell'array MODULES
nel file /etc/rc.conf
così verrà caricato ad ogni avvio del sistema:
Installare openssh. Generare dunque una coppia di chiavi SSH:
$ ssh-keygen -t dsa
Quando il generatore di chiavi chiederà la passphrase, premere Invio
. L'uso delle chiavi SSH senza passphrase non è sicuro, d'altro canto usare AutoFS con chiavi protette da passphrase aggiunge delle difficoltà d'uso che non sono(ancora) affrontate in questo articolo.
Successivamente, copiare la chiave pubblica sul server remoto:
$ ssh-copy-id -i /home/username/.ssh/id_dsa.pub username@remotehost
Controllare che il collegamento con il server non abbia bisogno dell'immissione della password:
$ sudo ssh -i /home/username/.ssh/id_dsa username@remotehost
known_hosts
dell'utente root. Alternativamente può essere aggiunto all'interno del file /etc/ssh/ssh_known_hosts
.Creare una nuova voce per i server SSH nel file /etc/autofs/auto.master
:
/media/ssh /etc/autofs/auto.ssh --timeout=60 --ghost
Creare il file /etc/autofs/auto.ssh
ed aggiungere un server SSH:
servername -fstype=fuse,rw,allow_other,IdentityFile=/home/username/.ssh/id_dsa :sshfs\#username@host\:/
Dopo aver riavviato, il server SSH sarà accessibile in /media/ssh/servername
.
Risoluzione di problemi
Questa sezione contiene alcune soluzioni ai problemi comuni con AutoFS.
Uso di NIS
A partire dalla versione 5.0.5 di AutoFS è stato introdotto un supporto avanzato per NIS. Per usare AutoFs insieme a NIS, aggiungere yp:
prima del nome indicato nel file /etc/autofs/auto.master
:
/home yp:auto_home --timeout=60 /sbtn yp:auto_sbtn --timeout=60 +auto.master
Nelle precedenti versioni(prima della 5.0.4) per usare NIS, sarà necessario aggiungere nis
al file /etc/nsswitch.conf
:
automount: files nis
Parametri Opzionali
Sarà possibile usare parametri opzionali come timeount
per tutte le periferiche gestite da AutoFS in /etc/conf.d/autofs
:
- Aprire il file
/etc/conf.d/autofs
e modificare la lineadaemonoptions
:
daemonoptions='--timeout=5'
- Per abilitare il log (di default non è abilitato nessun log), aggiungere
--verbose
alla lineadaemonoptions
nel file/etc/conf.d/autofs
, ad esempio:
daemonoptions='--verbose --timeout=5'
Dopo aver riavviato il demone autofs
, i messaggi delle attività sarranno visibili in /var/log/daemon.log
.
Identificare le periferiche rimovibili
Se si utilizzano molte periferiche rimovibili come pennine/dischi USB e si vogliono distinguere, sarà possibile usare AutoFS per impostare i punti di mount ed Udev per creare nomi differenti per le periferiche USB. Consultare questo articolo per informazioni sulle configurazioni delle regole di Udev.
Permessi per AutoFS
Se AutoFS non funziona correttamente, assicurarsi che i permessi dei file template siano corretti, altrimenti AutoFS non si avvierà. Questo può succedere ad esempio se si è ripristinato un backup effettuato senza mantenere i permessi dei file. Qui sono elencati gli schemi dei permessi che dovrebbero avere i file:
- 0644 - /etc/autofs/auto.master
- 0644 - /etc/autofs/auto.media
- 0644 - /etc/autofs/auto.misc
- 0644 - /etc/conf.d/autofs
In generale, gli script(come il precedente auto.net
dovranno essere eseguibili (chown a+x filename
mentre l'elenco dei mount no.
Se nel file /var/log/daemon.log
sono presenti messaggi simili a questi, allora sono presenti problemi con i permessi.
May 7 19:44:16 peterix automount[15218]: lookup(program): lookup for petr failed May 7 19:44:16 peterix automount[15218]: failed to mount /media/cifs/petr
Altre risorse
- Le informazioni originali di questa pagina sono basate su questo topic[link interrotto 2020-08-02], con informazioni aggiuntive prese da questa pagina[link interrotto 2021-11-07]
- L'uso dei server FTP ed SSH con AutoFS è basato su questo articolo del Wiki di Gentoo.
- Maggiori informazioni riguardo a SSH possono essere trovate nelle pagine del wiki SSH ed Uso delle chiavi SSH.
- Le informazioni per configurare NFS possono essere trovate nella pagina di wiki NFS.
Alternative ad AutoFS
- Thunar Volume Manager è un sistema di automount per gli utenti del file manager Thunar.
- PCManFM è un file manager leggero con integrato il supporto per accedere alle condivisioni di rete.
- udiskie è un servizio minimalistico per il mount automatico dei dischi, utilizza udisks