NFS服务器设置

一、NFS的相关概念

    NFS(Network File System)即网络文件系统的缩写,由Sun公司研发,其目的是为了解决网络文件共享的问题。用户可以实现像挂载本地文件系统一样挂载NFS服务器的共享目录;其具有配置简单、使用高效的特点,但只能在Linux系统使用,不能跨平台使用。

    NFS服务占用2049端口,但其对于不同的功能使用小于1024的随机端口来传输数据,但如果是随机端口客户端如何知晓要访问哪个端口呢?这就要借助于RPC协议了。

    RPC(Remote Procedure Call)即远程过程调用,其作用是向客户端告知NFS的端口信息;NFS服务启动时会主动向RPC注册所使用的端口,而RPC使用111端口来响应客户端的请求,所以客户端可以借助于RPC来完成NFS的访问。

二、NFS文件访问权限

    NFS服务本身没有身份验证的功能,权限是遵循共享目录在NFS服务器上的权限设置,而且只识别UID和GID。假如现在有一个共享的目录share其属主、属组及权限信息如下:

1.png

    用户和组为mysql,但当客户端访问此目录时,NFS是判定访问者的uid是否为400,如果uid相符,那么访问者就有可能拥有与mysql用户相同的权限,这还要取决于/share设置共享时所分配的权限;如果访问者的uid对应了NFS服务器上的另一个用户,则访问者就对应拥有other权限,但是否能够完全对应用other权限也要取决于\share的共享权限;如果访问者的uid恰好在NFS服务器上不存在,则服务器用自动将其压缩成为匿名用户,其uid为65534,而CentOS将其显示为nfsnobody。

    由于在绝大部分Linux系统中root用户的uid为0,也就是说客户端可以轻易的获得NFS的root权限来访问共享目录,这样是极不安全的,所以NFS默认用将root的身份压缩成匿名用户。

三、NFS服务端的配置

    1、安装NFS服务

2.png

    在安装nfs-utils的同时会安装rpcbind程序。

3.png

    2、配置NFS服务

        NFS服务使用/etc/exports配置文件进行设置,其语法格式如下:

4.png

        /share:表示共享的文件系统;       

        192.168.2.0/24:允许连接共享文件系统的客户端;

        (rw):客户端对于共享文件系统所拥有的权限;

        *.test.com(ro):表示test.com为后缀的主机都可以对/share目录有只读的权限;

    客户端的设置方式:

        (1)IP地址,如192.168.2.10;

        (2)网络地址,如192.168.2.0/24,或192.168.2.0/255.255.255.0;

        (3)主机名,如client.test.com,也可以使用通配符,“*”或“?”。

    常用权限参数:

        rw:可读可写;

        ro:只读;

        root_squash:将root用户压缩成为匿名用户(默认选项);

        no_root_squash:访问共享目录时保持root用户身份;

        all_squash:将所有访问NFS的用户身份全部压缩成为匿名用户;

        sync:将数据同步写入到内存和硬盘中;

        async:将数据暂存于内存中。

        anonuid:指定匿名访问用户的UID;

        anongid:指定匿名访问用户组的GID。

        更多的参数可自行man exports来进行查阅。

四、启动NFS服务

5.png    查看NFS开启的端口信息:

6.png

7.png

        NFS服务本身启动在2049端口,rpcbind启动在111端口。

    可以使用rpcinfo命令来查看rpc的相关信息,其格式如下:

        rpc [option] [IP|hostname]

            option:

                -p:显示所有的port与program信息。

8.png

五、NFS的查看命令

    下面来介绍两个经常用到的查看命令。

    (1)showmount命令

        格式:showmount [option] [IP|hostname]

            option:

                -a:显示当前主机与客户端的NFS连接共享的状态;

                -e:显示某台主机的/etc/exports所共享的目录信息。

9.png

    (2)exportfs命令

        格式:exportfs [option]

            option:

                -a:全部挂载(或卸载)/etc/exports文件中的设置;

                -r:重新挂载/etc/exports中的设置;

                -u:卸载某一目录;

                -v:将命令输出显示到屏幕。

10.png11.png

六、NFS客户端设置

    (1)手动挂载NFS共享目录

11.png

    (2)开机自动挂载NFS共享目录

        1)/etc/fstab

12.png

      _netdev:此选项表示在NFS服务器宕机时,也不会影响本地系统的启动。 

        2)/etc/rc.d/rc.local

13.png

        3)使用autofs

            使用autofs可以实现按需挂载,当用户访问共享目录时,目录才会被自动挂载上,过一段时间没有使用又会被自动卸载。

            安装autofs服务:

15.png

            配置主配置文件/etc/auto.master:

16.png

            定义/etc/auto.nfs文件,此文件中指时挂载信息即可:

17.png

        注意本地的挂载目录/auto/nfs不需要事先建立,autofs会自动建立。

            启动autofs服务:

16.png

            验证:直接切换到/auto/nfs目录中;

17.png

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/5603

(0)
petmasterpetmaster
上一篇 2015-06-25 10:08
下一篇 2015-06-25 10:11

相关推荐

  • 马哥教育网络班22期第5周课程作业

    1、显示当前系统上root、fedora或user1用户的默认shell; cat /etc/passwd | grep ^root | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); …

    Linux干货 2016-12-05
  • DNS服务基础

    DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的 我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名) 常见的顶级域中的…

    Linux干货 2016-11-07
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离…

    Linux干货 2016-09-19
  • 文本处理sed

    文本处理sed Sed介绍:          处理文本的工具sed ,Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,…

    Linux干货 2017-05-04
  • 双主模型的Nginx高可用负载均衡集群

    实验目的:使用keepalived实现Nginx的双主高可用负载均衡集群 实验环境:两台Nginx proxy(双主Nginx,各需要两块网卡,eth0连接内网,eth1连接外网)、两台web server(请求的负载均衡)、一台client用于验证结果。 注意:为了不影响实验结果,在实验开始前先关闭iptables和selinux 操作步骤: 一、配置IP…

    2017-05-13
  • 分享 (History,Ls,感悟 )

    1.History 选项   -c: 清空命令历史   -d offset: 删除历史中指定的第offset个命令    n: 显示最近的n条历史   -a: 追加本次会话新执行的命令历史列表至历史文件   -n: 读历史文件中未读过的行到历史列表   -r: 读历史文件附加到历史列表 &…

    2017-07-15