Difference between revisions of "Autofs (Italiano)"

From ArchWiki
Jump to: navigation, search
(Samba: tradotta)
(FTP and SSH (with Fuse))
Line 89: Line 89:
 
  [my_share] -fstype=cifs,[other_options] ://[my_server_ip]/[my_share]
 
  [my_share] -fstype=cifs,[other_options] ://[my_server_ip]/[my_share]
  
=== FTP and SSH (with Fuse) ===
+
=== FTP ed SSH (usando FUSE) ===
  
Remote FTP and SSH servers can be accessed seamlessly with AutoFS using Fuse, a virtual file system layer.  
+
I srver FTP ed [[SSH (Italiano)|SSH]] sono accessibili da AutoFS tramite l'uso di [[Wikipedia:FUSE|FUSE]], un gestore di filesystem virtuali.
  
==== Remote FTP ====
+
==== Server remoti FTP ====
First, install the curlftpfs package from the Community repository:
+
Per prima cosa, installare {{Package Official|curlftpfs}} dal repository Community:
  
 
  # pacman -S curlftpfs
 
  # pacman -S curlftpfs
  
Load the Fuse module:
+
Caricare il modulo {{Codeline|fuse}}:
  
 
  # modprobe fuse
 
  # modprobe fuse
  
Add fuse to the ''modules'' array in <code>/etc/rc.conf</code> to load it on each system boot.
+
Aggiungere {{Codeline|fuse}} all'array {{Codeline|MODULES}} nel file {{Filename|/etc/rc.conf}} in modo che sia caricato all'avvio del sistema.
  
Next, add a new entry for FTP servers in <code>/etc/autofs/auto.master</code>:
+
Successivamente, aggiungere una nuova linea per i server FTP nel file {{Filename|/etc/autofs/auto.master}}:
  
 
  /media/ftp        /etc/autofs/auto.ftp    --timeout=60 --ghost
 
  /media/ftp        /etc/autofs/auto.ftp    --timeout=60 --ghost
  
Create the file <code>/etc/autofs/auto.ftp</code> and add a server using the <code>ftp://myuser:mypassword@host:port/path</code> format:
+
Creare il file {{Filename|/etc/autofs/auto.ftp}} ed aggiungere un server usando il formato {{Codeline|ftp://myuser:mypassword@host:port/path}} :
  
 
  servername -fstype=curl,rw,allow_other,nodev,nonempty,noatime    :ftp\://myuser\:mypassword\@remoteserver
 
  servername -fstype=curl,rw,allow_other,nodev,nonempty,noatime    :ftp\://myuser\:mypassword\@remoteserver
  
Note: Your passwords are plainly visible for anyone that can run ''df'' (only for mounted servers) or view the file <code>/etc/autofs/auto.ftp</code>.
+
{{Note| Le password saranno visibili in chiare per chiunque possa lanciare il comando {{Codeline|df}} (nel momento in cui i server sono montati), oppure visualizzando il contenuto del file {{Filename|/etc/autofs.ftp}}.}}
If you want slightly more security you can create the file <code>~root/.netrc</code> and add the passwords there.  
+
Per aumentare il livello di sicurezza, sarà possibile creare il file {{Filename|~root/.netrc}} ed inserire le password in esso.
Passwords are still plain text, but you can have mode 600, and ''df'' command will not show them (mounted or not).
+
Le password saranno sempre in chiaro, ma sarà possibile cambiare i permessi sul file in 600, ed il comando {{Codeline|df}} non permetterà di mostrarle, sia che i server siano montanti o meno.
This method is also less sensitive to special characters (that else must be escaped) in the passwords. The format is:
+
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   
 
  machine remoteserver   
Line 121: Line 121:
 
  password mypassword
 
  password mypassword
  
The line in <code>/etc/autofs/auto.ftp</code> looks like this without user and password:
+
La linea nel file {{Filename|/etc/autofs/auto.ftp}} sarà quindi così senza utenti e password:
  
 
  servername -fstype=curl,allow_other    :ftp\://remoteserver
 
  servername -fstype=curl,allow_other    :ftp\://remoteserver
  
Create the file <code>/sbin/mount.curl</code> with this code:
+
Creare il file {{Filename|/sbin/mount.curl}} inserendo questo codice:
  
 
  #! /bin/sh
 
  #! /bin/sh
 
  curlftpfs $1 $2 -o $4,disable_eprt
 
  curlftpfs $1 $2 -o $4,disable_eprt
  
Create the file <code>/sbin/umount.curl</code> with this code:
+
Creare il file {{Filename|/sbin/umount.curl}} inserendo questo codice:
  
 
  #! /bin/sh
 
  #! /bin/sh
 
  fusermount -u $1
 
  fusermount -u $1
  
Set the permissions for both files:
+
Impostare i permessi sui file:
  
 
  # chmod 755 /sbin/mount.curl
 
  # chmod 755 /sbin/mount.curl
 
  # chmod 755 /sbin/umount.curl
 
  # chmod 755 /sbin/umount.curl
  
After a restart your new FTP server should be accessible through <code>/media/ftp/servername</code>
+
Dopo un riavvio sara possibile accedere ai server FTP in {{Filename|/media/ftp/servername}}
  
 
==== Remote SSH ====
 
==== Remote SSH ====

Revision as of 11:37, 6 February 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Autofs (Italiano)#)
Nota: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.

Introduzione

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 AutoFS:
# pacman -S autofs
# modprobe autofs4

Configurazione

AutoFS usa dei file template per la configurazione, questi file posso essere trovati in Template:Filename. Il template principale si chiama Template:Filename, che può fare riferimento ad uno o più template per determinate periferiche.

  • Aprire il file Template:Codeline con il proprio editor di testo preferito, conterrà qualcosa di simile a questo:

Template:File

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 è Template:Filename, ma può essere cambiato con una qualsiasi cartella a piacimento. Per esempio:

/media/misc     /etc/autofs/auto.misc     --timeout=5 --ghost
/media/net      /etc/autofs/auto.net      --timeout=60 --ghost

I parametri opizionali Template:Codeline impostano dopo quanti secondi verrà effettuato l'umount delle cartelle. Il parametro Template:Codeline 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 Template:Filename e riavviare AutoFS per poter accedere nuovamente al suo contenuto originale.

Note: Assicurarsi di lasciare una riga vuota alla fine dei ogni file template (premendo Template:Keypress dopo l'ultima parola del file). Se AutoFS non trova un EndOfFile(EOF) corretto, non sarà caricato correttamente.
automount: files
  • Quando la configurazione è terminata, avviare il demone AutoFS come utente root:
# /etc/rc.d/autofs start

Per avviare il demone durante il boot sarà necessario aggiungere Template:Codeline all'interno dell'array Template:Codeline nel file Template:Filename, ed il modulo Template:Codeline nell'array Template:Codeline 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 Template:Filename ed aggiungere, rimuovere o modificare le varie periferiche. Ad esempio:

Template:File

Nel caso sia presente un lettore combo CD/DVD sarà necessario cambiare la riga Template:Codeline con Template:Codeline per avere l'autoriconoscimento 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 Template:Filename è 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 Template:Filename:

/net -hosts --timeout=60

Tutti i nomi host devono essere risolvibili, es. aggiungendo l'indirizzo IP ed il nome host nel file Template:Filename oppure tramite DNS quindi assicurarsi di aver installato ed avviato Template:Package Official.

Ad esempio, nel caso in cui un server remoto filesrver avente una condivisione NFS chiamata /home/share, sarà possibile accedere alla condivisione semplicemente digitando:

# cd /net/fileserver/home/share
Note: Si prega di notare che utilizzando l'opzione Template:Codeline, 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 Template:Filename per poter avviare il demone AutoFS.

L'opzione Template:Codeline usa un meccanismo simile al comando Template:Codeline, 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 Saba o CIFS(23/07/2009), ma il quello riportato di seguito funziona per una singola condivisione:

aggiungere la seguente linea al file Template:Filename

 /media/[my_server] /etc/autofs/auto.[my_server]

e creare il file Template:Filename

[my_share] -fstype=cifs,[other_options] ://[my_server_ip]/[my_share]

FTP ed SSH (usando FUSE)

I srver FTP ed SSH sono accessibili da AutoFS tramite l'uso di FUSE, un gestore di filesystem virtuali.

Server remoti FTP

Per prima cosa, installare Template:Package Official dal repository Community:

# pacman -S curlftpfs

Caricare il modulo Template:Codeline:

# modprobe fuse

Aggiungere Template:Codeline all'array Template:Codeline nel file Template:Filename in modo che sia caricato all'avvio del sistema.

Successivamente, aggiungere una nuova linea per i server FTP nel file Template:Filename:

/media/ftp        /etc/autofs/auto.ftp    --timeout=60 --ghost

Creare il file Template:Filename ed aggiungere un server usando il formato Template:Codeline :

servername -fstype=curl,rw,allow_other,nodev,nonempty,noatime    :ftp\://myuser\:mypassword\@remoteserver
Note: Le password saranno visibili in chiare per chiunque possa lanciare il comando Template:Codeline (nel momento in cui i server sono montati), oppure visualizzando il contenuto del file Template:Filename.

Per aumentare il livello di sicurezza, sarà possibile creare il file Template:Filename 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 Template:Codeline 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 Template:Filename sarà quindi così senza utenti e password:

servername -fstype=curl,allow_other    :ftp\://remoteserver

Creare il file Template:Filename inserendo questo codice:

#! /bin/sh
curlftpfs $1 $2 -o $4,disable_eprt

Creare il file Template:Filename inserendo questo codice:

#! /bin/sh
fusermount -u $1

Impostare i permessi sui file:

# chmod 755 /sbin/mount.curl
# chmod 755 /sbin/umount.curl

Dopo un riavvio sara possibile accedere ai server FTP in Template:Filename

Remote SSH

These are basic instructions to access a remote filesystem over SSH with AutoFS.

Note: The example below does not use an ssh-passphrase to simplify the installation procedure, please note that this may be a security risk in case your local system gets compromised.

Install the sshfs package from the Extra repository:

# pacman -S sshfs

Load the Fuse module:

# modprobe fuse

Add fuse to the modules array in /etc/rc.conf to load it on each system boot:

Install OpenSSH:

# pacman -S openssh

Generate an SSH keypair:

# ssh-keygen -t dsa

When the generator ask for a passphrase, just press enter. Using SSH keys without a passphrase is less secure, yet running AutoFS together with passphrases poses some additional difficulties which are not (yet) covered in this article.

Next, copy the public key to the remote SSH server:

# ssh-copy-id -i /home/username/.ssh/id_dsa.pub username@remotehost

See that you can login to the remote server without entering a password:

# sudo ssh -i /home/username/.ssh/id_dsa username@remotehost
Note: The above command is needed to add the remote server to the root's list of known hosts. Alternatively, hosts can be added to /etc/ssh/ssh_known_hosts

Create a new entry for SSH servers in /etc/autofs/auto.master:

/media/ssh		/etc/autofs/auto.ssh	--timeout=60 --ghost

Create the file /etc/autofs/auto.ssh and add an SSH server:

servername     -fstype=fuse,rw,allow_other,IdentityFile=/home/username/.ssh/id_dsa :sshfs\#username@host\:/

After a restart your SSH server should be accessible through /media/ssh/servername

Troubleshooting and tweaks

This section contains a few solutions for common issues with AutoFS.

Using NIS

Version 5.0.5 of AutoFS has more advanced support for NIS. To use AutoFS together with NIS, add "yp:" in front of the template names in /etc/autofs/auto.master:

/home   yp:auto_home    --timeout=60 
/sbtn   yp:auto_sbtn    --timeout=60
+auto.master

On earlier versions of NIS (before 5.0.4), you should add "nis" to /etc/nsswitch.conf:

automount: files nis

Optional parameters

You can set parameters like timeout systemwide for all AutoFS media in /etc/conf.d/autofs:

  • Open the /etc/conf.d/autofs file and edit the daemonoptions line:
daemonoptions='--timeout=5'
  • To enable logging (default is no logging at all), add --verbose to the daemonoptions line in /etc/conf.d/autofs, e.g.:
daemonoptions='--verbose --timeout=5'

After restarting the autofs daemon, verbose output is visible in /var/log/daemon.log.

Identify multiple devices

If you use multiple usb drives/sticks and want to easily tell them apart, you can use AutoFS to set up the mount points and udev to create distinct names for your usb drives. See Map Custom Device Entries with udev for instructions on setting up udev rules.

AutoFS permissions

If AutoFS isn't working for you, make sure that the permissions of the templates files are correct, otherwise AutoFS will not start. This may happen if you backed up your configuration files in a manner which did not preserve file modes. Here are what the modes should be on the configuration files:

  • 0644 - /etc/autofs/auto.master
  • 0644 - /etc/autofs/auto.media
  • 0644 - /etc/autofs/auto.misc
  • 0644 - /etc/conf.d/autofs

In general, scripts (like previous auto.net) should have executable (chown a+x filename) bits set and lists of mounts shouldn't.

If you are getting errors in /var/log/daemon.log similar to this, you have a permissions problem:

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

External links and resources

Alternatives to AutoFS