NFS: Network File System

      NFS:协议,类Unix系统,文件系统(内核)


      SUN:

              NFSv1

              NFSv2

              NFSv3

              NFSv4

             

        RPC:远程过程调用

      

              2049/tcp

              2049/udp


       NIS: Network Information Service

               NIS+

               Kerberos


       RPC: portmapper

              监听

              111/tcp

              111/udp


              各基于RPC提供的进程,在启动时要向rpc注册监听在某端口上,rpc会从各未使用的端口中

              挑一个给此进程监听,即半随机机制:


             NFS:


             安装配置:

                   服务安装程序:nfs-utils


             三个关键进程:

                    mountd:挂载守护进程,负责客户端来源认证的进程

                    nfsd:文件读写

                    idmapd:id映射进程


                /etc/exports:

                文件系统      客户端1(文件系统导出属性)         客户端2

                            客户端:

                                   IP:   192.168.1.29

                                   Hostname 

                                   Network

                            文件系统导出属性:

                                   rw

                                   async

                                   sync

                                   root_squash:压缩root用户,基于imap的、,将root通过网络访问

                                   时转换为nfsnobody用户

                                   no_root_squash:不压缩root用户

                                   all_squash:压缩所有用户

                                   anonuid,anongid:指定匿名用户

                showmount

                             -e:在nfs客户端执行,探查某主机所导出的nfs文件系统,使用格式

                                     "showmount -e Server_IP"

                             -d:在nfs服务器端执行,显示哪个导出的文件系统已经至少一个客户挂载使用了:

                             -a:在nfs服务器端显示所有的挂载会话:

               

                exportfs:

                             -a:操作所有文件系统

                             -ra:重新导出所有文件系统

                             -ua:取消导入的所有文件系统

                             -v:显示详细信息


                                           


实验:


两测试服务器:


        NFS服务器:192.168.1.28


        NFS客户端:192.168.1.29          


1、NFS服务器上创建共享目录/nfsshare


wKioL1lYlzTja63cAAAYKFEtC6I151.png-wh_50


2、NFS服务器上编辑/etc/exports文件,配置共享的目录、网段和共享的属性等


wKioL1lYl9vR1sitAAAFKvzeHSY643.png-wh_50


wKiom1lYmHTSa4l8AABLDEvLnDE951.png-wh_50


3、重新启动nfs


wKioL1lYmPTRMkqFAAAuKoP4TVc292.png-wh_50          


4、NFS客户端探索NFS服务器端挂载的选项


wKiom1lYmzOCZWYhAAANDe1J0XE997.png-wh_50


5、NFS客户端创建挂载目录/mnt/nfs,并挂载使用


wKiom1lYnBXQNfVbAAAzmIchWgs966.png-wh_50


6、NFS客户端进入/mnt/nfs目录里,创建一个文件test.txt,提示无权限,如下图所示:


wKiom1lYvR2RsXKoAAAL8tNO2Pw514.png-wh_50


7、在NFS服务端,加入no_root_squash参数,不压缩root用户,并重启nfs,如下图所示:


wKioL1lYvb7zAAPiAAAI4FcBsl4973.png-wh_50


8、在NFS客户端,创建test目录,提示正常


wKiom1lYvxWjstixAAAUgVYqJoI506.png-wh_50


9、NFS服务端新建一个nfs的用户testuser,用户id为1000


wKioL1lYzGmxPHwhAAAd_yzUt8Q418.png-wh_50


10、NFS客户端新建一个nfs用户testuser,用户id为1000,从下图可以看到该用户对/nfsshare的文件的

操作正常,包括创建文件,复制文件等


wKiom1lYzbSyVLj_AAAqwc6cpBc918.png-wh_50


11、NFS服务器上,使用exportfs命令重新加载nfs服务

修改/etc/exportfs文件,并使用exportfs重新导出


wKioL1lY0W2jWjW7AAAbSlRVm7o064.png-wh_50


12、NFS客户端上,使用showmount -e 查看导出的/nfsshare


wKiom1lY0hzC8XuOAAANkbNhCDo914.png-wh_50