文件服务器-NFS

NFS(Network FileSystem):网络文件系统,主要作用是访问远程主机上的文件系统。

1.安装nfs服务器

#1.检查软件安装
[root@jiang ~]# rpm -qa | grep rpcbind
[root@jiang ~]# rpm -qa | grep nfs
#2.安装必须软件
[root@zhu ~]# yum -y install rpcbind nfs-utils
rpcbind :rpc程序的软件,在centos5以前软件名是portmap,centos6使用的是rpcbind
nfs-utils:nfs服务所需的软件

2.启动nfs

[root@zhu ~]# service rpcbind start
正在启动 rpcbind:                                         [确定]
[root@zhu ~]# service nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]

3.配置nfs服务器,nfs的主配置文件是/etc/exports,该文件若不存在时,需手动创建。

/etc/exports 文件配置语法:
[root@zhu ~]# cat /etc/exports
/root/mypython    *(rw,no_root_squash) www.jiang.com(ro,no_root_squash)
/root/mysource   192.168.56.102(rw,no_root_squash)
###################################################
#1.以行为单位,每行的第一部分,是分享出来的目录, 接下来是允许访问此目录的主机以及访问的权限。
#2.允许访问的主机可以是ip地址或域名,有以下几种写法:
192.168.56.102(rw,no_root_squash)
192.168.56.*(rw,no_root_squash)
*(rw,no_root_squash)
192.168.56.0/24(rw,no_root_squash)
#3.主机后面应直接跟相应的权限。主机和()之间不要有空格。

权限的种类:

#权限有下面几种:
rw :读写
ro :只读
sync :数据会同步写入到内存与硬盘中,
async :数据会先存于内存中,
root_squash :使用nfs时,如果用户是root,则进行权限压缩,即把root用户在nfs上创建的文件   属组和属主修改为nfsnobody
no_root_squash :使用nfs时,如果用户是root,不进行权限压缩,即root用户在nfs上创建的文件   属组和属主仍然是root(不安全,不建议使用)
insecure:允许客户端从大于1024的TCP/IP端口连NFS服务器
secure:限制客户端只能从小于1024的TCP/IP端口连接NFS服务器(默认设置)

#上面这是常用的几种权限,还有其它的权限可以man exportfs 查看

权限总结:

[root@zhu ~]# cat /etc/exports
/root/mypython    *(rw,no_root_squash)
/root/mysource   192.168.56.102(rw)
/tmp             *(rw)

1.针对nfs服务器上的/tmp 目录。

[root@jiang ~]# mount -t nfs 192.168.56.101:/tmp/  /root/zhuzhu/
[root@jiang ~]# cd zhuzhu/
[root@jiang zhuzhu]# ll
总用量 0
[root@jiang zhuzhu]# touch zhu.txt
[root@jiang zhuzhu]# ll
总用量 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 3月  27 2014 zhu.txt
[root@jiang zhuzhu]# su zhu
[zhu@jiang zhuzhu]$ mkdir zhu
[zhu@jiang zhuzhu]$ ll
总用量 4
drwxrwxr-x. 2 nobody    nobody    4096 3月  27 2014 zhu
-rw-r--r--. 1 nfsnobody nfsnobody    0 3月  27 2014 zhu.txt
#1.使用root用户时,由于默认是root_squash权限,所以root用户创建的文件属主会是nfsnobody
使用zhu用户时,由于nfs服务器上并没有zhu用户,所以创建的文件属主为nobody
#2.假如/tmp目录对zhu用户没有写的权限,即使在/etc/exports文件中开放写权限,那么客户端的zhu用户仍然不能写。

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

nfs客户端选装的软件

yum -y install  nfs-utils  rpcbind

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

#与nfs服务器有关的指令介绍:

当重新修改了/etc/exports 文件后,不需要重新启动nfs服务器,可以通过exportfs指令来管理。

exportfs [-avru]   
-a:全部卸载或挂载/etc/exports文件内的内容,通常与-r或-u结合使用
-r:重新挂载/etc/exports文件里的内容
-u:卸载某一目录
-v:将分享的目录显示到屏幕上。
#1.重新挂载/etc/exports内的设定
[root@zhu ~]# exportfs -arv
exporting 192.168.56.102:/root/mysource
exporting *:/tmp
exporting *:/root/mypython
此时在客户端可以挂载在nfs服务器端分享出来的目录。
[root@jiang ~]# mount -t nfs  192.168.56.101:/tmp/ zhuzhu
#2.全部卸载在/etc/exports文件中的内容
[root@zhu ~]# exportfs -au
此时在客户端不能挂载成功
[root@jiang ~]# mount -t nfs  192.168.56.101:/tmp/ zhuzhu
mount.nfs: access denied by server while mounting 192.168.56.101:/tmp/
[root@zhu ~]# exportfs -ar #在服务器端重新加载
#此时在客户端便可挂载成功
[root@jiang ~]# mount -t nfs  192.168.56.101:/tmp/ zhuzhu
#3.-v参数还可用来查看分享的目录的默认权限
[root@zhu ~]# exportfs -v
/root/mysource  192.168.56.102(rw,wdelay,root_squash,no_subtree_check)
/root/mypython  <world>(rw,wdelay,no_root_squash,no_subtree_check)
/tmp            <world>(rw,wdelay,root_squash,no_subtree_check)

showmount 指令可以查看nfs服务器的分享信息,该指令是在客户端使用的。

showmount [-adehv] [host]
-e:显示nfs服务器所分享出来的目录
[root@zhu ~]# showmount -e localhost #主机地址是localhost,所以在nfs服务器端执行
Export list for localhost:
/tmp           *
/root/mypython *
/root/mysource 192.168.56.102
[root@jiang ~]# showmount -e 192.168.56.101 #在客户端端查看,192.168.56.101 这台机器分享出的目录
Export list for 192.168.56.101:
/tmp           *
/root/mypython *
/root/mysource 192.168.56.102






































本文出自 “浪淘沙” 博客,谢绝转载!

你可能感兴趣的:(网络,服务器,软件,NetWork,主机)