Saturday, 1 December 2018

Configure NFS Collaborative Share in RHEL/CentOS 7

Configure NFS Collaborative Share in RHEL 7

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.


Configure NFS Share on RHEL 7:

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 yumspan> repository.

# yum install -y nfs-utils

Configure NFS Collaborative Share in RHEL 7

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}
# firewall-cmd --reload


Mount NFS Share on RHEL 7:

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=,local_lock=none,addr=,_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 find this article useful? Consider supporting us by Buy Me A Coffee

No comments:

Post a Comment

© 2023 CentLinux. All Rights Reserved.