精华内容
下载资源
问答
  • CentOS7.2 通过nfs设置共享文件夹

    千次阅读 2017-05-23 18:56:29
    CentOS7.2 通过nfs设置共享文件夹
        NFS简介
        NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
        NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。
        NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:
    

    这里写图片描述

        类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C。但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的那个目录。
    

    这里写图片描述

        在A机上安装 NFS 服务器所需的软件包:   
        yum install -y nfs-utils    
        安装的过程中,会自动安装rpcbind。
        编辑exports文件,添加客户端主机:
    
    vi /etc/exports    
    /home/nfs 192.168.222.201(rw,sync,fsid=0)  192.168.222.202(rw,sync,fsid=0)  192.168.12.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)  
        配置说明:
        这一行分为三个部分:
        第一部分:/home/nfs ,这个是本地要共享出去的目录。
        第二部分:允许访问的主机,可以是一个IP:192.168.222.201,也可以是一个IP段:192.168.12.0/24
        第三部分:括号中部分
        rw表示可读写,ro只读;sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;no_root_squash :客户机用root访问该共享文件夹时,不映射root用户,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。fsid=0表示将/home/nfs整个目录包装成根目录,insecure 允许从这台机器过来的非授权访问
        启动A机上nfs服务 
        先为rpcbind和nfs做开机启动:
    
    systemctl enable rpcbind.service    
    systemctl enable nfs-server.service   
        然后分别启动rpcbind和nfs服务:
    
    systemctl start rpcbind.service    
    systemctl start nfs-server.service    
        确认NFS服务器启动成功:   
    
    rpcinfo -p
    
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  30385  status
        100024    1   tcp  13017  status
        100005    1   udp  20048  mountd
        100005    1   tcp  20048  mountd
        100005    2   udp  20048  mountd
        100005    2   tcp  20048  mountd
        100005    3   udp  20048  mountd
        100005    3   tcp  20048  mountd
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    3   tcp   2049  nfs_acl
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    3   udp   2049  nfs_acl
        100021    1   udp  36204  nlockmgr
        100021    3   udp  36204  nlockmgr
        100021    4   udp  36204  nlockmgr
        100021    1   tcp  31613  nlockmgr
        100021    3   tcp  31613  nlockmgr
        100021    4   tcp  31613  nlockmgr
        通过查看service列中是否有nfs服务来确认NFS是否启动。可在A、B、C上通过showmount -e 192.168.222.200查看nfs共享信息。  
        在B,C机上配置clinet端
        安装nfs,并启动服务。
    
            yum install -y nfs-utils
            systemctl enable rpcbind.service
            systemctl start rpcbind.service
        客户端不需要启动nfs服务,只需要启动rpcbind服务.检查 NFS 服务器端是否有目录共享showmount -e 192.168.222.200 
        使用 mount 挂载A服务器端的目录/home/nfs到客户端B的目录/opt/nfs/tt下
        在客户端B上新建一个目录/opt/nfs/tt来挂载A的/home/nfs,mount -t nfs 192.168.222.200:/home/nfs/ /opt/nfs/tt/
        不要在/opt/nfs/tt/这个目录下执行挂载命令,有可能就挂不上去。也可以在挂载的时候加些参数, mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.222.200:/home/nfs/ /opt/nfs/tt/
        带安全性挂载:
    
    mount -t nfs -o nosuid,noexec,nodev,rw 192.168.222.200:/home/nfs/ /opt/nfs/tt/ 
        特殊挂载方式,应对网络不稳定情况 
    
     mount -t nfs -o nosuid,noexec,nodev,rw -o bg,soft,rsize=32768,wsize=32768 192.168.222.200:/home/nfs/ /opt/nfs/tt/   
        开机自动挂载 
    
    vi /etc/rc.d/rc.local                                                             mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 192.168.222.200:/home/nfs/ /opt/nfs/tt/
        挂载完毕后就可以通过/opt/nfs/tt/访问A的/home/nfs内容了。
        可以通过umount /opt/nfs/tt/来取消挂载的目录。
        在服务器端A再建立一个共享目录,并且可以允许A、B、C写入共享目录,通过id root获取root用户ID号。
        uid=0(root) gid=0(root) 组=0(root)
        在A服务器上再建立一个共享目录
        mkdir /home/nfs1
        # vi /etc/exports   
        /home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)  
        /home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)
        加入第二行,anonuid=0,anongid=0即为root用户id。
        让修改过的配置文件生效exportfs –arv。
        使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可。
    
            它的常用选项为[-aruv].     
            -a :全部挂载或者卸载;      
            -r :重新挂载;      
            -u :卸载某一个目录;      
            -v :显示共享的目录;
        exportfs -a 会增加修改后的,比如原先是这样的,/oadata/upload      192.168.8.167,192.168.8.166修改成/oadata/upload/html      192.168.8.167,192.168.8.166。使用exportfs -a后,会变成这样:
        /oadata/upload      192.168.8.167,192.168.8.166
        /oadata/upload/html 192.168.8.167,192.168.8.166
        使用exportfs -r 会重新加载配置文件。
        查看新的可挂载目录及可连接的IP
        showmount -e 192.168.222.200 
    
        在B、C clinet端新挂载一个目录
    
    showmount -e 192.168.222.200  #查看新的挂载共享目录是否有了。
            mkdir nfs1   
            mount -t nfs 192.168.222.200:/home/nfs1/ /home/nfs1/    
            ll / >/home/nfs1/ll.txt   #测试向新的共享目录中可以写入文件了。
        想在客户机B、C上实现开机挂载,则需要编辑/etc/fstab:
        vi /etc/fstab
        加入以下内容:
    
    192.168.222.200:/home/nfs                  /home/nfs    nfs    nolock   0 0   
    192.168.222.200:/home/nfs1               /home/nfs1  nfs    nolock   0 0
        保存后,重新挂载 mount -a。
    
    
        exportfs 命令
        用途
        导出和不导出目录到 NFS 客户机。
        语法
        /usr/sbin/exportfs [ -a ] [ -v ] [ -u ] [ -i ] [ -fFile ] [ -F ] [ -oOption [ ,Option ... ] ] [ -V Exported Version] [ Directory ]
        描述
        exportfs 命令使得本地目录可以为网络文件系统 (NFS) 客户机安装。此命令通常是在系统启动期间由 /etc/rc.nfs 文件调用的,并使用了 /etc/exports 文件中的信息来导出一个或者多个目录,这些目录必须用完整的路径名来指定。
        /etc/xtab 文件列示了当前导出的目录。要想显示此文件,请输入不带标志和参数的 exportfs 命令。要想更改文件或者更改它的一个目录中的特征的话,root 用户可以编辑 /etc/exports 文件并运行 exportfs 命令。这种更改可以在任何时间完成。永远都不要直接去编辑 /etc/xtab 文件。
        注意:
        1、您不能导出位于同一文件系统内的当前导出目录的父目录或子目录。
        2、NFS V2 和 V3 允许既导出目录又导出文件。NFS V4 访问只能导出目录。
        3、如果带有不同版本 2(或 3)和 4 的同一目录下的两个条目存在于 /etc/exports 文件中,那么 exportfs 命令将同时导出两个条目。
        4、如果某个目录的 NFS 版本 2(或 3)和 4 的选项相同,那么 /etc/exports 文件中可能有一个条目指定了 -vers=3:4。
    
    
    
        -a  导出所有的列在导出文件中的目录。
    
        -v  按照是导出还是不导出,打印每个目录的名称。
    
        -u  不导出您指定的目录。当结合 -a 标志使用时,取消导出所有导出的目录。当同时结合 -a 和 -f 标志使用时,撤销导出指定导出文件中的所有目录。
    
        -i  允许没有在导出文件中指定的目录的导出,或者忽略在导出文件中的选项。除非用到 -f 标志来指定一个可更替的文件,exportfs 命令通常将向 /etc/exports 文件查询来获得与要导出的目录的相关选项。
    
        -f File 指定一个导出文件,而不是 /etc/exports 文件,该文件包含了一个您可以导出的目录的列表。此文件应该遵守 /etc/exports 文件相同的格式。注:此可更替的文件将不会在系统和 NFS 启动的时候用来自动导出目录。/etc/exports 文件是支持在系统启动时指定导出目录的唯一的文件。
    
        -F  指定应该执行强制的取消导出。请仅与 -u 标志结合使用该标志。在取消导出 V2/V3 导出时,该标志不起作用。V4 取消导出可能由于关联的状态而失败。该标志强制释放与 V4 导出相关联的任何状态。
    
        -oOptions   为要导出的目录指定可选的特征。您可以输入多个变量,中间用逗号隔开。对于采用了 Client 参数的选项,Client 可以指定主机名、点分式 IP 地址、网络名或子网标识。子网标识具有 "@host/mask" 格式,其中 host 是 主机名或点分式 IP 地址,mask 指定了 当检查访问时使用的位数。如果不指定 mask,那么使用完整的掩码。例如,标识 @client.group.company.com/16 将匹配 company.com 子网上所有的客户机。@client.group.company.com/24 的标识将 仅匹配 group.company.com 子网上的客户机。从下面选项中选择:
        ro 用只读许可方式导出目录。如果不指定,那么目录以读写许可权导出。
        ro=Client[:Client]
        将目录以只读许可权导出至指定的客户机。将目录以只读许可权导出至未在列表中指定的客户机。如果已经指定了一个读写列表的话,那么无法指定一个只读列表。
        rw
        将目录以读写许可权导出至所有客户机。
        rw=Client [:Client]
        将目录以读写许可权导出至指定的客户机。将目录以只读方式导出至不在列表中的客户机。如果已经指定了一个只读列表,那么无法指定一个读写列表。
        anon =UID
        如果请求来自于 root 用户的话,用 UID 值作为有效的用户 ID。
        该选项的缺省值为 -2。在 NFS V2 和 NFS V3 中,将 anon 选项的值设置为 -1 将禁用匿名访问。这样,在缺省情况下,安全 NFS 作为匿名接受非安全的要求,并且要求更多安全性的用户可以禁止此功能,通过将 anon 设置成值为 -1。
        root=Client[:Client]
        允许从列表中的指定客户机进行根访问。将主机放到根列表中不会覆盖其他选项的语义。例如,该选项拒绝来自根列表中主机的安装访问,而不是拒绝访问列表中主机的访问。
        access=Client[:Client,...]
        给每个列示的客户机提供安装访问。客户机可以是主机名也可以是网络组名。列表中的每个客户机首先要在 /etc/netgroup 数据库进行检查,然后在 /etc/hosts 数据库中检查。缺省值允许任何机器安装给定的目录。
        secure
        在访问目录时要求客户机使用更安全的协议。
        -o Options (continued)  
        sec=flavor[:flavor...]
        该选项用于指定一系列可能用于访问导出目录下的文件的安全方法。大部分 exportfs 选项可以使用 sec 选项进行分群。sec 选项之后的选项被认为从属于其前面的 sec 选项。可能指定任何数量的 sec 节,但每个安全方法只能指定一次。在每个 sec 节内,可以指定一次 ro、rw、root 和 access 选项。只有 public、anon 和 vers 选项对于导出是全局性的。如果使用 sec 选项来指定任何安全方法,那么必须使用它来指定所有安全方法。如有任何 sec 选项不存在,那么允许所有认证风格。
        允许的风格值为:
        sys
        UNIX 认证。这是缺省方法。
        dh
        DES 认证。
        none
        如果安装请求使用导出中未指定的认证风格,那么允许安装请求继续匿名凭证。
        krb5
        Kerberos。仅认证。
        krb5i
        Kerberos。认证和整合。
        krb5p
        Kerberos。认证、整合和隐私。
        可能指定 secure 选项,但是没有结合 sec 选项。不推荐使用 secure 选项,并且可能消除它。使用 sec=dh 代替它。
        vers=version_number[:version_number...]
        指定允许哪些版本的NFS访问导出的目录。有效版本为2、3 和4。无法单独选择V2和V3。指定V2或V3将使NFS V2和NFS V3都能够访问。可以单独选择 V4。缺省值为允许使用NFS协议V2和V3进行访问。
        exname=external-name
        用指定外部名导出目录。外部名必须以 nfsroot 名称开始。请参阅 /etc/exports 文件的描述以获取对 nfsroot 名称的描述。该选项仅用于导出以供 NFS V4 协议访问的目录。
        deleg={yes | no}
        对指定导出启用或禁用文件授权。此选项覆盖此导出的系统范围授权支持。系统范围支持是通过 nfso 实现的。
    
    
        -o Options (continued)  
        refer=rootpath@host[+host][:rootpath@host[+host]]
        将在指定的路径中创建一个名称空间参照。该参照将指引客户机到指定的备用位置,客户机可以继续在其中进行操作。参照是一种特殊的对象。如果在指定的路径中存在非参照对象,将禁止导出并打印一条错误消息。如果在指定的路径中不存在任何内容,那么将在该路径中创建一个包含通向该对象的路径名目录的参照对象。可以在文件系统中创建多个参照。不能为 nfsroot 指定参照。名称 localhost 不能被用作 hostname。仅允许 V4 的导出使用 refer 选项。如果导出规范允许 V2 或 V3 访问,将打印一条错误消息并禁止导出。不导出参照对象会影响从参照对象除去参照位置信息。不导出不会除去对象本身。如果要除去对象,请使用 rm。管理员必须确保在参照服务器上提供相应的数据。此选项仅在 带有 5300-03 推荐维护包的 AIX 5L™ V5.3 或后续版本中可用。
        注:
        只有在服务器上启用复制时才能进行参照导出。使用 chnfs -R on 启用复制。
    
    
        -o Options (continued)  
        replicas=rootpath@host[+host][:rootpath@host[+host]]
        副本位置信息将与导出路径关联。如果当前服务器变为不可用,NFS V4 客户机可以使用副本信息将操作重定向至指定的另一个位置。管理员应该确保在副本服务器上提供相应的数据。因为副本信息适用于整个文件系统,所以指定的路径必须是文件系统的根目录。如果路径不是文件系统的根目录,将禁止导出并打印一条错误消息。名称 localhost 不能被用作 hostname。此 replicas 选项只对 V4 的导出有意义。如果在允许 V2 或 V3 的导出上使用该选项,该选项是允许的,但 V2 或 V3 服务器将忽略副本信息。如果导出的目录不是副本列表中,条目 exported directory@current host 将被作为第一个副本位置添加。此选项仅在 带有 5300-03 的 AIX® 5.3 或后续版本中可用。只有在服务器上启用复制时才能进行副本导出。在缺省情况下,复制未启用。如果将在系统引导时进行副本导出,应该通过使用 chnfs -R on 命令启用复制。还可以为 nfsroot 指定副本位置。只能使用 chnfs -R host[+host] 完成此操作。如果在列表中未指定当前主机,它将被作为第一个副本主机添加。在这种情况下不需要或不允许 rootpath,这是因为 nfsroot 只被复制到指定主机的 nfsroots。可以使用 chnfs 程序启用或禁用复制。只有在没有 NFS V4 导出活动时才能更改复制方式。如果更改了服务器复制方式,那么服务器将不执行在处于先前的复制方式期间服务器发出的文件句柄。这可能导致在保留旧的文件句柄的客户机上发生应用程序错误。更改服务器复制方式时请小心。如果可能,所有挂装到服务器的客户机都应该在更改服务器复制方式之前卸装。可以通过修改副本列表并重新导出目录,更改与该目录关联的副本位置信息。新的副本信息将替换旧的副本信息。预期 NFS 客户机将在常规基础上刷新副本信息。如果服务器更改用于导出的副本信息,可能需要时间来引起客户机的注意。如果添加了新的副本位置,那么这就不成问题,这是因为保留旧信息的客户机仍然拥有正确的(如果不完全)副本信息。除去副本信息可能会有问题,这是因为它可能导致客户机在一段时间内保留不正确的副本信息。要辅助客户机检测新的信息,exportfs 将试图接触被复制的目录。这将更改目录上的时间戳记,反过来将导致客户机重新获取该目录的属性。然而,如果被复制的文件系统是只读的,那么此操作也许就不可能了。当更改某个目录的副本信息时,要明白可能在更改信息到客户机注意到新的信息之间有一段等待时间。
    
    
        -o Options (continued)  
        noauto
        “按现状”接受副本规范。如果尚未指定主要主机名,那么不要自动将其作为一个副本位置插入。
        scatter
        定义如何从 refer 或 replicas 选项上指定的服务器中生成备选位置列表。如果未使用 noauto 选项,备选位置列表还将包含某个副本位置的主要主机名。scatter 选项仅应用于供 NFS V4 协议访问的导出目录。scatter 选项有三个有效值:
        full
        分散所有服务器来组成备选位置组合。
        partial
        所有组合的第一个位置固定为在 refer 或 replicas 选项上指定的第一个服务器。其余位置和第一个位置将散射(与使用 scatter=full 方法进行散射类似)。
        none
        不使用散射。如果之前已经启用,那么此值也可用于禁用散射。
        无论何时客户机属性发生更改,所有包含该客户机作为参数的导出条目应该再次导出。可以更改客户机属性的事件包括修改网组或更改客户机的 IP 地址。更改失败会导致服务器使用原有的客户机信息。
    
        -V Exported Version 指定版本号。有效版本号有:2、3 和 4。
    
    
        Solaris 兼容性
        exportfs 命令可能被调用为 share、shareall、unshare 或 unshareall。当 exportfs 命令作为 share 或 shareall 调用时,功能分别等同于 exportfs 和 exportfs -a,除非必须使用 sec 选项指定安全方法。当 exportfs 命令作为 unshare 或 unshareall 调用时,功能分别等同于 exportfs -u 和 exportfs -u -a。
    
    
        安全性
        RBAC 用户和可信 AIX 用户注意:
        此命令可以执行特权操作。只有特权用户才能运行特权操作。有关权限与特权的更多信息,请参阅安全性中的『特权命令数据库』。要获取与此命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。
    
    示例
    要导出 /etc/exports 文件中的全部目录,请输入:
    exportfs -a 
    要从 /etc/exports 文件导出一个目录,请输入:
    exportfs /home/notes
    在此示例中,/home/notes 目录被导出。
    注:
    要让此命令工作,必须在 /etc/exports 文件中指定 /home/notes 目录。
    要取消导出目录,请输入:
    exportfs -u /home/notes
    在此示例中,/home/notes 目录不导出。
    要显示当前正在导出的目录,请输入:
    exportfs -v
    要导出不是在 /etc/exports 文件中指定的目录,请输入:
    exportfs -i /home/zeus
    在此示例中,/home/zeus 目录没有任何限制地被导出。
    要导出一个目录并为网组成员提供访问该目录的许可权,请输入:
    exportfs access=cowboys:oilers /home/notes -o 
    在此示例中,/home/notes 目录被导出,并且允许 cowboys 和 oilers 主机的用户有权访问。
    要从 /etc/exports 文件导出带不同选项的目录,请输入:
    exportfs -i -o root=zorro:silver /directory
    在此示例中,/directory 目录被导出,并且 root 用户访问 zorro 和 silver 主机,而不管 /etc/exports 文件中指定的访问权限是什么。
    使用 Kerberos 认证将带有写权限的 /common/docs 目录导出到客户机;使用 UNIX 将只读权限导出到客户端;将以下文本添加到 /etc/exports 文件:
    /common/docs -sec=krb5,rw,sec=sys,ro
    然后输入 exportfs /common/docs 执行导出。
    要在 /usr/info 上创建一个参照到主机 infoserver 上的 /usr/info 目录,将下行添加到 /etc/exports,然后导出 /usr/info:
    /usr/info -vers=4,refer=/usr/info@infoserver
    要为主机 backup1 和 backup2 上的 /common/info 目录指定副本,请将下行添加到 /etc/exports,然后导出 /common/info:
    /common/info -vers=4,replicas=/common/info@backup1:/common/info@backup2,<other options>
    要使用版本 3 和版本 4 导出 /common/docs 目录,请输入以下命令:
    exportfs -V 3:4 /common/docs
    要导出 /etc/exports 文件中的所有版本 4 的条目,请输入以下命令:
    exportfs -a -V 4
    要仅取消导出版本 3 的 /common/docs 目录,请输入以下命令:
    exportfs -u -V 3 /common/docs
    要取取消导出 /etc/xtab 文件中的所有版本 3 的条目,请输入以下命令:
    exportfs -ua -V 3
    要指定主机 s1、s2 和 s3 上 /common/docs 目录的参考项并将它们全部散射,请将下面一行添加至 /etc/exports 文件,然后导出 /common/docs 目录:
    /common/docs -vers=4,refer=/common/docs@s1:/common/docs@s2:/common/docs@s3,scatter=full
    要指定主机 s1、s2、s3 和 s4 的 /common/docs 目录的副本并将它们部分散射(所有组合的第一故障转移服务器是 s1),请将下面一行添加至 /etc/exports 文件,然后导出 /common/docs 目录:
    /common/docs -vers=4,noauto,replicas=/common/docs@s1:/common/docs@s2:/common/docs@s3:/common/docs@s4,scatter=partial

    参考:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds2/exportfs.htm

    展开全文
  • NFS 挂载共享文件夹

    千次阅读 2011-12-27 15:13:53
    其中 * :表示任何 IP 都能访问共享文件夹  /home/lzgonline/rootfs 。 保存退出 然后重启nfs服务:service nfs restart 然后问题就解决了 linux下使用mount挂...
    
    

    LINUX mount 用法

    挂接命令(mount) 

      首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

      命令格式: 

      mount [-t vfstype] [-o options] device dir 

      其中: 

      1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 

      光盘或光盘镜像:iso9660 

      DOS fat16文件系统:msdos 

      Windows 9x fat32文件系统:vfat 

      Windows NT ntfs文件系统:ntfs 

      Mount Windows文件网络共享:smbfs 

      UNIX(LINUX) 文件网络共享:nfs 

      2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有: 

      loop:用来把一个文件当成硬盘分区挂接上系统 

      ro:采用只读方式挂接设备 

      rw:采用读写方式挂接设备 

      iocharset:指定访问文件系统所用字符集 

      3.device 要挂接(mount)的设备。 

      4.dir  设备在系统上的挂接点(mount point)。


    更加详细具体的用法,可以参看man mount

    作者:Leo Chin




    ubuntu测试本机nfs出错:mount.nfs:access denied by server while mountin...

    相信出现这种错误的应该有一些人吧,没关系,一就帮你搞定。

    首先运行
    sudo vim /etc/exports 
                  在其文本后添加
       /home/work 192.168.1.*(rw,sync,no_root_squash)
                 然后保存退出。
                 /home/work就表示共享目录,当然,你可以随便换成自己喜欢的目录,192.168.1.*,前面三位是你主机的ip地址(怎么获得本机的ip地址?ifconfig命令就可以了)
                rw:读/写权限,只读权限的参数为ro;   
           sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。 no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
    下面蓝色的文字,可略过去!
    起用保护机制
    上面设置了只要在192.168.1.*这个网段的所有IP地址用户都可以访问共享目录,但我只想让一个IP地址访问,比如192.168.1.101(把刚才192.168.1.*直接换成192.168.1.101不行么?应该可以吧,没试过),那么就可以这样设置了。
    可以通过设定/etc/hosts.deny和/etc/hosts.allow文件来限制网络服务的存取权限。
    ***/etc/hosts.deny***
    portmap:ALL
    lockd:ALL
    mountd:ALL
    rquotad:ALL
    statd:ALL
    ***/etc/hosts.allow***
    portmap:192.168.1.101
    lockd:192.168.1.101
    mountd:192.168.1.101
    rquotad:192.168.1.101
    statd:192.168.1.101
    同时使用这两个文件就会使得只有ip为192.168.1.101的机器使用NFS服务。你的target board的ip地址设定为192.168.1.101,这样就可以了。
    蓝色文字可略过。

    接着执行如下命令:
                  启动端口映射: #sudo /etc/rc.d/init.d/portmap start(如果说找不到,就执行 #sudo /etc/init.d/portmap start) 如果这一步不成功,最后也连接不上了。
                启动NFS 服务: #sudo /etc/rc.d/init.d/nfs start(又找不到,执行 #sudo /etc/init.d/nfs start或#sudo /etc/init.d/nfs-kernel-server start 
                这两项执行成功 的话,就会显示[ok]
    最后执行:#sudo mount –t nfs 192.168.1.101:/home/work /mnt 
             这里面的192.168.1.101是你自己主机的ip地址,也可以用127.0.0.1来代替自己的主机ip地址,同样可以连接上。/home/work就是刚才在etc/exports里添加的路径。
                     如果在这一步又出错了,呵呵,重新#sudo vim /etc/exports,将“ 192.168.1.* ”换成“*”,就这一个星星哦!
    执行:# ls /mnt
    恭喜你,mnt下是不是有了/home/work里的内容了。

    如果上面操作做好了,还是不行,我觉得你应该重启一下机子试一下了!

    更详细请点击:linux.chinaunix.net/bbs/thread-985579-1-1.html




    mount.nfs: access denied by server while mounting 一个解决办法  

    2011-06-30 17:22:06|  分类: 技术探讨 |  标签:linux  常见问题  服务器  |字号 订阅

    这两天在搭建嵌入式开发环境,配置好NFS服务器后,遇到了一个很纠结的错误
    使用 mount -t nfs 127.0.0.1:/home/lzgonline/rootfs /mnt 和 mount -t nfs 192.168.1.9:/home/lzgonline/rootfs /mnt 本机挂载nfs则没有问题,然而使用 mount -t nfs 192.168.3.12:/home/lzgonline/rootfs /mnt 时却出现了问题,导致开发板无法通过nfs挂载启动,其中192.128.3.12 和 192.128.1.9(即nfs服务器)之间建立了映射(DMZ)关系。
    mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs
    百度、谷歌了很久,大部分都说是权限设置有问题,其实文件夹权限都设为777了,权限上都没问题,hosts.deny和hosts.allow都保留默认设置,防火墙也关了,该设置的都设置了,但还是被拒绝,很是郁闷,就在一筹莫展的时候,通过查看一些linux技术论坛后逐渐找到了问题所在。
    首先使用命令查看出错日志文件
    [root@lzgonline init.d]# cat /var/log/messages | grep mount
    Jun 29 00:49:04 lzgonline mountd[1644]: refused mount request from 192.168.3.12 for /home/lzgonline/rootfs (/home/lzgonline/rootfs): illegal port 1689
    Jun 29 00:51:02 lzgonline mountd[1644]: refused mount request from 192.168.3.12 for /home/lzgonline/rootfs (/home/lzgonline/rootfs): illegal port 1710
    Jun 29 01:02:17 lzgonline mountd[1644]: refused mount request from 192.168.3.12 for /home/lzgonline/rootfs (/home/lzgonline/rootfs): illegal port 1916
    Jun 29 01:09:51 lzgonline mountd[1644]: refused mount request from 192.168.3.12 for /home/lzgonline/rootfs (/home/lzgonline/rootfs): illegal port 2157
    Jun 29 01:17:02 lzgonline mountd[1644]: refused mount request from 192.168.3.12 for /home/lzgonline/rootfs (/home/lzgonline/rootfs): illegal port 2318
     
    从出错日志可以看出,mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs 被拒绝的原因是因为使用了非法端口,功夫总没白费,终于在一个linux技术论坛上找到了答案:

    I googled and found that since the port is over 1024 I needed to add the "insecure" option to the relevant line in /etc/exports on the server. Once I did that (and ran exportfs -r), the mount -a on the client worked.

    //如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports)相关选项中mount客户端才能正常工作:

    查看 exports 手册中关于 secure 选项说明也发现确实如此

    [root@lzgonline init.d]# man exports

    secure,This  option requires that requests originate on an Internet port less than IPPORT_RESERVED (1024). This option is on by default. To turn it off, specify insecure.

    //secure 选项要求mount客户端请求源端口小于1024(然而在使用 NAT 网络地址转换时端口一般总是大于1024的),默认情况下是开启这个选项的,如果要禁止这个选项,则使用 insecure 标识

    修改配置文件/etc/exports,加入 insecure 选项


    /home/lzgonline/rootfs  *(insecure,rw,async,no_root_squash)


    其中 * :表示任何 IP 都能访问共享文件夹 /home/lzgonline/rootfs 。

    保存退出

    然后重启nfs服务:service nfs restart

    然后问题就解决了



    linux下使用mount挂着网络磁盘
    2009-03-10 18:26:10
    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://feixiang123.blog.51cto.com/285543/137406
    在linux下挂载windows系统的网络共享磁盘:
    mount -t smbfs -o username=longyufei,password=123456 //192.168.0.80/E$ /mnt/samba
     
    删除挂载点!
    umount /mnt/samba/
     
    在linux下挂载linux的Smaba服务磁盘:
    mount -t smbfs -o username=lyf,password=123456 //192.168.0.80/lyf /www/t_disk
     
    删除挂载点!
    umount /mnt/t_disk/
     
    挂载linux系统的NFS网络共享磁盘
    mount -t nfs -o rw 192.168.0.80:/home/lyf /mnt/nfs 
     
    windows环境下访问linux下的NFS共享目录,不怎么方便!建议使用Smaba服务器!.
    就可以是\\方式访问了。

    本文出自 “feixiang” 博客,请务必保留此出处http://feixiang123.blog.51cto.com/285543/137406

    展开全文
  • 搭建NFS共享文件夹

    千次阅读 2016-01-14 09:40:13
    因为开发调试的需要,要在两台机器共享资源,最后选择NFS共享文件夹。 实际的两台机器都是ubuntu14.04系统。 服务端(共享端)操作: 第一步:安装NFS服务器 sudo apt-get install nfs-kernel-server 第二步:...

    因为开发调试的需要,要在两台机器共享资源,最后选择NFS做共享文件夹。
    实际的两台机器都是ubuntu14.04系统。

    服务端(共享端)配置:

    第一步:安装NFS服务器

    sudo apt-get install nfs-kernel-server

    第二步:配置NFS服务

    以共享/home/damon/nfs目录为例,首先修改该文件夹权限

    sudo chmod 777 /home/damon/nfs -R

    编辑文件/etc/exports,在文件最后添加 /home/damon/nfs *(rw,sync,no_root_squash,no_subtree_check)
    然后运行exportfs让配置文件生效。

    sudo exportfs -rv
    注:
    /home/damon/nfs 与nfs服务客户端共享的目录,
    *:允许所有的网段访问,也可以使用具体的IP
    rw:此目录的客户端对该共享目录具有读写权限
    sync:资料同步读写
    no_root_squash:root用户具有对根目录的完全管理访问权限。
    no_subtree_check:不检查父目录的权限。

    第三步:重启NFS服务

    sudo /etc/init.d/rpcbind restart <---重启portmap
    sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务
    showmount -e <---检查共享文件夹


    客户端配置

    第一步:安装NFS客户端

    sudo apt-get install nfs-common

    第二步:挂载NFS文件夹

    服务端IP假设为:192.168.2.30

    sudo mkdir /mnt/nfs   <---创建挂载目录
    showmount -e 192.168.2.30    <------查看服务端NFS服务信息
    sudo mount -t nfs 192.168.2.30:/home/damon/nfs /mnt/nfs/  <------将NFS服务端目录挂在到本地
    然后就可以本地访问NFS共享文件夹了。


    参考:

    http://blog.csdn.net/u010346967/article/details/46384641
    http://www.examw.com/linux/all/202900/

    展开全文
  • linux用nfs共享文件夹

    2016-11-21 17:43:13
    NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,要使用vim手动建立,然后在文件里面写入配置内容。 /etc/exports文件内容格式: [客户端1 选项(访问权限,用户映射,其他...

    1、服务端配置参数
    NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,要使用vim手动建立,然后在文件里面写入配置内容。

    /etc/exports文件内容格式:

    <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

    示例:

    /server/imageserver 192.168.1.*(rw,sync,no_root_squash,anonuid=99,anongid=99)

    含义是:只允许192.168.1网段的IP的客户机挂载,共享目录为/server/imageserver

    2、安装软件

       # yum install portmap
       # yum install nfs-utils

    3、启动NFS服务端
    为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。

        # service portmap start
        # service nfs start

    4、挂载实例
    现有客户机一台,NFS服务器一台(192.168.1.2),需要将客户机文件夹/var/share挂载到服务机/server/imageserver,挂载方法为:在客户机终端,输入命令

        # mount 192.168.1.2:/server/imageserver /var/share

    挂载成功。

    5、卸载实例

        # umount /var/share
    展开全文
  • Linux下通过NFS共享文件夹

    千次阅读 2017-09-14 11:52:19
    测试环境:Centos 6.8 服务端: 1.# yum -y install nfs-utils rpcbind  ...2.设置 NFS共享的目录 [root@myoracle ~]# vi /etc/exports /ftp *(rw,no_root_squash 说明: /ftp 为共享的目录位置; *(rw,n
  • 一. 搭建环境(离线部署) 服务器A:10.10.10.130 主节点 服务器B: 10.10.10.129 客户端挂载节点 ...(2) 进入解压后的temp文件夹,安装离线包: rpm -ivh *.rpm --force –nodeps (3) 启动nfs服务及设置开机启动:
  • 前言 之前拷贝可执行程序、配置文件等等...故,可通过搭建nfs服务来实现文件共享,方便快捷! NFS 简要说明 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间...
  • Ubuntu 18.04和windows建立共享文件夹

    千次阅读 2018-09-22 20:16:52
    1、安装samba sudo apt install samba ...mkdir /home/yourname/share (yourname是home下一个文件夹,自己新建) sudo chmod 777 mkdir /home/yourname/share 3、创建samba配置文件并拷贝副本 sudo cp /etc/...
  • 建立共享文件夹 sudo mkdir -p /var/nfs/general 另外一个共享文件夹直接使用 /home,无需再建立 2).设置共享目录权限 ** /var/nfs/general: 不属于任何人、任何组!谁都可以读写! sudo chown nobody:nogroup /...
  • 在linux建立共享文件夹

    千次阅读 2011-03-03 20:35:00
    我们今天要实现的环境是,假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;     三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,...
  • 首先说明家庭版的windows没有自带NFS服务模块,也就是买电脑送你的那套正版系统。 不是家庭版的朋友可以继续往下看。(亲测win10企业版和win7旗舰版都自带NFS功能,按照下面的步骤开启就可以了。) 首先在window...
  • 轻松恢复误删除的共享文件,DPM2007系列之六下面我们通过一个实例为大家介绍如何用DPM恢复XP客户机上的数据,如图1所示,XP1客户机上有一个Doc共享文件夹,存储了一些文件,我们的任务就是用DPM对这个共享文件夹进行...
  • linux 网络文件系统(NFS)配置,共享文件夹 一、NFS服务器的安装(服务端ip 192.168.0.105) 检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-...
  • 一、环境信息 服务器1:192.168.120....将服务器1的/opt文件夹共享到服务器2的/opt文件夹。 要求两个服务器都安装有NFS服务。 rpm -qa|grep nfs 二、服务器1设置 1、修改exports文件 vi /etc/exports 一...
  • 例子: 服务器 [root@web1 share]# mkdir /share  [root@web1 /]# chmod 777 /share/  [root@web1 share]# cat /etc/exports /share 172.16.0.0/16(rw,sync) ... [root@web1 share]# ...关闭 NFS 守护进程:
  • 一、环境信息服务器1:192.168.120.141 文件夹:/opt服务器2:192.168.120.142 文件夹:/opt将服务器1的/opt文件夹共享到服务器2的/opt文件夹。要求两个服务器都安装有NFS服务。执行命令查看是否安装:rpm -qa|grep ...
  • NFS实现共享

    2021-06-04 08:51:20
    1 在10.0.0.38建立共享文件夹: mkdir /data/nfsdir{1,2} 在文件夹建立共享的文件: [root@Centos8 ~]#touch /data/nfsdir1/a.txt [root@Centos8 ~]#touch /data/nfsdir2/b.txt 将共享规则放在配置文件...
  • 建立nfs共享

    2016-01-08 20:29:16
    NFS:Network FIle ... NFS是一种RPC:远程过程调用,Remote Procedure Call Procotol,nfs-utils RPC是一个公共共享的功能(rpcbind),进程名portmapper,rpcinfo可查询 系统调用有read(),write(),open(),close() ...
  • 本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 此服务器必须是 STAFF 工作组的一个成员 发布目录 /common,共享名为 common 发布目录 /devops,共享名为 devops 这两个共享必须是可浏览的,只有 ...
  • NFS文件共享

    2019-03-28 23:17:21
    搭建NFS文件共享 NFS即网络文件系统,是有Sum公司开发的一种通过网络方式共享文件系统的通用...2 建立nfs共享配置、 vim /etc/exports /public 172.25.0.0/24(ro) /protected 172.25.0.0/24(rw) 3 启动系统服务 ...
  • 本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 此服务器必须是 STAFF 工作组的一个成员 发布目录 /common,共享名为 common 发布目录 /devops,共享名为 devops 这两个共享必须是可浏览的,...
  • NFS 文件共享

    2017-12-22 08:54:26
    文件共享 主机服务器 主服务器 IP 103.2.3.111 : 1、安装nfs 和 rpcbind 安装nfs-utils ,rpcbind: yum -y install nfs-utils ,rpcbind 查看是否安装: rpm -qa |grep nfs rpm -qa |grep rpcbind
  • nfs 普通共享

    2019-03-28 20:46:17
    准备需要共享文件夹 [root@server0 ~]# mkdir /public [root@server0 ~]# mkdir /...建立NFS共享文件 [root@server0 ~]# vim /etc/exports /public 172.25.0.0/24(ro) /protected 172.25.0.0/24(rw) ...
  • NFS建立

    2014-08-20 16:23:04
    1.我们先使用命令 apt-get install nfs-kernel-server 对nfs进行...例:/opt/gsc3280/nfs *(rw,sync,no_root_squash)其中前面为共享文件夹的路径,*是服务器的ip的网段可以写成192.168.123.*这样也代表一个ip区间段,r
  • 很多情况下linux服务器不提供图形界面,文本编辑只能使用自带的vim,这种情况下比起考虑如何让linux下的文本编辑工作更顺手,我们还有另一条途径:在linux与windows之间建立同步共享,在windows端进行编辑工作。...
  • nfs文件共享

    2019-03-28 20:37:04
    NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地 的NFS客户端中。在本地的NFS客户端的机器看来,NFS服务器端共享的目 录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可 以...
  • 本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 1> 此服务器必须是 STAFF 工作组的一个成员 2> 发布目录 /common,共享名为 common 3> 发布目录 /devops,共享名为 devops 4> 这两个...
  • 在开发Linux程序中,经常会使用Windows的编辑器进行编辑,这样还要拷贝到Linux服务器,如果有这种开发习惯的同学,可以使用这种方式进行开发。... Windows侧: 1:在Windows下建立共享文件夹。 2:确保Windows用户

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,641
精华内容 3,456
关键字:

nfs建立共享文件夹