linux NFS安装与配置

http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html

 

情况一:文件服务器为SUSELINUXWEB服务器为SUSELINUX

步骤一:文件服务器端设置(以root登录执行)

1设置共享目录权限为777

#chmod +777 /export/home/fileserver

 

2修改/etc/exports,添加共享目录

编辑/etc/exports文件,增加共享目录, 并保存。

/export/home/fileserver *(rw,sync,all_squash,anonuid=uid,anongid=gid)

Ø         *:表示所有的被允许挂接此共享linux客户机的IP地址,可以设置具体的IP地址;

Ø         rw:表示可读写

Ø         anonuid=uid,anongid=gid:表示远程客户访问此共享目录使用的用户以及所属组,因此uid/gid需要设置为启动WEB服务器用户的用户ID以及组ID;

 

3重启nfsserver服务,使共享目录生效【该命令在不重启nfsserver服务的情况下重新加载共享目录】

#exportfs -rv

Ø         若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用下列命令也可以达到同样的效果:

Ø         /etc/rc.d/init.d/nfsserver stop

Ø         /etc/rc.d/init.d/nfsserver start

 

步骤二:WEB服务器端设置(以root登录执行)

1创建一个目录用来作挂接点(mount point

#mkdir -p /mnt/nfs

2设置目录/mnt/nfs属于启动WEB服务器用户所属的组,保证该组用户拥有读写权限

#chmod  +775 /mnt/nfs

3加载共享目录,【rw等参数相当于nfs client中设置的参数】

#mount –t nfs –o rw 192.168.1.1:/export/home/fileserver /mnt/nfs

Ø         其中192.168.1.1表示文件服务器的IP地址。

Ø         /export/home/fileserver表示文件服务器的共享目录。

Ø         /mnt/nfs表示WEB服务器加载目录的挂接点。

下面是一些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_squas           root用户具有根目录的完全管理访问权限

        anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID

        anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID

 

 

NFS需要启动的DAEMONS
pc.nfsd:
主要复杂登陆权限检测等。
rpc.mountd
:负责NFS的档案系统,当CLIENT端通过rpc.nfsd登陆SERVER后,对clinet存取server的文件进行一系列的管理
NFS SERVER
REDHAT LINUX平台下一共需要两个套件:nfs-utilsPORTMAP
nfs-utils
:提供rpc.nfsd rpc.mountd这两个NFS DAEMONS的套件
portmap:NFS
其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVERPROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的。通俗的说PortMap就是用来做PORTmapping的。

一:服务器端的设定(以LINUX为例)
服务器端的设定都是在/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
:将登入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 (
REDHATPORTMAP是默认启动的)
/etc/rc.d/init.d/nfsserver 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 <==全部都卸载了。



客户段的操作:
1
showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法
showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVERexport出来的目录。
例如:
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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值