Linux学习 nfs协议

来源:互联网 发布:安慕希网络促销方案 编辑:程序博客网 时间:2024/06/08 15:11

nfs

1.yum install  nfs-utils

 systemctl  enable  nfs-server

 systemctl  start  nfs-server

2.systemctl start  firewalld

 systemctl  enable  firewalld

 firewall-cmd  --permanent  --add-service=nfs

  ##可以访问nfs协议,但国在时会出错,无端口

 firewall-cmd  --permanent  --add-service=rpc-bind

 ##rpc-bind协议可以提供端口分配,但仍不能挂载

 firewall-cmd  --permanent  --add-service=mountd

 ##mountd可实现挂载

 firewall-cmd  --reload      ##使生效

3.测试--客户端

 showmount  -e  服务端IP

  如:showmount  -e 172.25.254.109,如下显示:挂载成功

二、nfs共享目录

1.systemctl start  nfs-server

2.vim /etc/exports    

编辑格式如下:

       共享目录              用户身份(共享方式)

  :wq

其中,用户身份表示方式如下:

*                         ##表示任何用户

                 指定IP                  ##表示指定IP所在主机可以访问

IP/子网掩码        ##该网段的IP所在的主机可以访问

指定域名               ##同一域名的主机可以访问

注:可以同时使用多个身份表示方式,以逗号“,”间隔开使用

如:172.25.254.209,172.25.254.90     ##同时允许这两个IP所在主机访问

  共享方式表示如下:

(ro)                        ##以只读方式共享

(rw)                       ##以读写方式共享

(sync)                     ##可以实时同步

(no_root_squash)     ##普通用户读写共享文件时将不再是nfsnobody身份

(anonuid=ID号,anongid=ID号)        ##用户实际以该身份对文件读写

注:共享方式同样可以指定多种,以逗号“,”间隔开使用。此时其他用户可以实现showmount,但是不能使用mount命令

如:(rw,sync,anonuid=1001)    ##用户以1001身份可以对文件读写、实现数据实时同步

3.exportfs  -rv      ##使文件生效,注意一定不能重启服务

4.测试

 mount  服务端IP:/共享目录或文件  /mnt       ##挂载至/mnt

示例如下:

(1)mkdir /public     ##新建共享目录,所属用户为root用户

  touch  /public/file{1..3}

 

(2)编辑主配置文件及测试

   vim  /etc/exports

       /public           *(ro)        ##以只读方式共享文件,任何用户均可访问

       /public           *(rw)              ##以读写方式共享文件,任何用户均可以访问



此时在客户端不能实现写操作,因为共享文的权限,可以给共享文件777权限,如下:

未指定用户身份,所以在客户端建立目录的用户所属者为nfsnobody

/public           *(rw,no_root_squash)  

##以root用户挂载时,对文件的读写操作时不转换root身份,即不转为nfsnobody


 

 

      

 

原创粉丝点击