Il modo migliore per montare la cartella remota


Risposte:


31

Puoi usare molte cose, tra cui le opzioni popolari sono:

  • NFS
  • Samba / CIFS
  • SSHFS

Per facilità di installazione penso che dovrebbero essere messi in questo ordine (in alto: il più semplice)

SSHFS

Tramite FUSE è possibile montare file system remoti tramite ssh. Non parlerò di come Cristopher lo ha già spiegato molto bene. Basta notare che, per montare automaticamente il file, sarà necessario un po 'più di lavoro .

Samba

Ti permetterà di usare macchine Windows e Unix per accedere alla cartella remota. Se non è un grosso problema per te, probabilmente non ne trarrai beneficio. Tuttavia, è facile montarlo automaticamente su init (basta inserire i valori appropriati su /etc/fstab, anche username=<your-samba-username>,password=<your-samba-password>nella colonna delle opzioni.

NFS

Ti consentirà di autenticarti solo tramite IP (nessuna cosa con i nomi utente = più veloce, solo per l'uso all'interno della tua LAN non ostile ) o tramite i ticket Kerberos (troppo doloroso per solo due lamponi; ma utile in ambienti aziendali).

Poiché ha il supporto in modalità kernel, funzionerà più velocemente di sshfs. Inoltre, poiché non viene eseguita alcuna crittografia , la velocità effettiva sarà migliore e, nel caso del minuscolo Raspberry ARM, potrebbe fare la differenza.

Inoltre, non è così doloroso da configurare semplicemente ti fidi della tua rete. Hai anche il supporto di automount /etc/fstabe non devi inserire dati sensibili (come nomi utente o password) e se hai i tuoi nomi utente sincronizzati (stessi /etc/passwde /etc/groupfile) puoi usare il solito set di strumenti delle autorizzazioni POSIX ( chown, chgrpe chmod).


Uso il mio Pi come server NFS con un disco con principalmente i miei film e altri media (cioè non roba critica per il sistema, non "/ home /" o qualcosa di simile). NFS mi permette di guardare un film senza prima copiarlo sul disco locale, ma quando scrivo i file sul disco NFS preferisco usare rsync. Ho quindi montato i miei dischi NFS in sola lettura e ho scritto cose su SSH (con rsync). Questo mi impedisce anche di risincronizzare accidentalmente su un disco montato su NFS (che è molto inefficiente).
zrajm,

@zrajm come montare i tuoi dischi sul pi?
FutuToad

arisu:/mnt/ytra /mnt/ytra nfs soft,ro,intr 0 2
zrajm,

Samba può confondere alcune applicazioni unix, in particolare per quanto riguarda le autorizzazioni o ciò che stat()restituisce, ad esempio cose che si basano sul nlinkconteggio di cui CIFS non ha idea. SSHFS Non ne sono rimasto molto colpito, dato che ha eseguito switch di contesto sul file server molto in alto e non ha supportato il blocco necessario richiesto dai programmi interni. Quindi, NFS ...
thrig

38

SSHFS è meraviglioso. Può montare directory remote in una directory locale con FUSE . I comandi seguenti usano #per indicare che un comando è stato eseguito come root, mentre $indica l'esecuzione come utente normale. Poiché è richiesto il software FUSE, assicurarsi innanzitutto che sia disponibile e in esecuzione.

Uno dei comandi lsmode grep, di seguito, può rivelare se il software è caricato e pronto per l'uso. Un risultato da entrambi i comandi indica che fuseè disponibile.

# lsmod | grep fuse
$ grep -i fuse /lib/modules/$(uname -r)/modules.builtin

Se non ci sono risultati da nessuno dei comandi, provare a caricare il modulo del kernel senza riavviare usando modprobee ricontrollare.

# modprobe fuse
# lsmod fuse

Se il caricamento del modulo non riesce, installare il software con apt-get.

# apt-get install fuse

Ricontrolla dopo l'installazione.

# modprobe fuse
# lsmod fuse

FUSE deve essere installato e in esecuzione prima di continuare.


Controlla le autorizzazioni di /dev/fuse. Le autorizzazioni dovrebbero fornire al tuo account utente normale l'accesso in lettura e scrittura. Salta questa parte se hai stabilito che il tuo account utente normale ha già permesso di leggere e scrivere /dev/fuse.

# ls -l /dev/fuse

L'output potrebbe essere simile a uno dei seguenti.

crw-rw-rw- 1 root root (all users can read/write)
crw------- 1 root fuse (only root can read/write)
crw-rw---- 1 root fuse (root and members of fuse group can read/write)

Nel 2013, il mio Debian ha creato /dev/fusecon 0600permessi, proprietario root, proprietario del gruppo fuse. Avevo bisogno di consentire al gruppo di fusibili di utilizzare il dispositivo e di aggiungere il mio account utente normale al gruppo, come mostrato di seguito.

# usermod -aG fuse $your_regular_user_account
# chmod 0660 /dev/fuse

Se era richiesta la nuova appartenenza al gruppo, disconnettersi e accedere nuovamente per diventare un membro del gruppo.


Quindi, installare sshsu entrambi i lati come segue.

# apt-get install ssh

Questa risposta è stata scritta per Debian, ma su Ubuntu 18.x almeno, openssh-client, fuse, e pochi altri pacchetti sono una parte del Ubuntu sshfspacchetto. Il sshfssoftware è richiesto sul lato client, ma può essere installato su entrambi i lati se lo si desidera. Una delle dipendenze del pacchetto è fuse, ma il programma di installazione salta il software che è già stato installato.

# Ubuntu 18.x: 
# apt-get install sshfs

Con fusee sshdisponibile e con il permesso di utilizzare il dispositivo /dev/fuse, creare un punto di montaggio per il file system remoto; e, montare quel file system remoto localmente come segue.

# mkdir /mnt/$directory_name
# chown $your_user:$group /mnt/$directory_name/
$ sshfs $remote_username@$remote_server_name: /mnt/$directory_name/

Per montare una directory diversa da home, specificarla dopo i due punti.

$ sshfs $remote_username@$remote_server_name:/remote/directory /mnt/$directory_name

Per smontare, utilizzare fusermount.

fusermount -u /mnt/$directory_name

Se hai una macchina Windows, anche questa può usare SSHFS con win-sshfs . Questo software "mapperà un'unità" con SSHFS, in modo da poter avere una lettera di unità di Windows che contiene la directory remota.


1
È possibile migliorare in modo significativo la velocità delle prestazioni di SSHFS utilizzando opzioni aggiuntive. Vedi questo articolo per maggiori informazioni e confronti di velocità con NFS: admin-magazine.com/HPC/Articles/Sharing-Data-with-SSHFS
blendenzo

Ehi, ho provato a usare le tue istruzioni (adattandomi a yum install fuse-sshfs.x86_64) ma quando l'ho fatto modprobe fusenon ho creato un gruppo di micce per me. Quindi quando l'ho fatto usermod -a -G fuse [your-user], ho avuto usermod: group 'fuse' does not exist. puoi aiutare? grazie in anticipo
anfibio il

lsmod | grep fuserestituisce il risultato e io ho /dev/fuse, m che è di proprietà di root. quindi stai dicendo che sto bene senza il gruppo?
anfibio,

sì, ricevocrw-rw-rw-. 1 root root 10, 229 Nov 21 15:32 /dev/fuse
anfibio il

Dopo # apt-get install fuse-utils sshfs ottengo "Impossibile trovare il pacchetto fuse-utils". Qualche idea sul perché? (Ubuntu 18.04.01)
Kvothe

7

In Linux, sceglieresti per NFS (controlla anche l'articolo su archwiki su di esso che potrebbe avere anche informazioni applicabili per la tua distribuzione). Ha funzionalità più avanzate di Samba. Se è necessario bloccare i file (ad es. Accesso simultaneo), è necessario esaminare anche lockd perché nfs è senza stato. Tuttavia è più difficile da configurare rispetto a smb. Suggerirei di provare sia samba che nfs per vedere quale si adatta alle tue esigenze.


1

Ho usato sia net drive SFTP che ExpanDrive in passato e posso dirti che sshfs supera entrambi senza una domanda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.