1 760
contributi
m (→Permessi utenti: aggiunto suid) |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
=Introduzione= | =Introduzione= | ||
Spesso | Spesso può essere necessario lavorare direttamente su un filesystem remoto (si pensi, ad esempio, alla webroot di un sito, alla home del proprio portatile, ...). | ||
sshfs permette di superare questo problema in un modo semplice e pulito: montando una directory tramite il protocollo ssh. | sshfs permette di superare questo problema in un modo semplice e pulito: montando una directory tramite il protocollo ssh. | ||
=Installazione= | =Installazione= | ||
Il pacchetto sshfs | Il pacchetto sshfs è già presente in Debian, quindi l'installazione si riduce ad un semplice | ||
<pre> | <pre> | ||
# apt-get install sshfs | # apt-get install sshfs | ||
</pre> | </pre> | ||
Per quanto riguarda il kernel, normalmente | 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'' | Il modulo da attivare si trova in: ''File systems ---> Filesystem in Userspace support'' | ||
=Configurazione= | =Configurazione= | ||
==Creazione del punto di mount== | ==Creazione del punto di mount== | ||
Prima di tutto | 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> | <pre> | ||
# mkdir /mnt/sshdir | # mkdir /mnt/sshdir | ||
</pre> | </pre> | ||
è necessario, inoltre, impostare l'utente che utilizzerà questa directory come ''[[owner]]'': | |||
<pre> | <pre> | ||
# chown username /mnt/sshdir | # chown username /mnt/sshdir | ||
Riga 25: | Riga 25: | ||
==Permessi utenti== | ==Permessi utenti== | ||
È possibile permettere l'utilizzo di sshfs anche agli utenti normali, seguendo i seguenti passaggi: | |||
<pre> | <pre> | ||
# chgrp fuse /usr/bin/fusermount | # chgrp fuse /usr/bin/fusermount | ||
# chmod u+s /usr/bin/fusermount | |||
# adduser nomeutente fuse | # adduser nomeutente fuse | ||
</pre> | </pre> | ||
in questo modo permettiamo l'utilizzo del comando ''fusermount'' agli utenti appartenenti al gruppo ''fuse'', e aggiungiamo l'utente che | 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 | Per rendere effettiva l'aggiunta al gruppo è necessario effettuare un logout-login. | ||
=Utilizzo e Test= | =Utilizzo e Test= | ||
L'utilizzo | L'utilizzo è semplice: | ||
<pre> | <pre> | ||
$ sshfs user@host:/dir/to/mount /mnt/sshdir | |||
</pre> | </pre> | ||
dove | dove | ||
; user : | ; user : è l'utente della macchine remota (se omesso verrà utilizzato l'username dell'utente che lancia il comando (root, in questo caso) | ||
; host : | ; host : è l'indirizzo ip o l'url a cui la macchina remota risponde | ||
; /dir/to/mount : | ; /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 | ; /mnt/sshdir : rappresenta il punto di mount | ||
per controllare la riuscita del comando, si | per controllare la riuscita del comando, si può analizzare l'output del comando <pre> | ||
$ mount | $ mount | ||
</pre> | |||
Per quanto riguarda lo smontaggio (umounting) il comando è il seguente: | |||
<pre> | |||
$ fusermount -u /mnt/sshdir | |||
</pre> | </pre> | ||
=Faq ed Errori Frequenti= | =Faq ed Errori Frequenti= | ||
= | ==failed to open /dev/fuse: No such file or directory== | ||
L'errore | 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 | # modprobe fuse | ||
</pre> | </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