# /etc/init.d/nfs-kernel-server stop
# /etc/init.d/nfs-kernel-server restart
创建或修改/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
重启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 xxxxxxxtftp 是一个很简单的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
联系客服