In this configuration guide, you will learn, how to configure NFS share for Group Collaboration. #centlinux #linux #nfs
Table of Contents
What is NFS Share?
NFS stands for Network File System, a protocol that allows you to share directories and files over a network. An NFS share refers to a directory or file system that is shared over a network using the NFS protocol, making it accessible to other computers and devices.
Key Concepts
- Network File System (NFS):
- Definition: A protocol developed by Sun Microsystems that allows files to be shared between systems over a network.
- Purpose: Facilitates file access and management as if the files were stored on the local machine.
- NFS Share:
- Definition: A directory or file system that is made available over the network using NFS.
- Function: Enables multiple systems to access and work with files on a server from different client machines.
What is NFS Share for Group Collaboration?
A Collaborative share is a directory that has been shared across the network and a specific group of users have permissions to access, create and modify files on that directory. Usually, a collaborative directory is specific to a Project and rights have been given to the working users.
We have already configured NFS shares and Kerberized NFS shares in our previous posts. Now, we will create an NFS share for group collaboration.
Recommended Online Training: Learn Bash Shell in Linux for Beginners
Configure NFS Share
To configure NFS Service, we have to install nfs-utils package. Usually, this package is automatically installed during installation of Red Hat Enterprise Linux (RHEL) 7. However, you can install it anytime from yum repository.
# yum install -y nfs-utils
nfs-utils is already installed on our system.
Create a directory to share with other clients.
# mkdir /nfsshare # chgrp dba /nfsshare/ # chmod 2770 /nfsshare/
We have created a directory /nfsshare, change its user-group to dba and 2770 rights has been given to user-group. So, the group-members can create files on this shared directory.
Adjust SELinux type of the /nfsshare directory.
# semanage fcontext -a -t nfs_t "/nfsshare(/.*)?" # restorecon -Rv /nfsshare/ restorecon reset /nfsshare context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:nfs_t:s0
If semanage command does not available on your system then install policycoreutils-python package.
Now export/share this directory to specific clients.
# echo '/nfsshare *.example.com(rw,sync)' >> /etc/exports # exportfs -r
Enable and start the nfs-server service.
# systemctl start nfs-server ; systemctl enable nfs-server ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
Allow nfs and other required services through firewall.
# firewall-cmd --permanent --add-service={mountd,nfs,rpc-bind} success # firewall-cmd --reload success
Mount NFS Share
Connect to the client2.example.com and install nfs-utils package.
# yum install -y nfs-utils
Create a directory, to mount the shared directory from ipaserver.example.com.
# mkdir /mnt/nfsshare
Check the shared directories from ipaserver.example.com.
# showmount -e ipaserver.example.com Export list for ipaserver.example.com: /nfsshare *.example.com
Persistently mount this shared directory by adding following entry in /etc/fstab.
# echo 'ipaserver.example.com:/nfsshare /mnt/nfsshare nfs defaults,_netdev 0 0' >> /etc/fstab # mount -a
Check the status of mounted directory.
# mount | grep nfsshare ipaserver.example.com:/nfsshare on /mnt/nfsshare type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.116.202,local_lock=none,addr=192.168.116.200,_netdev)
Login with user which is member of the dba group. and create a file in this shared directory, to verify the file permissions.
# su - imran Last login: Wed Aug 1 08:29:23 PDT 2018 on pts/0 $ cd /mnt/nfsshare/ $ touch test2 $ ls -al total 0 drwxrws---. 2 root dba 30 Aug 1 08:34 . drwxr-xr-x. 4 root root 31 Jul 31 07:23 .. -rw-rw-r--. 1 imran dba 0 Aug 1 08:34 test2
We have successfully provided a network share for group collaboration and persistently mount it on one client.
If you are new to Linux and facing difficulty in working at Linux Bash prompt. We recommend that, you should read The Linux Command Line, 2nd Edition: A Complete Introduction by William Shotts.
Conclusion
In this configuration guide, you have learned, how to configure NFS share for Group Collaboration.