Il concetto di NFS (File system di rete ) consente a un utente su un computer client di avere privilegi di lettura e scrittura su directory di file condivise su un computer server.
Questo concetto di condivisione di file in rete è implementabile da chiunque grazie al suo attributo open source. Prima che questa guida all'articolo ci insegni come implementare il protocollo NFS, dobbiamo prima comprendere alcuni dei footprint NFS.
Poiché è il computer server che ospita i file condivisibili, è anche quello che decide la profondità implementabile delle autorizzazioni di condivisione file e dei diritti di accesso.
Questa guida all'articolo presuppone che tu abbia accesso a un server Ubuntu 20.04/22.04 e a un computer client. Presuppone inoltre che tu disponga dell'accesso utente root o Sudo su entrambi gli ambienti del sistema operativo.
Installazione del server NFS su Ubuntu Server
Il primo passaggio consiste nell'assicurarsi sempre che l'ambiente del sistema operativo sia aggiornato.
$ sudo apt update
Ora dobbiamo procedere e installare il nfs-kernel-server pacchetto.
$ sudo apt install nfs-kernel-server
Ora abbiamo bisogno di un NFS cartella di esportazione creata. Questa directory sarà responsabile dell'hosting dei file condivisibili che saranno accessibili dai computer client che hanno accesso.
$ sudo mkdir -p /mnt/nfs_share
Con questa directory ora esistente, deve essere associata a determinate autorizzazioni in modo che un tentativo di accesso da un computer client non sia proibito.
$ sudo chown -R nobody:nogroup /mnt/nfs_share
Inoltre concederemo ai computer client che hanno accesso a questi file condivisi ulteriori autorizzazioni di lettura, scrittura ed esecuzione con il comando seguente.
$ sudo chmod 777 /mnt/nfs_share
Affinché gli utenti dei computer client abbiano accesso a questa directory condivisibile creata, dobbiamo apportare alcune modifiche all'interno di /etc/exports file.
$ sudo nano /etc/exports
Questo file è stato creato durante l'installazione del server NFS.
È in questo file che imposteremo l'autorizzazione di accesso per uno o più computer client che necessitano di un percorso per directory e file condivisibili.
Da parte mia, il computer del cliente utilizza l'indirizzo IP 192.168.11.196 . Pertanto, l'aggiunta della riga seguente al file precedente concederà al computer client associato all'indirizzo IP l'accesso ai file condivisi.
/mnt/nfs_share 192.168.11.196(rw,sync,no_subtree_check)
Se voglio che più computer client con una sottorete simile abbiano accesso, la riga da includere in /etc/exports il file sarà simile al seguente:
/mnt/nfs_share 192.168.11.0/24(rw,sync,no_subtree_check)
Infine, dobbiamo esportare il /mnt/nfs_share directory affinché sia accessibile ai computer client di destinazione.
$ sudo exportfs -a
Ricorda inoltre di riavviare nfs-kernel-server.
$ sudo systemctl restart nfs-kernel-server
Se hai un firewall sul tuo server, implementa un comando simile al seguente per consentire l'accesso.
$ sudo ufw allow from 192.168.11.0/24 to any port nfs
Configurazione di un client Linux per accedere alla condivisione NFS
Per accedere a NFS condividere dal computer client, è necessario installare nfs-common pacchetto nella macchina client, qui sto usando Ubuntu come macchina client.
$ sudo apt install nfs-common
Ora abbiamo bisogno di un punto di montaggio da collegare a nfs_share directory sul computer server.
$ sudo mkdir -p /mnt/nfs_clientshare
Per completare questo collegamento, è necessario montare la directory di condivisione NFS sul punto di montaggio del client utilizzando il comando seguente:
$ sudo mount 192.168.11.130:/mnt/nfs_share /mnt/nfs_clientshare
L'indirizzo IP di cui sopra appartiene al computer del server NFS.
Condivisione file NFS/verifica dell'accesso
Torna a nfs_share cartella sul computer server e creare alcuni file di esempio:
$ cd /mnt/nfs_share $ touch file1.txt file2.txt
Torna a nfs_clientshare cartella sul computer client per vedere se i file sopra creati sono visibili.
$ ls -l /mnt/nfs_clientshare/
Come puoi vedere, i due file creati esistono con accesso in lettura e scrittura.
Un NFS server fornisce un approccio semplice e flessibile alla condivisione di file e directory cruciali/importanti da un singolo server a uno specifico o più computer client.