Network File System (NFS) is a distributed file system protocol that allows you to share remote directories over a network. With NFS, you can mount remote directories on your system and work with the files on the remote machine as if they were local files.
NFS protocol is not encrypted by default, and unlike Samba, it does not provide user authentication. Access to the server is restricted by the clients’ IP addresses or hostnames.
In this tutorial, you’ll go through the steps necessary to set up an NFSv4 Server on CentOS 8. We’ll also show you how to mount an NFS file system on the client.
The “nfs-utils” package provides the NFS utilities and daemons for the NFS server. To install it run the following command:
yum install nfs-utils systemctl enable nfs-server systemctl enable nfs-server
NFS server configuration options are set in /etc/nfsmount.conf and /etc/nfs.conf files.
There are two ways to configure exports on an NFS server.
The /etc/exports file controls which file systems are exported to remote hosts and specifies options. It follows the following syntax rules:
We’ll create directory on /opt/apps that will be exported to NFS clients
we need to modify /etc/exports to configure NFS share. The structure is:
The no_root_squash option disables root squashing – enables remote root user to have root privileges.
Once you’re done with the settings, use the exportfs utility to selectively export directories without restarting the NFS service or you can restart the service.
systemctl restart nfs-server
SELinux boolean may need to be enabled.
setsebool -P nfs_export_all_rw 1
Now that we’re done with NFS server configurations, the remaining part is mounting NFS shares on a client system.
yum -y install nfs-utils
We need to create a folder on clients where we are going to mount the remote NFS folder
mount -t nfs -o nfsvers=4 10.10.2.242:/opt/apps /opt/apps
Verifying its all ok
df -hT | grep /opt/apps
To persist the changes across system reboots, Configure NFS mounting on /etc/fstab.
Add a line like with the following syntax to the end of file.
10.10.2.242:/opt/apps /opt/apps nfs defaults 0 0
Test your settings.
sudo umount /mnt sudo mount -a df -hT | grep /mnt