3 581
contributi
m (versioni compatibili) |
(verificata per Stretch e Buster, rimosse informazioni relative a versioni obsolete di Debian) |
||
Riga 6: | Riga 6: | ||
|precedente=SFTP: SSH File Transfer Protocol | |precedente=SFTP: SSH File Transfer Protocol | ||
}} | }} | ||
{{Versioni compatibili| | {{Versioni compatibili|Jessie|Stretch|Buster}} | ||
== Introduzione == | == Introduzione == | ||
Spesso può essere necessario lavorare direttamente su un filesystem remoto (si pensi, ad esempio, alla webroot di un sito o alla home del proprio portatile). | Spesso può essere necessario lavorare direttamente su un filesystem remoto (si pensi, ad esempio, alla webroot di un sito o alla home del proprio portatile). | ||
Riga 15: | Riga 15: | ||
Il pacchetto <code>sshfs</code> e le utility per gestire FUSE sono già presenti in Debian, quindi l'installazione si riduce ad un semplice: | Il pacchetto <code>sshfs</code> e le utility per gestire FUSE sono già presenti in Debian, quindi l'installazione si riduce ad un semplice: | ||
<pre> | <pre> | ||
# apt | # apt install sshfs | ||
</pre> | </pre> | ||
(da eseguirsi con [[privilegi di amministrazione]]) | |||
== Configurazione == | == Configurazione == | ||
=== Permettere l'esecuzione di sshfs ad altri utenti === | === Permettere l'esecuzione di sshfs ad altri utenti === | ||
A partire da Debian 8 ([[Jessie]]) non è necessario modificare niente, in quanto di default tutti gli utenti possono utilizzare il modulo <code>fuse</code> se è installato | A partire da Debian 8 ([[Jessie]]) non è necessario modificare niente, in quanto di default tutti gli utenti possono utilizzare il modulo <code>fuse</code> se è installato; né ha più alcuna importanza l'appartenenza al gruppo ''fuse'', in precedenza richiesta. | ||
== Utilizzo e Test == | == Utilizzo e Test == | ||
L'utilizzo è semplice: | L'utilizzo è semplice: | ||
sshfs [user@]host:[dir] mountpoint [options] | '''sshfs''' [user@]host''':'''[dir] mountpoint [options] | ||
anche se spesso si può semplicemente usare | anche se spesso si può semplicemente usare senza opzioni: | ||
<pre> | <pre> | ||
$ sshfs user@host:/dir/to/mount /mnt/sshdir | $ sshfs user@host:/dir/to/mount /mnt/sshdir | ||
</pre> | </pre> | ||
dove | dove | ||
; <code>user</code>: è l'utente della macchina remota, se omesso verrà utilizzato l'username dell'utente che lancia il comando | ; <code>user</code>: è l'utente della macchina remota, se omesso verrà utilizzato l'username dell'utente che lancia il comando; | ||
; <code>host</code>: è l'indirizzo IP o l'URL a cui la macchina remota risponde; | ; <code>host</code>: è l'indirizzo IP o l'URL a cui la macchina remota risponde; | ||
; <code>/dir/to/mount</code>: è il percorso assoluto della directory da montare, (è possibile anche utilizzare un percorso relativo a partire dalla directory home dell'utente: <code>''./path/to/dir''</code>); | ; <code>/dir/to/mount</code>: è il percorso assoluto della directory da montare, (è possibile anche utilizzare un percorso relativo a partire dalla directory home dell'utente: <code>''./path/to/dir''</code>; o perfino tralasciare questo argomento, per indicare la home, ma sempre digitando '''<code>:</code>'''); | ||
; <code>/mnt/sshdir</code>: rappresenta il punto di mount; | ; <code>/mnt/sshdir</code>: rappresenta il punto di mount; questa directory deve appartenere all'utente, che deve avervi accesso anche in scrittura; | ||
per controllare la riuscita del comando, si può analizzare l'output del comando: | per controllare la riuscita del comando, si può analizzare l'output del comando: | ||
<pre> | <pre> | ||
$ | $ findmnt | ||
</pre> | </pre> | ||
Riga 77: | Riga 46: | ||
</pre> | </pre> | ||
per le opzioni consultare il file | per le opzioni consultare il file | ||
<pre> | |||
tra le più comuni : | $ man sshfs | ||
-p PORT equivalente a | </pre> | ||
-C | tra le più comuni: | ||
-F ssh_configfile specifica un file di configurazione alternativo | '''-p''' ''PORT'' equivalente a <code>-o port=PORT</code> | ||
-1 equivalente a | '''-C''' equivalente a <code>-o compression=yes</code> | ||
'''-F''' ''ssh_configfile'' specifica un file di configurazione alternativo | |||
'''-1''' equivalente a <code>-o ssh_protocol=1</code> | |||
Si noti che per dichiarare opzioni di SSH è sufficiente digitare '''-o variabile_sshd=valore'' | Si noti che per dichiarare opzioni di SSH è sufficiente digitare <code>'''-o''' ''variabile_sshd'''''='''''valore''</code>, ad esempio per specificare la propria chiave privata è sufficiente aggiungere <code>-o IdentityFile=/percorso/chiave</code> (ASSOLUTO!): | ||
<pre>$ sshfs user@host:/dir/to/mount /mnt/sshdir -o IdentityFile=/percorso/chiave -p numero_porta</pre> | <pre>$ sshfs user@host:/dir/to/mount /mnt/sshdir -o IdentityFile=/percorso/chiave -p numero_porta</pre> | ||
Se il mount avviene con successo è possibile usare il file-manager preferito per poter gestire in lettura e scrittura la nuova directory montata , che sia esso MC, dolphin, PCmanfm o altro. | Se il mount avviene con successo è possibile usare il file-manager preferito per poter gestire in lettura e scrittura la nuova directory montata, che sia esso MC, dolphin, PCmanfm o altro. | ||
=== Utenti e gruppi proprietari === | === Utenti e gruppi proprietari === | ||
Riga 94: | Riga 65: | ||
Per impostazione predefinita sshfs adotta un'associazione "diretta" tra [[UID]]/[[GID]] della macchina remota e quella locale, il che significa per esempio che se il proprietario di un certo file sulla macchina remota è l'utente con UID 1002 anche in locale la proprietà del file sarà attribuita all'utente avente UID 1002. Potrebbero dunque sorgere problemi di permessi se su macchina remota e locale non sussiste un esatta corrispondenza utenti/UID e gruppi/GID. Un modo veloce per superare tale problema è specificare lo UID/GID durante il comando per montare le risorse remote, per esempio | Per impostazione predefinita sshfs adotta un'associazione "diretta" tra [[UID]]/[[GID]] della macchina remota e quella locale, il che significa per esempio che se il proprietario di un certo file sulla macchina remota è l'utente con UID 1002 anche in locale la proprietà del file sarà attribuita all'utente avente UID 1002. Potrebbero dunque sorgere problemi di permessi se su macchina remota e locale non sussiste un esatta corrispondenza utenti/UID e gruppi/GID. Un modo veloce per superare tale problema è specificare lo UID/GID durante il comando per montare le risorse remote, per esempio | ||
<pre># sshfs user@host:/dir/to/mount /mnt/sshdir -o | <pre># sshfs user@host:/dir/to/mount /mnt/sshdir -o idmap=user,uid=1001</pre> | ||
fa sì che all'utenza usata per connettersi al server remoto sia associata in locale l'utenza avente UID 1001. Se si ha la necessità di fissare la corrispondenza di più utenze/gruppi è possibile creare degli appositi file di mappatura (si veda il manuale di sshfs). | fa sì che all'utenza usata per connettersi al server remoto sia associata in locale l'utenza avente UID 1001. Se si ha la necessità di fissare la corrispondenza di più utenze/gruppi è possibile creare degli appositi file di mappatura (si veda il manuale di sshfs). | ||
==== Accesso ad altri utenti ==== | |||
Per permettere l'accesso del file system anche ad altri utenti, indipendentemente dai permessi associati ai file, è possibile mediante l'opzione: <code>-o allow_other</code> | |||
Affinché abbia effetto però bisogna anche configurare '''fuse''', ossia che <code>/etc/fuse.conf</code> contenga, non commentata, la riga <code>user_allow_other</code>, che di default è disabilitata per ragioni di sicurezza. Per maggiori informazioni si rimanda al manuale (<code>man fuse</code>). | |||
È pertanto '''sconsigliato''' utilizzare tale impostazione, se si può fare altrimenti. | |||
== FAQ ed Errori Frequenti == | == FAQ ed Errori Frequenti == | ||
Riga 115: | Riga 92: | ||
* appendere, dopo il comando <code>''sshfs''</code> l'opzione <code>''-o nonempty''</code> | * appendere, dopo il comando <code>''sshfs''</code> l'opzione <code>''-o nonempty''</code> | ||
=== Collegamenti esterni === | === Collegamenti esterni === | ||
[1] [http://fuse.sourceforge.net/ FUSE] | [1] [http://fuse.sourceforge.net/ FUSE] | ||
Riga 131: | Riga 98: | ||
|Verificata_da = | |Verificata_da = | ||
: [[Utente:Wtf|Wtf]] 16:58, 9 ott 2013 (CEST) | : [[Utente:Wtf|Wtf]] 16:58, 9 ott 2013 (CEST) | ||
: [[Utente:mm-barabba|mm.barabba]] | : [[Utente:mm-barabba|mm.barabba]] | ||
: [[Utente:HAL 9000|HAL 9000]] | : [[Utente:HAL 9000|HAL 9000]] 21:01, 18 ago 2019 (CEST) | ||
| Numero_revisori = 3 | | Numero_revisori = 3 | ||
}} | }} | ||
[[Categoria:Filesystem]] | [[Categoria:Filesystem]] |
contributi