`

nfs

阅读更多

 创建共享目录

 

        # mkdir /home/share
        # chown nobody.nogroup /home/share

 

 创建或修改/etc/exports 配置文件

这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:

        [共享的目录] [主机名或IP(参数,参数)] 

其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。

 

当主机名或IP地址为空时,则代表共享给任意客户机提供服务。

当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:

        [共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]

下面是一些NFS共享的常用参数:

 

 

        ro                      只读访问 
        rw                      读写访问 
        sync                    所有数据在请求时写入共享 
        async                   NFS在写入数据前可以相应请求 
        secure                  NFS通过1024以下的安全TCP/IP端口发送 
        insecure                NFS通过1024以上的端口发送 
        wdelay                  如果多个用户要写入NFS目录,则归组写入(默认) 
        no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
        hide                    在NFS共享目录中不共享其子目录 
        no_hide                 共享NFS目录的子目录 
        subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
        no_subtree_check        和上面相对,不检查父目录权限 
        all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
        no_all_squash           保留共享文件的UID和GID(默认) 
        root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 
        no_root_squas           root用户具有根目录的完全管理访问权限 
        anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID 
        anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID 

 

配置文件/etc/exports内容如下:

 

        $ cat /etc/exports

        /home/share 192.168.102.15(rw,sync) *(ro)

 

配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。

 重启NFS服务

 

        # /etc/init.d/nfs-kernel-server restart

 

 在客户机上查看NFS的资源共享情况

 

        # showmount -e 192.168.102.47

        Export list for 192.168.102.47:
        /home/share (everyone)

 

使用mount命令即可挂栽共享资源

在客户机 192.168.102.15 上加载共享资源

 

        # mount 192.168.102.47:/home/share /mnt

        # cd /mnt
        
        # echo '12345'> 123

 

即可发现对服务器共享目录可写

        # umount /mnt

 

在客户机 192.168.102.61 上加载共享资源

 

        # mount 192.168.102.47:/home/share /mnt

        # cd /mnt

        # ls
        123

        # touch 321

        touch: cannot touch `321': Permission denied

        # echo '123455' >123

        -bash: 123: Permission denied

 

即可发现对服务器共享目录只有读取权限,

这与我们在服务器端的权限设置是相符的。

是不是我们每次修改了配置文件都需要重启nfs服务呢? 这个时候我们就可以用exportfs命令重新扫描/etc/exports文件,来使改动立刻生效。

比如:

 

        # exportfs -au 卸载所有共享目录

        # exportfs -rv 重新共享所有目录并输出详细信息

 

exportfs 命令有软件包 nfs-kernel-server 提供,详细的 exportfs 命令说明请查看:

 

        man exportfs

 

中文的手册说明可以查看这里:

exportfs联机手册

当完成资源共享, 我们如何知道发布了哪些权限呢?这时我们可以查看 /var/lib/nfs/etab 文件,它是有 exportfs 命令根据 /etc/exports 生成的。

 

        # cat /var/lib/nfs/etab

        /home/share     192.168.102.15(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
        /home/share     *(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)

 

现在我们来查看服务器上有关NFS服务器启动了哪些端口:

 

        tonybox:/home/share# lsof -i|grep rpc
        portmap   1931 daemon    3u  IPv4   4289       UDP *:sunrpc
        portmap   1931 daemon    4u  IPv4   4290       TCP *:sunrpc (LISTEN)
        rpc.statd 3206  statd    3u  IPv4   7081       UDP *:1029
        rpc.statd 3206  statd    6u  IPv4   7072       UDP *:838
        rpc.statd 3206  statd    7u  IPv4   7085       TCP *:1031 (LISTEN)
        rpc.mount 3483   root    6u  IPv4   7934       UDP *:691
        rpc.mount 3483   root    7u  IPv4   7937       TCP *:694 (LISTEN)
分享到:
评论

相关推荐

    nfs离线安装包 及安装说明

    sudo dpkg -i nfs-common_1.2.8-6ubuntu1_amd64.deb sudo dpkg -i nfs-kernel-server_1.2.8-6ubuntu1_amd64.deb 然后打开/etc/exports文件,在末尾加入: /XXXX *(rw,sync,no_root_squash) 其中/XXXX是要共享的目录...

    ubuntu18.04 nfs离线安装包

    适用于ubuntu live server18.04.5版本,食用方法: 1. sudo dpkg -i libnfsidmap2_0.25-5.1_amd64.deb 2. sudo dpkg -i libtirpc1_0.2.5-1.2...6. sudo dpkg -i nfs-kernel-server_1%3a1.3.4-2.1ubuntu5.5_amd64.deb

    nfs服务端nfs-kernel-server,nfs-common安装包

    nfs服务端nfs-kernel-server,nfs-common安装包 以及所需依赖。 NFS服务端的安装(服务器上或者服务主机上安装) NFS的安装只需要安装rpcbind与nfs-kernel-server就可以对外提供服务了。 NFS 服务都是通过 RPC 来...

    镜像 k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2

    k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 被墙无法pull,使用nfs方式提供k8s PVC必须的镜像包。 本人小水管拉下来的,拿走不谢。 使用方法: #解压 tar -xvf k8s.gcr.io_sig-storage_nfs-...

    nfs文件系统介绍

    NFS是Network File System的简写,即网络文件系统,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 在嵌入式Linux系统中有两种应用: 1、...

    showmount命令 显示NFS服务器的加载信息

    showmount命令查询“mount”守护进程,以显示NFS服务器的加载信息。 语法格式: showmount [参数] 常用参数: -d 仅显示已被NFS客户端加载的目录 -e 显示NFS服务器上所有的共享目录 参考实例 获取已经被...

    NFS服务安装与配置方案

    NFS服务安装与配置方案: 介绍了如何安装nfs服务,配置nfs服务器的访问权限,及nfs客户端如何挂载服务器共享目录。 --------------------------------------------------------- nfs服务端root权限安装并启动nfs...

    nfs离线安装包(含所有依赖-已亲测)

    NFS:即网络文件系统(Network File System)分布式文件系统协议。 大致逻辑是这样:将A机器的目录/data/nfs设置为共享目录,机器B通过mount的方式和A机器的共享文件夹进行连接。 2、适用人群: Linux上需要安装nfs...

    nfs1169.rar

    内涵NFS服务端安装程序

    Linux nfs Linux nfs Linux nfs

    Linux nfs Linux nfsLinux nfs

    centos7下nfs的离线安装包含全部依赖(亲测)

    含nfs的全部依赖(rpm)和rpcbind 离线安装顺序: (将下面的离线安装包全部安装完成后即可) rpm -ivh libtirpc-0.2.4-0.16.el7.x86_64.rpm rpm -ivh tcp_wrappers-7.6-77.el7.x86_64.rpm rpm -ivh libbasicobjects-...

    Linux系统NFS服务器的配置方法

    一、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-utils portmap 二、查看NFS服务器是否启动 命令#service nfs starus #...

    linux系统nfs安装包

    linux系统nfs安装包

    LINUX 离线安装NFS

    Centos6.2离线安装NFS Ubuntu14.04离线安装NFS

    centos7 nfs离线安装包

    centos7 nfs离线安装包

    Windows中nfs服务器软件

    在Windows中搭建NFS服务器

    NFS搭建步骤.doc

    NFS搭建步骤.doc

    NFS 离线下载rpm安装包

    NFS 离线下载rpm安装包,亲测好用

    实验七 NFS服务器配置

    实验七 NFS服务器配置 linux 实验七 NFS服务器配置 linux

    NFS4的使用

    NVF4与NFS23的区别.

Global site tag (gtag.js) - Google Analytics