配置/etc/exports文件

配置/etc/exports文件  

2012-04-18 10:44:07|  分类: Linux 字号

处理器 :ARM S3C2410
Linuc版本:Debian 4.0
一、搭建NFS服务
1、安装 服务器端安装
在Debian系统下安装NFS是相当简单的,在NFS服务器上执行下面的命令即 可
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # aptitude install   nfs - common nfs - kernel - server portmap
在客户端则需要安装:
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # aptitude install   nfs - common portmap
2、服务的启动停止与重启
# /etc/init.d/nfs-kernel-server start
# /etc/init.d/nfs-kernel-server stop
# /etc/init.d/nfs-kernel-server restart

3、服务器端配置
创建共享目录
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # mkdir / home / share
配置/etc/exports文件 - pengwupeng2008 - 呆子。# 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内容如下:
配置/etc/exports文件 - pengwupeng2008 - 呆子。 $ cat / etc / exports
配置/etc/exports文件 - pengwupeng2008 - 呆子。
配置/etc/exports文件 - pengwupeng2008 - 呆子。
/ home / share 192.168 . 102.15 (rw,sync) * (ro)
配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。
重启NFS服务
        
        
配置/etc/exports文件 - pengwupeng2008 - 呆子。    # / etc / init.d / nfs - kernel - server restart
在客户机上查看NFS的资源共享情况
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # showmount - e 192.168 . 102.47
配置/etc/exports文件 - pengwupeng2008 - 呆子。
配置/etc/exports文件 - pengwupeng2008 - 呆子。 Export list
for 192.168 . 102.47 : / home / share (everyone)
使用mount命令即可挂栽共享资源
在客户机 192.168.102.15 上加载共享资源
二、搭建tftp服务器
1、安装
服务器端
配置/etc/exports文件 - pengwupeng2008 - 呆子。 #aptitude install tftpd
安装完后,/etc/inetd.conf 档会有一行是tftpdinvoke 命令。最后一个argumenttftp export 目录。debian default /boot,一般是用/tftpboot,所以要修改一下
配置/etc/exports文件 - pengwupeng2008 - 呆子。 tftp    dgram   udp    wait    nobody    / usr / sbin / tcpd    / usr / sbin / in .tftpd    / tftpboot
修改后要reoad一下inetd,即执行
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # / etc / init.d / inetd reload
客户端安装
配置/etc/exports文件 - pengwupeng2008 - 呆子。 #aptitude install tftp
测试
将一些file放到 /tftpboot测试传送
配置/etc/exports文件 - pengwupeng2008 - 呆子。 $tftp 10.3 . 7 .xxx
配置/etc/exports文件 - pengwupeng2008 - 呆子。
配置/etc/exports文件 - pengwupeng2008 - 呆子。 tftp
> get xxxxxxx
tftp 是一个很简单的file transfer protocol,他使用udp,并且没有很多handshaking,authorization的机制,Client 所需要的code比较检单,所以常常用在许多resource limited 的embedded system 中,或是用在开机的时候。
因为tftp 不是一个常常会使用的服务,所以以standalone dameon的方式执行会一直站住内存,所以建议使用inetd的方式来安装。
配置/etc/exports文件 - pengwupeng2008 - 呆子。 # mount 192.168 . 102.47 : / home / share / mnt
配置/etc/exports文件 - pengwupeng2008 - 呆子。# cd
/ mnt
配置/etc/exports文件 - pengwupeng2008 - 呆子。# echo
' 12345 ' > 123
配置/etc/exports文件 - pengwupeng2008 - 呆子。
即可发现对服务器共享目录可写
# 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

7.2.2  配置/etc/exports文件

用户可以把需要共享的文件系统直接编辑到/etc/exports文件中,这样当NFS服务器重新启动时系统就会自动读取/etc/exports 文件,从而告诉内核要输出的文件系统和相关的存取权限。在下面的例子中显示了/etc/exports文件中几个条目项的内容,被挂载在/pub目录下的 文件系统具有只读访问权限,所有的计算机在访问文件系统的时候不必经过安全检查。编辑/etc/exports文件:

# vi /etc/exports
/usr/sys/src -maproot=daemon host2
/usr/ports -ro -network 192.168.1.0

从上面这个例子中可以看出exports文件的格式,首先是定义要共享的文件目录。必须使用绝对路径,而不能使用符号链接。然后设置对这个目录进行 访问限制的参数,用于保证安全性。在第1行设置中,将/usr/sys/src目录共享出去。但限制客户机上的root用户等价于本机上的daemon用 户,以避免客户机上的root用户拥有这个服务器上的root权限进行非法操作。此后的host2参数是主机名,从而限制只有host2才能共享这个 /usr/sys/src目录;第2行设置共享/usr/ports目录,但限制为只允许读取,并且也只有网络上的192.168.1.0计算机才能访问 这个共享目录。

(1)rw:可读写权限。

(2)ro:只读权限。

(3)no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份。

(4)root_squash;如果登录NFS主机使用共享目录的使用者是root,那么对于这个共享的目录来说,它具有root的权限。

(5)all_squash:忽略登录NFS使用者的身份,其身份都会被转换为匿名使用者,通常即nobody。

(6)anonuid:通常为nobody,也可以自行设定这个UID的值,UID必须存在于/etc/passwd中。

(7)anongid:同anonuid,但是变为Group ID。

(8)sync:同步写入资料到内存与硬盘中。

(9)async:资料会先暂存于内存中,而非直接写入硬盘。

主机可以使用以下格式。

(1)单个机器:一个全限定域名(能够被服务器解析)、主机名(能够被服务器解析)或IP地址。

(2)使用通配符来指定的机器系列,使用 * 或 ?字符来指定一个字符串匹配。IP地址中不使用通配符。如果反向DNS查询失败,它们可能会碰巧有用。在完整域名中指定通配符时,点(.)不包括在通配符 中。例如,*.example.com包括one.example.com,但不包括one.two.example.com.。

(3)IP网络:使用a.b.c.d/z,a.b.c.d是网络,z是子网掩码中的位数(如192.168.0.0/24)。另一种可以接受的格式 是a.b.c.d/netmask,a.b.c.d是网络,netmask是子网掩码(如192.168.70.8/255.255.255.0)。

转自:http://book.51cto.com/art/200808/85173.htm

  • 3
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值