任务一 配置简单的NFS服务器
第1步 查看NFS程序是否安装
通过 【rpm -qa | grep nfs 】命令查看NFS 是否安装。通过【rpm -qa | grep rpcbind】查看RPC是否安装。
第2步 备份NFS配置文件
在修改文件之前,请备份原先配置文件。使用【cp /etc/exports / etc/exports.bak】命令配置主配置文件。
第3步 编辑配置文件实现需求(1)、(2)的要求
使用【 vim /etc/exports】命令编辑NFS主配置文件,输入内容如下
/root 192.168.43.9(rw,sync,no_root_squash) 配置需求(1)
/usr/src/ 192.168.1.0/24(rw,async) 配置需求(2)
第4步 重启服务并设置开机自动启动
【service rpcbind restart】 重启restart 服务
【service nfs restart】重启 nfs 服务
【chkconfig nfs on 】设置NFS服务开机自动启动
【chkconfig rpcbind on 】设置 rpcbind 服务开机自动启动
第5步 服务器端设置 /usr/src/本地写权限
【chmod o+w /usr/src/】给/usr/src/目录增加其他人(other)的写(w)权限
【showmount -e 192.168.43.9】查看NFS服务器的可用共享目录。
第7步 客户机测试
在客户机上使用如下命令进行测试:
【 mkdir -p /data /root】建立本地挂载点
【 mount 192.168.43.9:/root /data/root】挂载远程资源到本地
【mkdir -p /tmp/src】建立本地挂载点
【mount 192.16843.9:/usr/src/tmp/src】挂载远程资源到本地
【mount | tail -2 】查看挂载最后2行
【cd /data/root】root普通用户进入挂点目录测试需求(1)
【touch nfs】建立挂载点
【cd /tmp/src】 yhy普通用户进入挂点目录测试需求(2)
【touchu yhy】 建立测试文件
第8步 需求(3)把所有用户都映射程nfsnobody
使用【cat /etc/exports】命令查看NFS主配置文件
/root 192.168.43.9(rw,sync,no_root_squash)
/usr/src/ 192.168.1.0/24(rw,async)
使用【chmod o-w /usr/src】命令清出上面实例的权限
使用【setfacl -m u: nfsnobody:rwx /usr/src/】命令设置访问控制列表
第9步 客户机测试
【touch bestyhy】 yhy 普通用户进入挂载目录测试需求(3).
第 10 步 客户机卸载NFS服务器
【umount /data/root/】卸载不在使用的挂载目录/data/root/
【 umount /tmp/src/】卸载不在使用的挂载目录 /tmp/src/
任务 二 架设企业级NFS服务器
第1步 安装NFS服务
【rpm -qa nfs-utils rpcbind】检查与NFS服务相关的俩个软件是否安装。
【yum -y install nfs-utils rpcbind】如果没有安装,通过此命令安装。
第2步 备份NFS配置文件
【cp /etc/exports /etc/exports.bak】在修改配置文件之前,一定要记得备份原有配置文件。
第3步 编辑/etc/exports文件
第4步 建立共享文件夹
【mkdir -p /nfs/market】建立市场共享目录
【 mkdir /nfs/sales root】建立销售部共享目录以及root共享目录
【mkdir -p /mnt/cdrom】建立光盘的挂载点目录
第5步 设置本地文件写权限属性
【chmod 777 /nfs/market】修改共享目录market权限为最大值
【chmod 777 /nfs/sales】修改共享目录sales权限为最大值
第6步 重启服务并设置开机自动启动
【service nfs restaet】重启NFS服务
【service rpcbind restart】重启rpcbind服务
【chkconfig nfs on】设置NFS服务开启自起启动
【chkconfig rpcbind on】设置ppcbind服务开启自起启动
第7步检查服务器上安全设置
在NFS服务器打开时,还要检查防火墙设置,确保没有屏蔽掉NFS使用的端口和允许通信的主机,主要检查iptables,selinux 等选项的设置,以及/etc/houst.deny,/etc/houst,allow等文件。
第8步 设置客服端NFS开机自动挂载
在192.168.185.0/24所在的客服机上挂载,
【mkdir /mnt/market】在客服端建立本地挂载点。
【vim /etc/fstab】编辑开机挂载的文件,在文件最后添加如下内容
192.168.1.254:/nfs/market /mnt/market nfs defaults 0 0
第9步 重新读取/etc/fstab文件
【mount -a】让内核重新读取/etc/fstab文件
第10步 设置NFS客服端访问时自动挂载,不访问时自动断开
(1)编辑/etc/auto.master文件,在文件任意处添加如下内容
/mnt/etc/auto.sales--timeout 5
(2)在/etc/目录下新建辅助文件auto.sales,内容如下
sales -fstype=nfs 192.168.1.254:/nfs/sales
(3)重新启动服务
【service autofs restart】重启autofs服务
(4)测试配置具体测试效果如下
第11步NFS服务器的维护
每次维护完/nfs/exports文件后都需要重启NFS服务
【exportfs -rv】重新输入共享目录,此命令可以代替重启服务
【exportfs -auv】停止输出共享目录
【/etc/init.d/rpcbind status】检查rpcbind服务状态
【/etc/init.d/nfs status】检查NFS服务状态
第12步 测试NFS服务的其他几个命令
【showmount -e】查看当前主机中NFS服务器上所有共享目录
【showmount -d】显示当前主机上NFS服务器上被挂在的所有输出目录
【showmount -a】显示指定NFS服务器的所有客服端主机与 其连接的目录
第13步 卸载NFS服务器
【mount 要卸载的路径】卸载自己不想在使用的的挂载目录
第14步 阅读NFS服务配置实例
下面首先给出NFS主配置文件/etc/exports的一个应用实例,然后对有关设置进行说明:
/nfs/public 192.168.1.0/24(rw,async) *(ro)
/nfs/student 192.168.16.20(rw,sync)
/nfs/root *.fjjy.net(ro,no_root_squash)
/nfs/users *.fjjy.net(rw,insecure,all_squash,sync,no_wdelay)
/mnt/cdrom 192.168.1.*(ro)
(1) /nfs/public 192.168.1.0/24(rw,async) *(ro)输出目录/nfs/public可供子网192.168.1.0/24中的所有客户机进行读写操作,而其他网络中的客户机只能读取该目录的内容。
值得注意的是,当某用户使用子网192.168.1.0/24中的客户机访问该共享目录时,能否真正地写入,还要看该目录对该用户有没有开放Linux文件系统权限的写入权限。
如果该用户是普通用户,那么只有当该目录对该用户开放了写入权限时,该用户才可以在该共享目录下创建子目录及文件,且新建子目录及文件的所有者就是该用户(实际上应该是该用户的UID)。
如果该用户是root用户,由于默认选项中有root_squash,root用户会被映射为nfsnobody,因此只有该共享目录对nfsnobody开放了写入权限时,该用户才能在共享目录中创建子目录及文件,且所有者将变成nfsnobody。
(2) /nfs/student 192.168.16.20(rw,sync)
输出目录/nfs/student只供IP地址为192.168.16.20的客户机进行读写操作。
(3) /nfs/root *.fjjy.net(ro,no_root_squash)
对于输出目录/nfs/root,fjjy.net域中的所有客户机都具有只读权限,并且不将root用户映射到匿名用户。
(4) /nfs/users *.fjjy.net(rw,insecure,all_squash,sync,no_wdelay)
对于输出目录/nfs/users来说,fjjy.net域中的所有客户机都具有可读可写的权限,并且将所有用户及所属的用户组都映射为nfsnobody,数据同步写入磁盘。如果有写入操作则立即执行。
(5) /mnt/cdrom 192.168.1.*(ro)
对于输出目录/mnt/cdrom来说,子网192.168.1.0/24中的所有客户机都具有只读的权限。