1.使用nfsnobody

___________________________________________________________

--------------------安装

yum install  nfs-utils rpcbind -y

#服务端和客户端安装

--------------------服务端配置

mkdir /data                                          

#创建共享目录

chown -R nfsnobody:nfsnobody /data               

#授权NFS用户

vim  /etc/exports  

#编辑配置文件                                 

/data 192.168.1.0/24(rw,sync)

/etc/init.d/rpcbind start

/etc/init.d/nfs start

#启动服务,必须先启动rpc

showmount -e localhost

#本地showmount测试

----------------------客户端配置

mount -t nfs 192.168.1.203:/data /mnt

df

Filesystem                     1K-blocks    Used Available Use% Mounted on

192.168.1.203:/data             49097600 1268480  45335040   3% /mnt

----------------------测试

touch test.txt

ll

-rw-r--r--. 1 nfsnobody nfsnobody 0 2月  20 2016 test.txt

2.使用固定UID用户

___________________________________________________________

id szk               #在服务端和客户端查看是否有此用户

uid=500(szk) gid=500(szk) 组=500(szk)

--------------------服务端配置

mkdir  /szk

chown -R szk:szk /szk     

#创建和授权目录

echo "/szk 192.168.1.0/24(rw,sync,all_squash,anonuid=500,anongid=500)" >> /etc/exports

 /etc/init.d/nfs reload

#修改配置文件并重载服务

showmount -e localhost

#本地测试

Export list for localhost:

/szk  192.168.1.0/24

/data 192.168.1.0/24

--------------------客户端挂载测试

mkdir /szk

mount -t nfs 192.168.1.203:/szk /szk 

df -h

192.168.1.203:/szk               47G  1.3G   44G   3% /szk

 touch /szk/test.txt

ll   /szk/test.txt

-rw-r--r--. 1 szk szk 0 2月  20 2016 test.txt

3.相关优化参数

___________________________________________________________

安全性能优化参数,禁止给予执行权限,禁止更新文件的inode时间戳及加大传输size

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072  192.168.1.203 /data/mnt

4.开机启动及挂载

___________________________________________________________

echo "/etc/init.d/rpcbind start"  >> /etc/rc.local

echo "/etc/init.d/nfs start"  >> /etc/rc.local 

#统一运维规范将服务的启动命令放置到/etc/rc.local文件中,而不是用chkconfig管理。当运维人员离职及业务迁移,可以很直观的看到相关服务

echo "mount -t nfs 192.168.1.203:/data /mnt"  >> /etc/rc.local

 为什么不在fstab中挂载?

#因为fstab启动优于网络模块,挂载网络文件系统时,无法在fstab中挂载成功,故放置在/etc/rc.local中

为什么需要先开机先开NFS服务端,关机先关客户端?

因为当客户端优于服务端启动时,会导致无法正常挂载;当服务器优于客户端关闭,会导致客户端无法正常关闭