Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5381857
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: BSD

2007-01-17 14:44:46

服务 描述
nfsd NFS,为来自NFS客户端的 请求服务。
mountd NFS挂载服务,处理nfsd(8)递交过来的请求。
rpcbind 此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。

配置NFS
NFS的配置过程相对简单。这个过程只需要 对/etc/rc.conf文件作一些简单修改。

在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:

nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
rpc_statd_enable="YES"
rpc_lockd_enable="YES"
mountd_flags="-r"
只要NFS服务被置为enable,mountd 就能自动运行。

在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:

nfs_client_enable="YES"
/etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。有很多开关可以被用在这个文件里头,不过不会在这里详细谈。您可以通过阅读exports(5) 手册来发现这些开关。

以下是一些/etc/exports的例子:

/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4

一旦修改 /etc/exports 了之后, 为了让变动生效,您必须重启 mountd。 可以通过对mountd 进程发送HUP信号重启:

# kill -HUP `cat /var/run/mountd.pid`
另外,系统重启动可以让FreeBSD把一切都弄好。尽管如此,重启不是必须的。 以 root 身份执行下面的命令可以搞定一切。

在 NFS 服务器端:

# rpcbind
# nfsd -u -t -n 4
# mountd -r
#showmount -e //查看当前共享的目录
客户段的操作:
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
常见问题:
RPCPROG_MNT: RPC: Authentication error; why = Client credential too weak
That confused me. I checked /var/log/messageson the NFS server:

mountd[95]: mount request from 10.0.0.20 from unprivileged port

If you are seeing this on the client:
RPCPROG_NFS: RPC: Program not registered
Then you should check the server for a message such as this in /var/log/messages: :
Jun 12 11:20:07 polo portmap[55049]: connect from 192.168.0.34 to getport(nfs): request from unauthorized host
修改/etc/hosts.allow

 

 一、NFS服务器的基本知识
网络文件系统(NFS)是一种在网络上的机器间共享文件的方法,主要用于Linux/Unix操作系统之间网络资源共享。文件就如同位于客户的本地硬盘驱动器上一样。Red Hat Linux 既可以是 NFS 服务器也可以是 NFS 客户,这意味着它可以把文件系统导出给其它系统,也可以挂载从其它机器上导入的文件系统。
二、NFS的配置文件:/etc/exports
 NFS通过TCP/IP网络进行操作,过程计算机可以使本地文件系统可以被网络上的其他计算机访问到。这主要是依靠三个主要的守护进程:rpc.nfsd(接收从过程系统发来的NFS请求并将这些请求转化为本地文件系统请求)、rpc.mounted(执行被请求的文件系统的挂载和卸载操作)和rpc.protmapper(将过程请求映射到正确的NFS守护进程)。

常用选项
描述
Secure
需要进行识别,该选项被仟为缺省设置
Ro
只允许读访问
Rw
允许读写
Noaccess
使得目录下所有文件不能被指定的客户端访问
Link_absolute
使用绝对符号连接,该项为缺省设置
Link_relative
将绝对符号连接转变为相对连接
Access
使得目录下所有文件能被指定的客户端访问

三、配置NFS服务器
具体步骤:
1、  设定某台计算机为NFS服务器,并启动相关的守护进程,NFS服务器提供的服务:inet、portmap、nfs、mount这4个守护进程保持在后台状态运行。
2、  规化需要共享的资源
3、  修改/etc/exports
4、  重启NFS服务器 service nfs start
/etc/exports具体详解:
/pub (ro,secure) //该目录为公共目录,所有用户都可以访问,但是权限是只读、是安全的。
/home/ciscofans    (域)g13(rw) //仅g13这台机器对/home/ciscofans目录有读写权限。
/mnt/cdrom     (域)g16(ro)      //公g16这台机器可以读取/mnt/cdrom内容。
/home/apple    (noaccess)                   //拒绝任何人对/home/apple目录访问。
四、配置客户端
1、命令方式   //每次使用NFS服务器资源必须挂载

#mount –o ro,soft|hard computer1:/usr/local    /usr/local/dance

#mount –t nfs –o nic.linux.com:/home/projects /home/tmp
//过程NFS服务器是nic.linux.com,文件系统被挂载在目录/home/projects下。文件系统被挂载在本地系统的/home/tmp目录,文件系统的类型是NFS。
2、编辑/etc/fstab文件
//在/etc/fstab文件尾部追加以下内容:
g13:/pub /pub    nfs   ro 0 0
g13:/tmp /tmp    nfs   ro 0 0
g13:/usr/share /usr/share   nfs   rw,bg 0 0
//**第一个字段:NFS服务器共享目录
 *第二个字段:本地目录
 *第三个字段:文件类型为NFS
//*
阅读(2588) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~