一:服务器端的设定
服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下:
欲分享出去的目录
主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4)
上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限。
可以设定的参数主要有以下这些:
rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。
root_squash:在登入 NFS
nobody 身份;
all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。
anonuid:将登入NFS主机的用户都设定成指定的user
id,此ID必须存在于/etc/passwd中。
anongid:同 anonuid
,但是变成 group ID 就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure
允许从这台机器过来的非授权访问。
例如可以编辑/etc/exports为:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw)
*(ro)
/home/test 192.168.0.100(rw)
/home/linux
*.the9.com(rw,all_squash,anonuid=40,anongid=40)
设定好后可以使用以下命令启动NFS:
/etc/rc.d/init.d/portmap
start (在REDHAT中PORTMAP是默认启动的)
/etc/rc.d/init.d/nfs
start
exportfs命令:
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount
/etc/exports中的内容
-r :重新mount
/etc/exports中分享出来的目录
-u :umount 目录
-v :在 export
的時候,将详细的信息输出到屏幕上。
具体例子:
[root @test root]#
exportfs -rv <==全部重新 export 一次!
exporting
192.168.0.100:/home/test
exporting
192.168.0.*:/home/public
exporting
*.the9.com:/home/linux
exporting
*:/home/public
exporting *:/tmp
reexporting
192.168.0.100:/home/test to kernel
exportfs -au
<==全部都卸载了。
客户段的操作:需要开启(portmap +
nfslock )
1、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS
SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS
SERVER上export出来的目录。
例如:
showmount -e
192.168.0.30
Export list for
localhost:
/tmp *
/home/linux
*.linux.org
/home/public
(everyone)
/home/test
192.168.0.100
2、mount nfs目录的方法:
mount -t nfs
hostname(orIP):/directory /mount/point
具体例子:
Linux: mount -t nfs
192.168.0.1:/tmp /mnt/nfs
Solaris:mount -F nfs
192.168.0.1:/tmp /mnt/nfs
BSD: mount
192.168.0.1:/tmp /mnt/nfs