nfs

nfs实现linux文件共享

1.环境

系统:centos6.8

服务端:192.168.6.30

客户端:192.168.6.38

 

2.关闭selinux和iptables

 

3.服务端下载nfs

[root@centos68 ~]# yum install rpcbind nfs-utils

 

4.配置nfs文件

[root@centos68 ~]# vim /etc/exports

/todd 192.168.6.0/24(rw,all_squash)    //#1

 

5.创造共享文件夹

[root@centos68 ~]# mkdir /todd

 

6.更改目录属主

[root@centos68 ~]# chown nfsnobody:nfsnobody /todd    //#2

 

7.启动服务

[root@centos68 ~]# service rpcbind start

[root@centos68 ~]# service nfs start

 

8.客户端配置

下载nfs,可使用showmount查看共享

[root@centos68 ~]# yum install nfs-utils -y

 

9.挂载共享目录

[root@centos68 ~]# mkdir /toddtodd

[root@centos68 ~]# showmount -e 192.168.6.30

Export list for 192.168.6.30:
/todd 192.168.6.0/24

[root@centos68 ~]# mount -t nfs 192.168.6.30:/todd /toddtodd

 

10.写入测试

客户端写入文件

[root@centos68 ~]# echo "this is toddtodd" > /toddtodd/nfss.txt

[root@centos68 ~]# cd /toddtodd/

[root@mb68init toddtodd]# ll
total 12
drwx------ 2 nobody nobody 4096 Oct 16 15:31 ftp
-rw-r--r-- 1 nfsnobody nfsnobody 17 Oct 16 15:40 nfss.txt

[root@mb68init toddtodd]# cat nfss.txt
this is toddtodd

 

服务端写入(/todd),客户端一样看得到

###############################################################

注解

配置说明:
rw:可读写的权限;
ro: 只读的权限;
no_root_squash:客户机用root访问nfs共享文件夹时,保持root权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。
sync: 资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。

其中:
客户端常用的指定方式
   指定ip地址的主机:192.168.6.38,如果是一个目录共享给多台客户机,那么就配置多行
   指定子网中的所有主机:192.168.0.0/24
   指定域名的主机:a.todd.com
   指定域中的所有主机:*.todd.com
   所有主机:*

访问权限选项
   设置输出目录只读:ro
   设置输出目录读写:rw

用户映射选项
   all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组,通常也就是nobody(nfsnobody);
   no_all_squash:与all_squash取反(默认设置);
   root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
   no_root_squash:与rootsquash取反;
   anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);比如(rw,sync,all_squash,anonuid=65534,anongid=65534)
   anongid=xxx:将远程访问的所有用户组都映射为匿名用 户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项
   secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
   insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
   sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
   async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
   wdelay:检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
   no_wdelay:若有写操作则立即执行,应与sync配合使用;
   subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
   no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

可以使用showmount命令查看远程客户机上的共享目录情况,这个命令需要root权限。
它有三个选项,记住这三个选项代表的含义:
showmount –a IP  :显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
showmount –d IP  :显示指定NFS服务器在客户端的挂载点
showmount –e IP  :显示指定NFS服务器上的共享目录列表(或者叫输出列表)

 

posted @ 2018-10-16 16:12  shiina_ringo  阅读(80)  评论(0编辑  收藏  举报