红联Linux门户
Linux帮助

RHEL6服务器NFS服务配置

发布时间:2015-05-16 22:07:06来源:linux网站作者:sbwolftotem

nfs服务全称:network file system
*****由sun公司提出,用来做网络之间文件共享,是一种共享式集群文件系统;红帽具有gfs,Oracle同样具有ocfs,都是具有同等功能。


1、服务器:
nfs
rpcbind 此为rhel6下的服务,如果是rhel5则是 portmap


2、客户端:
rpcbind


3、假设服务器10.10.10.254.客户端10.10.10.10
在客户端10上查看服务器254上是否存在nfs共享,需要具备条件:
(1)服务器上开启nfs服务
[root@rootbug ~]#/etc/init.d/nfs start
[root@rootbug ~]#/etc/init.d/rpcbind start
(2)客户端
[root@rootbug ~]#/etc/init.d/rpcbind start
(3)在客户端10上执行查看命令
[root@rootbug ~]# showmount -e 10.10.10.254
执行之后将会全部列举出服务器254上的全部通过nfs共享出现的信息,如果无法查看请查看服务器上的防火墙是否关闭


4、portmap或者rpcbind端口为111端口
nfs端口为2049端口


5、服务器上配置nfs共享,配置文件
[root@rootbug ~]#vim /etc/exports
在此空文件中添加需要共享的目录,主要参数有
ro 只读
rw 可读可写
root_squash代表客户端以nfsnobody用户挂载,默认不写就有
no_root_squash 代表客户端以root用户挂载
sync 同步
async 异步

通过man exports 得知各个参数的作用
# sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)home/joe pc001(rw,all_squash,anonuid=150,ano
/pub (ro,insecure,all_squash)

(1)例子:
[root@rootbug ~]#vim /etc/exports
/share/iso *(ro) --把/share/iso 共享给*(代表所有IP) ro (代表只读)
/share/iso *(rw) --rw代表可读可写
/share/iso 10.10.10.0/24(ro) --只共享给10.10.10的网段的计算机访问
/share/iso 10.10.10.0/255.255.255.0(ro)
/share/iso 10.10.10.10/255.255.255.255(ro) --定义只10.10.10.10这台计算机可以访问
/share/iso 10.10.10.10(ro)
/share/iso 10.10.10.10/32(ro)10.10.10.254/32(rw) --定义只有10和254这两台可以访问


6、nfs共享的权限
(1)客户端挂载目录的权限为服务端共享目录的权限
(2)nfs服务共享目录的默认权限规定是以nfsnobody这个用户来挂载,查看/etc/passwd可以看到
nfsnobody:x:65534:65534:Anonymous NFSUSEr:/var/lib/nfs:/sbin/nologin

注意:如果做了服务的话,权限要由服务的权限+系统的权限合起来生效

也就是说,客户端是否可以访问,需要防火墙允许,服务允许,系统权限允许,才可以访问

(3)详情如下:
/share/iso *(ro) 默认等于 /share/iso*(ro,root_squash)
--root_squash代表客户端以nfsnobody用户挂载
/test *(rw,no_root_squash)
--表示客户端会以root的身份来挂载服务端的/test目录
/share/iso 10.10.10.10/32(ro,no_root_squash)10.10.10.254/32(ro,root_squash)
--no_root_squash代表客户端以root用户挂载,就算是10对/share/iso有w权限,也不能写,因为ro参数确定只读

/share/iso10.10.10.10/32(rw,anonuid=533,anongid=534) --指定客户端以uid=533,gid=534挂载,但不要指定一个服务器上面不存在的uid或gid,否则客户端会以无头用户或组来访问

--修改了/etc/exports以后,要重启服务使之生效,不用重启服务,使修改过的配置文件生效
[root@rootbug~]#exportfs -arv --重新读取/etc/exports文件里的共享,并导入
-auv --卸载/etc/exports文件里的共享,别人showmount -e看不到,也挂载不了


在Linux下配置tftp服务器和nfs服务器:http://www.linuxdiyf.com/linux/10681.html

Linux NFS服务器详解:http://www.linuxdiyf.com/linux/11993.html

Linux NFS服务配置:http://www.linuxdiyf.com/linux/5467.html

VMware中为Ubuntu安装配置nfs服务:http://www.linuxdiyf.com/linux/8443.html

CentOS 6.4安装和配置NFS服务:http://www.linuxdiyf.com/linux/10220.html