Ci sono molte ragioni per cui vorresti condividere file tra computer sulla tua rete e Debian è un file server perfetto, indipendentemente dal fatto che tu lo stia eseguendo da una workstation, un server dedicato o persino un Raspberry Pi. Poiché la funzionalità NFS proviene dal kernel, tutto è abbastanza semplice da configurare e ben integrato.
In questo tutorial imparerai:
- Come installare i pacchetti NFS
- Come configurare le tue condivisioni
- Come connettersi a una condivisione
Condivisione NFS su Debian 10.
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Debian 10 Buster |
Software | Server NFS |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Installa i pacchetti NFS
Installa NFS su Debian 10.NFS è semplicissimo da installare su Debian. È connesso al kernel ed è un pacchetto comune. Puoi installare tutto ciò di cui hai bisogno dai repository principali.
$ sudo apt install nfs-kernel-server
Configura le tue condivisioni
Inizia creando una directory che desideri condividere o scegliendone una esistente. Assicurati che la directory che scegli non disponga di autorizzazioni di sola root.
Esportazioni NFS su Debian 10.
Quindi, apri /etc/exports
con il tuo editor di testo preferito. Questo è il file che utilizzerai per configurare le tue condivisioni. Qui puoi configurare quali directory stai condividendo e chi può accedervi. Puoi anche impostare autorizzazioni specifiche per le condivisioni per limitare ulteriormente l'accesso.
Nel file, ogni condivisione ottiene la propria riga. Quella riga inizia con la posizione della condivisione sulla macchina server. Oltre a ciò, puoi elencare il nome host di un client accettato, se è disponibile nel file hosts del server, o un IP o un intervallo di IP. Direttamente dietro l'indirizzo IP, inserisci le regole per la condivisione tra parentesi. Nel complesso, dovrebbe assomigliare a questo:
/media/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
Puoi includere tutte le condivisioni che vuoi, a condizione che ognuna abbia la propria linea. Puoi anche includere più di un nome host o IP in ogni riga e assegnare loro autorizzazioni diverse. Ad esempio:
/media/nfs 192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)
In tal caso, ciascuna di queste macchine potrebbe visualizzare e leggere dalla condivisione, ma solo il computer in 192.168.1.112
potrebbe scrivergli.
Ci sono molte più opzioni tra cui puoi scegliere per configurare il modo in cui il server gestisce la condivisione per ogni ospite. Ecco una ripartizione completa di ciò che è disponibile:
- ro :specifica che la directory può essere montata solo in sola lettura
- rw :concede i permessi di lettura e scrittura sulla directory
- no_root_squash :è un'opzione estremamente pericolosa che consente agli utenti "root" remoti lo stesso privilegio dell'utente "root" della macchina host
- controllo_sottostruttura :specifica che, nel caso in cui venga esportata una directory invece di un intero filesystem, l'host dovrebbe verificare la posizione di file e directory sul filesystem host
- no_subtree_check :specifica che l'host non deve controllare la posizione dei file a cui si accede all'interno del filesystem host
- sincronizzazione :questo assicura solo che l'host mantenga sincronizzate tutte le modifiche caricate nella directory condivisa
- asincrono :ignora i controlli di sincronizzazione a favore di una maggiore velocità
Una volta che hai impostato tutto nel modo desiderato, salva ed esci dal file. Quindi, riavvia il server per caricare le tue nuove exports
configurazione.
$ sudo systemctl restart nfs-kernel-server
Connetti a una condivisione
La tua condivisione è ora accessibile dalle macchine client che hai configurato nelle tue exports
. Supponendo che i tuoi client siano basati su Ubuntu o Debian, puoi installare il pacchetto richiesto per connetterti con:
$ sudo apt install nfs-commonCondivisione NFS montata su Debian 10.
Con ciò, sarai in grado di montare le condivisioni NFS. Quindi, per provarlo, scegli una directory in cui eseguire il mount ed esegui mount
comando come privilegi di root per montare la condivisione in rete.
$ sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share
Se il montaggio è riuscito, sarai in grado di accedere ai tuoi file condivisi nella directory in cui li hai montati.
Per una soluzione più permanente, puoi aggiungere la condivisione al /etc/fstab
del tuo cliente file. La sintassi generale assomiglia molto al comando che hai appena usato per montare la tua condivisione. Inizia con la posizione della condivisione sulla tua rete. Segui quello con dove deve essere montata la condivisione. Il tipo di filesystem qui è nfs4. Le opzioni dipendono da te, ma l'utilizzo delle impostazioni predefinite e l'accesso dell'utente sono piuttosto comuni per le condivisioni non sensibili. Il risultato finale dovrebbe assomigliare un po' all'esempio seguente.
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec 0 0
Se non sei certo che la condivisione sarà sempre disponibile sul client, aggiungi noauto
all'elenco di opzioni per impedire al tuo sistema di provare a montarlo automaticamente.
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec,noauto 0 0
Prova a montarlo sul client usando /etc/fstab
.
$ sudo mount -a
La tua condivisione dovrebbe essere montata esattamente dove hai specificato.
Conclusione
Il tuo server Debian è ora pronto per iniziare a servire i file e non dovresti avere problemi a configurare il resto delle tue macchine client. Ricorda che NFS non ha molto in termini di sicurezza, quindi avrai bisogno di altri metodi per limitare l'accesso ai tuoi file, se dovessi scegliere di condividere qualcosa di più sensibile.