作者: reistlin
来源: http://www.reistlin.com/blog/199
更新时间: 2011.03
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要

redhat

1,安装 nfs,portmap 服务:

rpm -ivh nfs-utils-1.0.9-42.el5.i386.rpm nfs-utils-lib-1.0.8-7.6.el5.i386.rpm system-config-nfs-1.3.23-1.el5.noarch.rpm portmap-4.0-65.2.2.1.i386.rpm

2,配置 nfs 目录,权限:/etc/exports

可以通过配置 nfs 目录权限来进行访问控制,包括来源,目录,读写权限。

reistlin:~# vim /etc/exports

/home/nfs/public *(ro)
/home/nfs/domain *.reistlin.com(ro,async)
/home/nfs/backup reistlin(rw,async)

配置说明:

所有用户可以访问 /home/nfs/public 目录(只读);
来自 *.reistlin.com 域的用户可以访问 /home/nfs/domain 目录(只读);
用户 reistlin 可以访问 /home/nfs/backup 目录(读写)。

建议通过映射 UID 和 GID 的方法来设置权限:

anonuid=xxx
将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)

anongid=xxx
将远程访问的所有用户组都映射为匿名用户组,并指定该匿名用户组为本地用户组(GID=xxx)

3,配置 nfs 协议端口:/etc/sysconfig/nfs

因为 rpc 服务,mount TCP/UDP 端口都是随机的,所以会导致默认配置的 nfs 服务器,通过防火墙时无法进行正常挂载,导致 mount 失败(随机端口无法配置防火墙访问策略)

reistlin:~# vim /etc/sysconfig/nfs

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662

版本区别:

如果是 RHEL 5.x 版本,请直接修改 /etc/sysconfig/nfs 将里面的上述内容注释掉,重新启动NFS服务。

如果是 RHEL 4.x 版本,默认没有此文件,所以,请创建一个 nfs 配置文件放到 /etc/sysconfig 目录下。

4,启动 nfs 服务:nfs,portmap

reistlin:~# /etc/init.d/portmap start
Starting portmap:                                          [  OK  ]

reistlin:~# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]

标签: redhat, linux, nfs