nfs使用

<script src="http://wz.csdn.net/javascripts/vote.js" type="text/javascript"></script> style="MARGIN-TOP: 0px; FLOAT: left" border="0" marginwidth="0" framespacing="0" marginheight="0" src="http://wz.csdn.net/vote.aspx?t=nfs%u4F7F%u7528%20-%20%u5730%u7403%u662F%u5706%u7684%uFF1F%20-%20CSDNBlog&u=http%3A//blog.csdn.net/alin0725/archive/2007/11/16/1888237.aspx" frameborder="0" noresize="noresize" width="54" scrolling="no" height="75">   <script src="http://blog.csdn.net/count.aspx?ID=1888237&Type=Rank" type="text/javascript"></script> 文章指数:0   CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

NFS为 Network FileSystem 的简称,最早之前是由 Sun 这家公司所发展出来的,他的目的就是想让不同的机器、不同的操作系统可以彼此分享个别的档案啦!目前在 Unix Like 当中用来做为 file server 是相当不错的一个方案喔!基本上, Unix Like 主机连接到另一部 Unix Like 主机来分享彼此的档案时,使用 NFS 要比 SAMBA 快速且方便的多了!此外, NFS 的设定真的很简单,几乎只要记得激活 Remote Procedure Call 这个咚咚 ( 就是 portmap 这个套件啦! ) 就一定可以架设的起来!真是不错啊!不过,如果要达成 Windows 与 Linux 之间的沟通,那么还是以 SAMBA 比较容易啊

当我们的 NFS Server 设定好了分享出来的 /home/sharefile 这个目录后,其它的 Client 端就可以将这个目录挂载到自己系统上面的某个挂载点,需要的软件如下:

portmap 和 nfs 或 nfs-utils,后者就是提供 rpc.nfsd 及 rpc.mountd
rpc.nfsd:这个 daemon 主要的功能就是在管理 Client 是否能够登入主机的权限啦,其中还包含这个登入者的 ID 的判别
rpc.mountd:这个 daemon 主要的功能,则是在管理 NFS 的档案系统哩!当 Client 端顺利的通过 rpc.nfsd 而登入主机之后,在他可以使用 NFS server 提供的档案之前,还会经过档案使用权限 ( 就是那个 -rwxrwxrwx 与 owner, group 那几个权限啦 ) 的认证程序!他会去读 NFS 的设定档 /etc/exports来比对 Client 的权限,当通过这一关之后, Client 就可以取得使用 NFS 档案的权限啦!(注:这个也是我们用来管理 NFS 分享之目录的使用权限与安全设定的地方!)

/etc/exports:这个档案就是 NFS 的主要设定档了!不过,系统并没有默认值,所以这个档案『不一定会存在』,所以您必须要使用 vi 主动的建立起这个档案喔!我们等一下要谈的设定也仅只是这个档案而已吶!

/usr/sbin/exportfs:这个是维护 NFS 分享资源的指令,我们可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸载或重新分享等等,这个指令是 NFS 系统里面相当重要的一个喔!至于指令的用法我们在底下会再介绍。

/usr/sbin/showmount:这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。这个 showmount 可以用来察看 NFS 分享出来的目录资源喔!

/var/lib/nfs/xtab:这个档案则是主要的 NFS 的纪录文件咯!当我们的 NFS 分享出目录资源后,到底有哪些 Client 端曾经连接上我们的 NFS 主机呢?呵呵!就是看这个档案的内容即可啰!

[root@test root]# vi /etc/exports
[欲分享的目录]   [主机名称1或IP1(参数1,参数2)] [主机名称2或IP2(参数3,参数4)]


参数主要有哪些呢?
rw:可擦写的权限;
ro:只读的权限;
no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统帐号的身份;
all_squash:不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是 nobody 啦!
anonuid:前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是您可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于您的 /etc/passwd 当中!
anongid:同 anonuid ,但是变成 group ID 就是了!
sync:资料同步写入到内存与硬盘当中;
async:资料会先暂存于内存当中,而非直接写入硬盘!

例:vi /etc/exports
/tmp   *(rw,no_root_squash)
/home/public 192.168.0.*(rw)   *(ro)
/home/test  192.168.0.100(rw)
/home/linux  *.linux.org(rw,all_squash,anonuid=40,anongid=40)

启动服务:
#/etc/rc.d/init.d/portmap start
#/etc/rc.d/init.d/nfs start

exportfs [-aruv]
参数说明:
-a :全部挂载(或卸载) /etc/exports 档案内的设定
-r :重新挂载 /etc/exports 里面的设定,此外,亦同步更新 /etc/exports
   及 /var/lib/nfs/xtab 的内容!
-u :卸载某一目录
-v :在 export 的时候,将分享的目录显示到屏幕上!

showmount [-ae] hostname
-a :在屏幕上显示目前主机与 Client 所连上来的使用目录状态
-e :显示 hostname 这部机器的 /etc/exports 里面的分享目录!

客户端:
mount -t nfs hostname(IP):/directory /mount/point 例:
mount -t nfs 192.168.0.1:/share/home /mnt/home

注意:1、权限问题   2、启动portmap         3、防火墙的配置
iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1888237

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值