NFS用于Linux主机访问网络中其他Linux主机上的共享资源。NFS的原理是在客户端上通过网络将远程主机共享文件系统以挂载(Mount)的方式加入本机的文件系统,之后的操作就如同在本机上一样。
一、安装NFS
Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:
$ sudo apt-get install nfs-kernel-server
(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)
二、配置NFS
1、配置portmap
方法1:
编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉.
方法2:
$ sudo dpkg-reconfigure portmap
对Should portmap be bound to the loopback address? 选N.
2、配置/etc/hosts.deny
$ sudo gedit /etc/hosts.deny
(禁止任何host(主机)能和你的NFS服务器进行NFS连接),加入:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
3、配 置/etc/hosts.allow
$ sudo gedit /etc/hosts.allow
允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.1开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。
### NFS DAEMONS
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
4、重启portmap daemon
每次对/etc/hosts.deny 和 /etc/hosts.allow两文件的修改后都要重启portmap daemon。不然修改无效。
$ sudo /etc/init.d/portmap restart
5、配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义。
$sudo gedit /etc/exports
比如我要将将我的home目录中的/home/lin/NFSshare目录让192.168.1.*的IP共享, 则在该文件末尾添加下列语句:
/nfs 192.168.1.*(rw,sync,no_root_squash)
然后保存退出。
/nfs表示共享目录,当然可以随便换成自己喜欢的目录。
192.168.1.*:前面三位是你主机(NFS客户端)的ip地址(本机终端ifconfig命令就可以获得本机的ip地址)。
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
6、重启nfs服务
$ sudo /etc/init.d/nfs-kernel-server restart
7、测试
mount -o nolock ip:/nfs/ /tmp/
到对应的/tmp目录下查看是否有ip:/nfs中的文件