处理器 :ARM S3C2410
Linuc版本:Debian 4.0
一、搭建NFS服务
1、安装 服务器端安装在Debian系统下安装NFS是相当简单的,在NFS服务器上执行下面的命令即 可
在客户端则需要安装:
2、服务的启动停止与重启
# /etc/init.d/nfs-kernel-server stop
# /etc/init.d/nfs-kernel-server restart
3、服务器端配置
创建共享目录
# chown nobody.nogroup / home / share
创建或修改/etc/exports文件
这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:
[共享的目录] [主机名或IP(参数,参数)]其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。
当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)] 下面是一些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
配置文件/etc/exports内容如下:
/ home / share 192.168 . 102.15 (rw,sync) * (ro)
配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。
重启NFS服务# / etc / init.d / nfs - kernel - server restart在客户机上查看NFS的资源共享情况
# showmount - e 192.168 . 102.47
Export list for 192.168 . 102.47 : / home / share (everyone)使用mount命令即可挂栽共享资源
在客户机 192.168.102.15 上加载共享资源
二、搭建tftp服务器
1、安装
服务器端
#aptitude install tftpd安装完后,/etc/inetd.conf 档会有一行是tftpd的invoke 命令。最后一个argument是tftp 的export 目录。debian default是 /boot,一般是用/tftpboot,所以要修改一下
tftp dgram udp wait nobody / usr / sbin / tcpd / usr / sbin / in .tftpd / tftpboot修改后要reoad一下inetd,即执行
# / etc / init.d / inetd reload客户端安装
#aptitude install tftp测试
将一些file放到/tftpboot测试传送
$tftp 10.3 . 7 .xxx
tftp > get xxxxxxx
tftp 是一个很简单的file transfer protocol,他使用udp,并且没有很多handshaking,authorization的机制,Client 所需要的code比较检单,所以常常用在许多resource limited 的embedded system 中,或是用在开机的时候。
因为tftp 不是一个常常会使用的服务,所以以standalone dameon的方式执行会一直站住内存,所以建议使用inetd的方式来安装。
# mount 192.168 . 102.47 : / home / share / mnt
# cd / mnt
# echo ' 12345 ' > 123
即可发现对服务器共享目录可写
# umount /mnt在客户机 192.168.102.61 上加载共享资源
# mount 192.168.102.47:/home/share /mnt # cd /mnt # ls 123 # touch 321 touch: cannot touch `321': Permission denied # echo '123455' >123 -bash: 123: Permission denied
即可发现对服务器共享目录只有读取权限,
这与我们在服务器端的权限设置是相符的。
是不是我们每次修改了配置文件都需要重启nfs服务呢? 这个时候我们就可以用exportfs命令重新扫描/etc/exports文件,来使改动立刻生效。
比如:
# exportfs -au 卸载所有共享目录 # exportfs -rv 重新共享所有目录并输出详细信息
exportfs 命令有软件包 nfs-kernel-server 提供,详细的 exportfs 命令说明请查看:
man exportfs