NFS = network file system   网络 文件 系统

作用:允许一个系统和他人共享目录和文件。

实验室需要台虚拟机

安装 NFS


[root@OBird# yum install -y nfs-utils rpcbind

rpcbind 是用来进行通信的。

[root@OBird ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        18G  3.7G   14G  22% /

tmpfs           495M     0  495M   0% /dev/shm

/dev/sda1       194M   29M  155M  16% /boot

/dev/sdb5       2.0G   68M  1.9G   4% /mnt

/dev/sdb1       2.0G   74M  1.9G   4% /home/linux/123


启动服务端的服务

wKioL1hGH0eQrNA_AACkJPQ0Jko205.jpg


以下操作都是在客户端上进行的。


此处以mnt 目录来做实例展示(在另一台机上,楼主的两台机重名了,都是bird)

 [root@bird ~]# showmount -e spacer.gif192.168.31.170
-bash: showmount: command not found

出现这个报错是因为没有安装 NFS 客户端

 [root@bird ~]# yum install -y nfs-utils  #安装NFS 客户端



再次使用 showmount 命令查看

 [root@Bird ~]# showmount -e spacer.gif10.72.4.37
Export list for spacer.gif10.72.4.37:
/mnt spacer.gif10.72.4.40 

wKiom1hGIBry1P5lAAAJZENNb6U576.png


在客户端上进行挂载操作

 [root@Bird ~]# mount -t nfs spacer.gif10.72.4.37:mnt /opt  #-t 指定类型


wKioL1hGIRiwfLKbAAAU93ZD_5g942.png


以下操作是服务端上进行的。

查看服务端/mnt 的权限

[root@OBird ~]# ls -ld /mnt

drwxr-xr-x 3 root root 4096 Sep  7 21:28 /mnt


[root@OBird mnt]# chmod 777 .  #将权限改为 777,任何用户都可以写

[root@OBird mnt]# ls -ld .

drwxrwxrwx 3 root root 4096 Sep  7 21:28 .


在客户端操作

创建一个1.txt ,属主 和属组 是nfsnobody,这个是黙认的。

wKiom1hGJ-Ti1pyiAAAM_9_Pa3A087.png

------------------------------------------------------

在实际的应用的中是其他的户,是可以通过手工来指定的。

以下test1 为例

 [root@Bird opt]# cat /etc/passwd
test1:x:500:500::/home/test1:/bin/bash 


[root@OBird mnt]# vim /etc/exports

/mnt 10.72.4.40(rw,sync,all_squash,anonuid=500,anongid=500)


[root@OBird mnt]# exportfs -arv  #重启nfs 服务

exporting 10.72.4.40:/mnt


在客户端上进行操作,touch 2.txt ,并没有实现我们要的实验效果,2.txt 的属主和属组是nobody

wKioL1hGNj-R92zBAAAM_74nsxM791.png


在客户端上卸载掉 mount ,再重新挂载  nfsvers=3 指定nfs的版本号,黙认是 4.

 [root@Bird ~]# umount -l /opt/

 [root@Bird opt]# mount -t nfs -onolock,nfsvers=3 spacer.gif10.72.4.37:/mnt/ /opt/ 

wKiom1hGN0rTkjCQAAAVtkaRBP8826.png

测试,实现实验效果

wKiom1hGN-jDkuZYAAAjVNDCikQ375.png


 [root@Bird opt]#mount -t nfs4 10.72.4.37:/mnt/ /opt/

#nfs4 版本会把 所有的用户黙认用户指到 nfsnobody 上。

[root@OBird mnt]# vim  /etc/exports  #这样的配置限了root 用户

/mnt 10.72.4.40(rw,sync,all_squash,anonuid=500,anongid=500)


改成以为就可不限制 root

/mnt 10.72.4.40(rw,sync,no_root_squash)


[root@OBird mnt]# exportfs -avr  #重启服务端服务

exporting 10.72.4.40:/mnt


在客户端进行测试,重新创建的 test 属主&属组都变回了 root

wKioL1hGOxjg0dwsAAAj_JxfzGw474.png