1 760
contributi
(ristrutturata sezione /etc/init.d/) |
m (→Servizi in <tt>/etc/init.d/</tt>: corretto nome file di conf.) |
||
Riga 1: | Riga 1: | ||
# | =Introduzione= | ||
Spesso pu� essere necessario lavorare direttamente su un filesystem remoto (si pensi, ad esempio, alla webroot di un sito, alla home del proprio portatile, ...). | |||
'''<tt>sshfs</tt>''' permette di superare questo problema in un modo semplice e pulito: montando una directory mediante [http://fuse.sourceforge.net/ FUSE], usando il protocollo ssh. | |||
=Installazione= | |||
Il pacchetto sshfs e le utility per gestire FUSE son gi� presenti in Debian, quindi l'installazione si riduce ad un semplice | |||
<pre> | |||
# apt-get install sshfs fuse-utils | |||
</pre> | |||
Per quanto riguarda il kernel, normalmente � presente il modulo ''fuse''. Se non � presente � necessaria la ricompilazione del kernel. | |||
Il modulo da attivare si trova in: ''File systems ---> Filesystem in Userspace support'' | |||
=Configurazione= | |||
==Creazione del punto di mount== | |||
Prima di tutto � necessario creare un [[mountpoint | punto di montaggio]] in cui montare la risorsa di rete (ovviamente ognuno � liberissimo di utilizzare la directory che vuole): | |||
<pre> | |||
# mkdir /mnt/sshdir | |||
</pre> | |||
� necessario, inoltre, impostare l'utente che utilizzer� questa directory come ''[[owner]]'': | |||
<pre> | |||
# chown username /mnt/sshdir | |||
</pre> | |||
==Permessi utenti== | |||
� possibile permettere l'utilizzo di sshfs anche agli utenti normali, seguendo i seguenti passaggi: | |||
<pre> | |||
# chgrp fuse /usr/bin/fusermount | |||
# chmod u+s /usr/bin/fusermount | |||
# adduser nomeutente fuse | |||
</pre> | |||
in questo modo permettiamo l'utilizzo del comando ''fusermount'' agli utenti appartenenti al gruppo ''fuse'', e aggiungiamo l'utente che utilizzer� sshfs al gruppo fuse. | |||
Per rendere effettiva l'aggiunta al gruppo � necessario effettuare un logout-login. | |||
=Utilizzo e Test= | |||
L'utilizzo � semplice: | |||
<pre> | |||
$ sshfs user@host:/dir/to/mount /mnt/sshdir | |||
</pre> | |||
dove | |||
; user : � l'utente della macchine remota (se omesso verr� utilizzato l'username dell'utente che lancia il comando (root, in questo caso) | |||
; host : � l'indirizzo ip o l'url a cui la macchina remota risponde | |||
; /dir/to/mount : � il percorso assoluto della directory da montare... (� possibile anche utilizzare un percordo relativo a partire dalla directory home dell'utente: ''./path/to/dir'') | |||
; /mnt/sshdir : rappresenta il punto di mount | |||
per controllare la riuscita del comando, si pu� analizzare l'output del comando <pre> | |||
$ mount | |||
</pre> | |||
Per quanto riguarda lo smontaggio (umounting) il comando � il seguente: | |||
<pre> | |||
$ fusermount -u /mnt/sshdir | |||
</pre> | |||
=Faq ed Errori Frequenti= | |||
==failed to open /dev/fuse: No such file or directory== | |||
L'errore � dovuto alla mancanza del modulo del kernel relativo a ''fusefs''. � necessario compilarlo come modulo o staticamente (nei kernel pacchettizzati Debian � presente, ed � caricabile con un <pre> | |||
# modprobe fuse | |||
</pre> | |||
==mountpoint is not empty== | |||
Se si cerca di montare una risorsa in un [[mountpoint]] contenente gi� dei file, pu� apparire il seguente errore: | |||
<pre>fusermount: mountpoint is not empty | |||
fusermount: if you are sure this is safe, use the 'nonempty' mount option</pre> | |||
Le soluzioni sono: | |||
* usare un mountpoint libero (consigliata) | |||
* appendere, dopo il comando ''sshfs'' l'opzione ''-o nonempty'' | |||
[[Categoria:Networking]][[Categoria:Desktop]] |
contributi