Ubuntu搭建NFS服务

Ubuntu下nfs搭建

Ubuntu下的nfs与其他Linux系统并无区别

nfs服务器配置简单灵活,使用方便,只需要使用mount命令,像挂在文件一样将共享目录挂在到指定目录下即可.一旦挂在成功,就可以像使用本地目录一样,使用共享目录里的文件.

1. 安装nfs所需的包
$ sudo apt-get install nfs-common nfs-kernel-server

2. 创建共享目录
nfs服务器是需要一个共享目录的,随遍在什么位置都可以,只要能访问到.
示例:
$ mkdir   /home/nfs-server

3. 配置服务器参数
nfs服务器配置是出了名的简单
$ sudo vim  /etc/exports
在nfs的配置文件中按如下规则添加即可:
共享目录    IP(权限1,权限2,权限3)
示例:
/home/nfs-server   192.168.1.110(rw,sync)  192.168.11.*(ro)
下面解析一下这个示例:
共享目录为: /home/nfs-server
共享人:该目录被共享给了两种类型的主机,首先以可读可写的权限共享给了 192.168.1.110主机,然后又以只读权限共享给了192.168.11网段的所有主机.

注意:每一个共享目录可以共享给多台主机,且可以为每台主机配置不同的权限.主机与主机之间以空格为间隔; 每台主机后紧跟一对小括号,没有任何空格,小括号内为共享给该主机的权限,可以设置多个权限,每个权限之间以","间隔.
也可以将多个目录共享,但是每个共享都要单独一行.
/home/mm-bj/common_cmd/connectnfs
稍后将权限列表及意义列于下方

4. 重启服务
$ sudo /etc/init.d/nfs-kernel-server restart

5. 查看共享信息
由于nfs可以设置多个共享,所以nfs提供了一条命令可以清晰明了的查看某nfs服务器的共享信息
$ showmount  -e  nfs-server-IP
其中nfs-server-IP为得到的nfs服务器的IP地址,以刚才设置为例,假设IP地址为192.168.1.120
$  showmount  -e 192.168.1.120
Export list for   192.168.1.120:
/home/nfs-server 192.168.1.110, 192.168.11.*
从信息列表中可以看到 192.168.1.120主机将/home/nfs-server目录共享给了192.168.1.110和192.168.11.*两个网段的主机.
但每台主机的权限确无从知晓,不过并不妨碍使用

6. 连接nfs主机
依然是已上述为例:
$ mount -t nfs   192.168.1.120:/home/nfs-server   /mnt
从第5步即可得知你的主机是否在nfs服务器的共享列表中,只需要按如上方式填写即可,对方主机加共享目录,两者直接以":"间隔,最后跟上要挂在的目录.
然后切换目录:
$ cd  /mnt
切换成功后我们即可看到对方主机共享目录的内容了.




nfs服务器配置中的权限及意义:

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

hide

在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID


猜你喜欢

转载自blog.csdn.net/xy_kok/article/details/78475283