NFS如何限制可以获取NFS输出列表的IP和用户
一、概要
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
NFS是一个使用RPC构造的客户端/服务器应用程序,其客户端通过向一台NFS服务器发送RPC请求来访问其中的文件。
尽管这一工作可以使用一般的用户进程来实现,即NFS客户端可以是一个用户进程,对服务器进行显式调用在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS本身没有提供信息传输的协议和功能,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。NFS依赖于RPC协议。
所谓RPC远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。
NFS服务器在端口UDP 2049接收作为UDP数据包的客户端请求,NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务用来为RPC服务进行动态端口分配和映射,所以portmap服务也是NFS服务所必须的。可以把NFS服务看作RPC服务的一种,开启NFS服务其实就是在开启RPC服务,portmap 服务是用于 RPC 服务(如 NIS (network information service)和 NFS)的动态端口分配守护进程。
安装NFS服务时所需要的两个软件包nfs-utils和portmap:Nfs-utils软件包提供了rpc.nfsd和rpc.mountd两个RPC的daemon(守护进程)程序,而portmap软件包提供了portmap程序。
目前NFS已具备了防止被利用导出文件夹的功能,但遗留系统中的NFS服务配置不当,则仍可遭到恶意攻击者的利用。
二、安装
[root@centosclient ~]# rpm -qa |grep nfs //检查系统是否已经安装
nfs4-acl-tools-0.3.3-13.el7.x86_64
nfs-utils-1.3.0-0.48.el7_4.x86_64 //必要安装
libnfsidmap-0.25-9.el7.x86_64
[root@centosclient ~]# rpm -qa |grep rpc
xmlrpc-c-1.32.5-1905.svn2451.el7.x86_64
xmlrpc-c-client-1.32.5-1905.svn2451.el7.x86_64
libtirpc-0.2.4-0.10