实测
服务端 centos7 192.168.1.129
安装软件
yum install nfs-utils portmap
service rpcbind start、service nfs start
centos6用
[root@localhost ~]# /etc/init.d/rpcbind start; /etc/init.d/nfs start
[root@localhost nfs]# cat /etc/exports #设置共享目录 添加以下内容
/home/nfs/ 192.168.1.126/24(rw,no_root_squash,no_all_squash,sync)
[root@localhost nfs]# exportfs -r #使配置生效
关闭防火墙
[root@localhost nfs]# firewall-cmd --state
[root@localhost nfs]# systemctl stop firewalld
客户端 Ubuntu 192.168.1.126 客户端一般需要安装
[root@localhost ~]# yum install -y nfs-utils
root@zabix:~/nfs# mount -t nfs 192.168.1.129:/home/nfs /root/nfs #挂载
提示错误
root@zabix:~# showmount -e 192.168.1.129 #这一步是查看服务器共享了哪些 提示apt-get install nfs-common
安装后就正常挂载了
root@zabix:~/nfs# showmount -e 192.168.1.129
Export list for 192.168.1.129:
/home/nfs 192.168.1.126
接下来能挂载成功
这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,阿铭简单介绍一下:
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
介绍了上面的相关的权限选项后,再来分析一下阿铭刚刚配置的那个/etc/exports文件。其中要共享的目录为/home,信任的主机为192.168.137.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。