NFS最早是SUN公司发起的.他能够在不同的系统之间提供文件共享服务器.
他所基于的协议是portmap提供的,也就是说,要使用nfs,就必须在服务器端和客户端都要启动portmap服务.
[root@shiyanji Server]# rpm -qa |grep nfs
nfs-utils-lib-1.0.8-7.2.z2
nfs-utils-1.0.9-24.el5
[root@shiyanji Server]# rpm -qa |grep portmap
portmap-4.0-65.2.2.1
NFS服务器端的设置很简单,只需要在/etc/export文件添加要共享的资源就可以了
[root@shiyanji Server]# vi /etc/exports
/tmp *(rw, root_squash)
## 把/tmp目录共享出来了
[root@shiyanji Server]# service portmap start
Starting portmap: [ OK ]
[root@shiyanji Server]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
[root@shiyanji Server]# showmount -e localhost ## 查看共享出来的资源
Export list for localhost:
/tmp *
[root@station134 mnt]# mount 192.168.111.133:/tmp /mnt/tmp/ ## 客户端挂载资源
也可以用mount –t nfs 指定挂载的类型
与NFS有关的命令:
#exportfs
#showmount
#mount
#rpcinfo –p
#nfsstat:
下面是/etc/export文件一些主要的参数
#########################################################################################
rw:可擦写的权限;
ro:只读的权限;
no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权
限!这个项目『极不安全』,不建议使用!
root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常
他的 UID 与 GID 都会变成 nobody 那个身份;
all_squash:不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是 nobody 啦!
anonuid:前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是你可以自行设定这个 UID 的值!当然,这
个 UID 必需要存在于你的 /etc/passwd 当中!
anongid:同 anonuid ,但是变成 group ID 就是了!
sync:资料同步写入到内存与硬盘当中;
async:资料会先暂存于内存当中,而非直接写入硬盘!
#########################################################################################
关机或结束时的注意事项:
需要注意的是,由于 NFS 使用的这个 RPC 在 client 端连上主机时,那么你的主机想要关机,那可就会成为『不可能的任务
』!我还不知道正确的原因是什么,但是,如果你的 Server 上面还有 Client 在联机,那么你要关机,可能得要等到数个钟头才
能够正常的关机成功!嗄!真的假的!不相信吗?不然您自个儿试试看! ^_^!所以啰,建议您的 NFS Server 想要关机之前,能
更先『关掉 portmap 与 nfs 』这两个东西!如果无法正确的将这两个 daemons 关掉,那么先以 netstat -utlp 找出 PID ,然后
以 kill 将他关掉先!这样才有办法正常的关机成功喔!这个请特别特别的注意呢!
## 这个主意事项好像是鸟哥那里看的。具体的我也忘了。
关于NFS的安全
由于NFS有很多端口,而且有些端口由不固定,用rpcinfo可以看到,所以用iptables提供安全很不方便.
由于NFS是依赖于portmap服务,而portmap服务又受TCP_Wrappers控制,所以可以通过/etc/hosts.allow和/etc/host.deny两个文件控
制
格式:
portmap: ip/网段(掩码用255长格式)/域名 /ALL :allow/deny
附加:
客户机把nfs资源写入到/etc/fstab中后,如果NFS服务器故障了,这时候客户机重启,这时他就无法链接到NFS服务器.会使启动的时候
很长.为了解决这个文件,可以用下面的方法.
客户机在写fstab文件的时候,加入下面的参数
-o intr,hard 或者 -o soft
hard是硬挂载,但是他前面有intr,意思是如果挂载失败,就放弃挂载
soft可以理解成intr,hard的简写
修改NFS的端口:
/etc/sysconfig/nfs文件
找到需要修改的端口类型
去掉行首的#
改掉后面的端口就可以了
重启服务