收藏 分享(赏)

Linux NFS服务器的安装与配置.doc

上传人:精品资料 文档编号:11046150 上传时间:2020-02-05 格式:DOC 页数:12 大小:758KB
下载 相关 举报
Linux NFS服务器的安装与配置.doc_第1页
第1页 / 共12页
Linux NFS服务器的安装与配置.doc_第2页
第2页 / 共12页
Linux NFS服务器的安装与配置.doc_第3页
第3页 / 共12页
Linux NFS服务器的安装与配置.doc_第4页
第4页 / 共12页
Linux NFS服务器的安装与配置.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、Linux NFS 服务器的安装与配置网上看到一篇有关 nfs 服务器安装与配置的文章觉得非常不错所以就收藏了起来,鉴于有很多时候收藏的网页过段时间就会莫名的找不到了,所以决定全盘拷贝存档。对原作者表示感谢。本文来源http:/ 服务简介NFS 是 Network File System 的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由 Sun 公司开发,于 1984 年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类 Unix 系统间实现磁盘文件共享的一种方法。NFS 的基本原则是“容许不同的客

2、户端及服务端通过一组 RPC 分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。NFS 在文件传送或信息传送过程中依赖于 RPC 协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS 本身是没有提供信息传输的协议和功能的,但 NFS 却能让我们通过网络进行资料的分享,这是因为 NFS 使用了一些其它的传输协议。而这些传输协议用到这个 RPC 功能的。可以说 NFS本身就是使用 RPC 的一个程序。或者说 NFS 也是一个 RPC SERVER。所以只要用到NFS 的地方都要启动 RP

3、C 服务,不论是 NFS SERVER 或者 NFS CLIENT。这样SERVER 和 CLIENT 才能通过 RPC 来实现 PROGRAM PORT 的对应。可以这么理解RPC 和 NFS 的关系:NFS 是一个文件系统,而 RPC 是负责负责信息的传输。二、系统环境系统平台:CentOS release 5.6 (Final)NFS Server IP:192.168.1.108防火墙已关闭/iptables: Firewall is not running.SELINUX=disabled三、安装 NFS 服务NFS 的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为

4、系统的默认包安装的。 nfs-utils-* :包括基本的 NFS 命令与监控程序 portmap-* :支持安全 NFS RPC服务的连接1、查看系统是否已安装 NFS系统默认已安装了 nfs-utils portmap 两个软件包。2、如果当前系统中没有安装 NFS 所需的软件包,需要手工进行安装。nfs-utils 和portmap 两个包的安装文件在系统光盘中都会有。# mount /dev/cdrom /mnt/cdrom/# cd /mnt/cdrom/CentOS/# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm # rpm -ivh nfs-ut

5、ils-1.0.9-50.el5.i386.rpm# rpm -q nfs-utils portmap四、NFS 系统守护进程 nfsd:它是基本的 NFS 守护进程,主要功能是管理客户端是否能够登录服务器; mountd:它是 RPC 安装守护进程,主要功能是管理 NFS 的文件系统。当客户端顺利通过 nfsd 登录 NFS 服务器后,在使用 NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取 NFS 的配置文件/etc/exports来对比客户端权限。 portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用 RPC 服务器提供的服务(如NFS 服务)时,portm

6、ap 会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。五、NFS 服务器的配置NFS 服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动 NFS服务器即可。NFS 的常用目录/etc/exports NFS 服务的主要配置文件/usr/sbin/exportfs NFS 服务的管理命令/usr/sbin/showmount 客户端的查看命令/var/lib/nfs/etab 记录 NFS 分享出来的目录的完整权限设定值/var/lib/nfs/xtab 记录曾经登录过的客户端信息NFS 服务的配置文件为 /etc/exports,这个文件是

7、 NFS 的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用 vim 手动建立,然后在文件里面写入配置内容。/etc/exports 文件内容格式:客户端 1 选项(访问权限,用户映射,其他) 客户端 2 选项(访问权限,用户映射,其他)a. 输出目录:输出目录是指 NFS 系统中需要共享给客户机使用的目录;b. 客户端:客户端是指网络中可以访问这个 NFS 输出目录的计算机客户端常用的指定方式 指定 ip 地址的主机:192.168.0.200 指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0 指定域名的主机: 指

8、定域中的所有主机:* 所有主机:*c. 选项:选项用来设置输出目录的访问权限、用户映射等。NFS 主要有 3 类选项:访问权限选项 设置输出目录只读:ro 设置输出目录读写:rw用户映射选项 all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody); no_all_squash:与 all_squash取反(默认设置); root_squash:将 root 用户及所属组都映射为匿名用户或用户组(默认设置); no_root_squash:与rootsquash 取反; anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地

9、用户(UID=xxx); anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);其它选项 secure:限制客户端只能从小于1024 的 tcp/ip 端口连接 nfs 服务器(默认设置); insecure:允许客户端从大于1024 的 tcp/ip 端口连接服务器; sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; async:将数据先保存在内存缓冲区中,必要时才写入磁盘; wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置); no_wdela

10、y:若有写操作则立即执行,应与 sync 配合使用; subtree:若输出目录是一个子目录,则 nfs 服务器将检查其父目录的权限( 默认设置 ); no_subtree:即使输出目录是一个子目录,nfs 服务器也不检查其父目录的权限,这样可以提高效率;六、NFS 服务器的启动与停止在对 exports 文件进行了正确的配置后,就可以启动 NFS 服务器了。1、启动 NFS 服务器为了使 NFS 服务器能正常工作,需要启动 portmap 和 nfs 两个服务,并且 portmap 一定要先于 nfs 启动。# service portmap start# service nfs start

11、2、查询 NFS 服务器状态# service portmap status# service nfs status 3、停止 NFS 服务器要停止 NFS 运行时,需要先停止 nfs 服务再停止 portmap 服务,对于系统中有其他服务(如 NIS)需要使用时,不需要停止 portmap 服务# service nfs stop# service portmap stop4、设置 NFS 服务器的自动启动状态对于实际的应用系统,每次启动 LINUX 系统后都手工启动 nfs 服务器是不现实的,需要设置系统在指定的运行级别自动启动 portmap 和 nfs 服务。# chkconfig -

12、list portmap# chkconfig -list nfs设置 portmap 和 nfs 服务在系统运行级别 3 和 5 自动启动。# chkconfig -level 35 portmap on# chkconfig -level 35 nfs on七、实例1、将 NFS Server 的/home/david/ 共享给 192.168.1.0/24 网段,权限读写。服务器端文件详细如下:# vi /etc/exports/home/david 192.168.1.0/24(rw)2、重启 portmap 和 nfs 服务# service portmap restart# ser

13、vice nfs restart# exportfs3、服务器端使用 showmount 命令查询 NFS 的共享状态# showmount -e /默认查看自己共享的服务,前提是要 DNS 能解析自己,不然容易报错# showmount -a /显示已经与客户端连接上的目录信息4、客户端使用 showmount 命令查询 NFS 的共享状态# showmount -e NFS 服务器 IP5、客户端挂载 NFS 服务器中的共享目录命令格式# mount NFS 服务器 IP:共享目录 本地挂载点目录# mount 192.168.1.108:/home/david/ /tmp/david/#

14、 mount |grep nfs挂载成功。查看文件是否和服务器端一致。6、NFS 的共享权限和访问控制现在我们在/tmp/david/ 里面建立一个文件,看看权限是什么# touch 20130103这里出现 Permission denied,是因为 NFS 服务器端共享的目录本身的写权限没有开放给其他用户,在服务器端打开该权限。# chmod 777 -R /home/david/再次在客户端/tmp/david/ 里面建立一个文件我用 root 用户建立的文件,变成了 nfsnobody 用户。NFS 有很多默认的参数,打开/var/lib/nfs/etab 查看分享出来的/home/d

15、avid/ 完整权限设定值。# cat /var/lib/nfs/etab默认就有 sync,wdelay ,hide 等等,no_root_squash 是让 root 保持权限,root_squash 是把 root 映射成 nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。所以,root 建立的文件所有者是 nfsnobody。下面我们使用普通用户挂载、写入文件测试。# su - david$ cd /tmp/david/$ touch 2013david普通用户写入文件时就是自己的名字,这也就保证了服务器的安全性。关于权限的分析1. 客户端连接时候,对普通用

16、户的检查a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;b. 如果 NFS server 上面有同名用户,那么此时客户端登录账户的身份转换为NFS server 上面的同名用户;c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;2. 客户端连接的时候,对 root 的检查a. 如果设置 no_root_squash,那么此时 root 用户的身份被压缩为 NFS server 上面的 root;b. 如果设置了 all_squash、anonuid、anongid,此时 root 身份被压缩为指定用户;c. 如果没有明确指定

17、,此时 root 用户被压缩为 nfsnobody;d. 如果同时指定 no_root_squash 与 all_squash 用户将被压缩为 nfsnobody,如果设置了 anonuid、anongid 将被压缩到所指定的用户与组;7、卸载已挂载的 NFS 共享目录# umount /tmp/david/八、启动自动挂载 nfs 文件系统格式:: nfs 0 0# vi /etc/fstab保存退出,重启系统。查看/home/david 有没有自动挂载。自动挂载成功。九、相关命令1、exportfs如果我们在启动了 NFS 之后又修改了/etc/exports,是不是还要重新启动 nfs

18、呢?这个时候我们就可以用 exportfs 命令来使改动立刻生效,该命令格式如下:# exportfs -aruv-a 全部挂载或卸载 /etc/exports 中的内容 -r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab-u 卸载单一目录(和 -a 一起使用为卸载所有/etc/exports 文件中的目录)-v 在 export 的时候,将详细的信息输出到屏幕上。 具体例子: # exportfs -au 卸载所有共享目录# exportfs -rv 重新共享所有目录并输出详细信息2、nfsstat查看 NFS 的运行状

19、态,对于调整 NFS 的运行有很大帮助。3、rpcinfo查看 rpc 执行信息,可以用于检测 rpc 运行情况的工具,利用 rpcinfo -p 可以查看出RPC 开启的端口所提供的程序有哪些。4、showmount-a 显示已经于客户端连接上的目录信息-e IP 或者 hostname 显示此 IP 地址分享出来的目录5、netstat可以查看出 nfs 服务开启的端口,其中 nfs 开启的是 2049,portmap 开启的是 111,其余则是 rpc 开启的。最后注意两点,虽然通过权限设置可以让普通用户访问,但是挂载的时候默认情况下只有root 可以去挂载,普通用户可以执行 sudo。NFS server 关机的时候一点要确保 NFS 服务关闭,没有客户端处于连接状态!通过showmount -a 可以查看,如果有的话用 kill killall pkill 来结束,(-9 强制结束)CentOS 6.3 下 Samba 服务器的安装与配置http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报