分类:
2010-03-18 18:14:55
NFS服务器的配置
启动nfs需要portmap服务
配置文件/etc/exports
/etc/exports文件中一些选项的含义
选项 说明
Ro 该主机对该共享目录有只读权限
Rw 该主机对该共享目录有读写权限
Root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
No_root_squash 客户机用root访问该共享文件夹时,不映射root用户
All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
Anonuid 将客户机上的用户映射成指定的本地用户ID的用户
Anongid 将客户机上的用户映射成属于指定的本地用户组ID
Sync 资料同步写入到内存与硬盘中
Async 资料会先暂存于内存中,而非直接写入硬盘
Insecure 允许从这台机器过来的非授权访问
例1:
/ zhang (rw) wang (rw,no_root_squash)
表示共享服务器上的根目录(/)只有zhang和wang两台主机可以访问,且有读写权限;zhang主机用root用户身份访问时,将客户机的root用户映射成服务器上的匿名用户(root_squash,该参数为缺省参数),相当于在服务器使用nobody用户访问目录;wang主机用root用户身份访问该共享目录时,不映射root用户(no_root_squash),即相当于在服务器上用root身份访问该目录
例2:
/root/share/ 192.168.1.20 (rw,insecure,sync,all_squash)
表示共享服务器上的/root/share/目录只有192.168.1.20主机可以访问,且有读写权限;此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)
例3:
/home/ljm/ *.gdfs.edu.cn (rw,insecure,sync,all_squash)
表示共享/home/ljm/目录,*.gdfs.edu.cn域中所有的主机都可以访问该目录,且有读写权限
例4:
/home/share/ .gdfs.edu.cn (ro,sync,all_squash,anonuid=student,anongid=math)
表示共享目录/home/share/,*.gdfs.edu.cn域中的所有主机都可以访问,但只有只读的权限,所有用户都映射成服务器上的uid为student、gid为math的用户
启动nfs后又修改了/etc/exports,不用重启该服务,使用exports命令即可:
#exports [-aruv]
-a 全部mount或umount文件/etc/exports中的内容
-r 重新mount文件/etc/exports中的共享内容
-u umount目录
-v 在export的时候,将详细的信息输出到屏幕上
例:
[root@localhost ~]#exports -rv 全部重新export一次
[root@localhost ~]#exports -au 全部卸载
NFS客户端的配置:
若是临时使用可直接执行mount命令:
若客户机启动就自动挂载服务器的共享目录,则需修改客户机上的/etc/fstab文件
/etc/fstab格式:
192.168.233.139:/share /mnt nfs defaults 0 2
Fs_spec fs_file fs_type fs_options fs_dump fs_pass
Fs_spec:定义希望加载的文件系统所在的设备或远程文件系统,对于nfs则设为IP:/共享目录
Fs_file:本地挂载点
Fs_type:挂载类型
Fs_options:挂载参数
Fs_dump:该选项被“dump”命令使用来检查一个文件系统该以多快频率进行转储,若不需转储即为0
Fs_pass:该字段被fsck命令使用来决定在启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段值为1,其他文件系统为2,若该文件系统无需在启动时被扫描则为0
安全提醒:
确保网络安全,使用nfs时结合tcp_wrappers来限制使用范围(如只想192.168.5.123主机可挂载nfs服务器上的共享目录),另外还可结合iptables来加强安全性。
[root@localhost ~]#vi /etc/hosts.allow
Portmap:192.168.5.123:allow
[root@localhost ~]#vi /etc/hosts.deny
Portmap:
关机时若nfs server上有client联机时,先关掉portmap与nfs两个系统服务。若无法正确将此2项服务关掉,用netstat –utlp找出PID,然后用kill杀掉进程才关机
相关命令:
查看NFS的运行状态,对调整NFS运行大有帮助:
nfsstat
查看rpc执行信息,用于检测rpc运行情况:
rpcinfo
挂载:
mount –t nfs hostname(or IP):/directory /
NFS client端卸载:
umount /
NFS server端卸载:
exports –au
查看NFS服务器上共享了那些目录:
showmount -e IP