NFS:实现不同网络,不同系统之间文件的共享<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 
   
 
  
软件包: nfs-util  被做进内核 不需要安装 
   
 
  
进程: nfsd内核线程,lockd 内核线程, rpc.mountd,rpc.statd 文件加锁,rpc.quotad 应用磁盘配额 
   
 
  
       ps aux 可以查看到nfsd lockd 
   
 
  
脚本: nfs  
   
 
  
       nfslock 客户端一般自动启动,做锁恢复 
   
 
  
端口:  tcp/249 udp/2049 
   
 
  
配置文件:/etc/exports     主配置文件 
   
 
  
          /etc/sysconfig/nfs 辅助配置文件 
   
 
  
 
   
 
 
  
格式:共享目录    ip 或主机名(选项) 
   
 
  
       /share  192.168.0.0/255.255.255.0(rw) 
   
 
  
       选项: 
   
 
  
              rw   读写挂载 
   
 
  
              ro   自读挂载 
   
 
  
              async       异步写入 
   
 
  
              sync        同步写入 
   
 
  
              root_squash     root访问时转换成nfs的匿名用户即nobody用户,防止root用户具有过高权限 
   
 
  
                            用户uid一样出问题 
   
 
  
              no_root_squash  不转换 
   
 
  
              all_squash      所有的转换 
   
 
  
       客户端参数:       ip网络:长短格式都支持 192.168.0.0/24 或192.168.0.0/255.255.255.0 
   
 
  
                     域: *.example.com 
   
 
  
                     单个主机:192.168.0.1 
   
 
  
                     netgroup: NIS的 @group 
   
 
  
 
   
 
 
  
       客户端:查看共享目录 
   
 
  
                      showmount -e 192.168.0.65(nfs服务器的ip) 
   
 
  
       服务端: showmount -a  
   
 
  
                   -d 只显示哪个目录被客户端挂载了 
   
 
  
 
   
 
 
  
额外命令: 
   
 
  
exportefs 不用重启服务也可导出共享目录 
   
 
  
          -a 导出所有目录 与r (重新导出)连用,不与a连用 后跟导出的目录 
   
 
  
          -u 取消导出 
   
 
  
          -v 显示详细信息 
   
 
  
 
   
 
 
  
 
   
 
 
  
 
   
 
 
  
客户端访问被服务端导出的目录方式: 
   
 
  
       1、 /etc/fstab 自动挂载 
   
 
  
       2、  /etc/init.d/netfs脚本 
   
 
  
       3、   autofs 
   
 
  
       4、   手动挂载 
   
 
  
 
   
 
 
  
NFS工作:rpc.mounted 和NFSv3 
   
 
  
       NFS共享:基于rpc工作 
   
 
  
       提供rpc服务 远程 
   
 
  
       service portmap  status 状态 要开启 
   
 
  
       rpc是否工作正常 rpcinfo -p 服务器ip 查看服务器的状态 
   
 
  
                   rpcinfo -p 192.168.0.254 
   
 
  
                       rpcinfo -p localhost  看本地的 
   
 
  
        
   
 
  
导出目录的安全准则: 
   
 
  
              不要导出服务端的服务目录 
   
 
  
              一般导出整个文件系统 不要是目录 
   
 
  
              不要使用 no_root_squash参数 
   
 
  
              谨慎使用crossmnt 和 nohide 
   
 
  
                     crossmnt 添加该参数 一个文件系统被导出 如果它的子目录也被导出的时候 用户是可以看                                     见访问的 较为危险 
   
 
  
                     nohide 挂载的子目录,其父目录被挂载时 用户是可见的 hecrossmnt作用相似 
   
 
  
NFS的缺陷: 
   
 
  
              1、辅助性的协议端口是随机的 
   
 
  
              2、客户端认证时基于ip和主机名的 不是用户名 不条件信任的 
   
 
  
              3、NFS时明文的 对数据完整性不作认证 
   
 
  
              4、管理麻烦 
   
 
  
       针对1的解决方法: 
   
 
  
              使用固定端口 手动定义  
   
 
  
              在 /etc/sysconfig/nfs 配置固定端口 不能和其他冲突 
   
 
  
              查看端口是否在使用: grep 4004 /etc/services 
   
 
  
 
   
 
 
  
查看NFS分享的资源 
   
 
  
       showmount -e 192.168.0.254 查看对方服务器共享的资源 
   
 
  
       mount 192.168.0.254:/var/ftp/pub /mnt/ji  可以直接使用 
   
 
  
NFS的selinux的bool值 
   
 
  
              nfs_export_all_ro 默认开启 
   
 
  
              nfs_export_all_rw 默认开启 
   
 
  
              use_nfs_home_nfs 开启家目录的 
   
 
  
               
   
 
  
自动挂载: 
   
 
  
/etc/fstab 
   
 
  
192.168.0.254:/var/ftp/pub   /mnt/ji   nfs  defaults  0 0 
   
 
  
        
   
 
  
automounter:自动挂载工具 
   
 
  
service autofs status 要开启  
   
 
  
直接挂载 :手动指定挂载位置 
   
 
  
       vim /etc/auto.master 
   
 
  
             /-   /etc/auto.pub 
   
 
  
       vim /etc/auto.pub   
   
 
  
            /pub(该目录要存在) -rw,soft 192.168.0.254:/var/ftp/pub   
   
 
  
       mkdir /pub 
   
 
  
       重启用autofs服务 
   
 
  
直接挂载本地设备 
   
 
  
       vim /etc/auto.master 
   
 
  
       /-   /etc/auto.pub 
   
 
  
       Vim /etc/auto.pub 
   
 
  
       /media/cdrom  -fstype=iso9660,ro,soft :/dev/cdrom 
   
 
  
       重启autofs 服务 
   
 
  
间接挂载: 挂载目录不是绝对路径() 目录也可不存在 
   
 
  
 
   
 
 
  
vim /etc/auto.master 
   
 
  
/share  /etc/auto.pub 
   
 
  
vim /etc/auto.pub 
   
 
  
pub(该目录在share目录下不存在) -rw,soft 192.168.0.254:/var/ftp/pub   
   
 
  
    -intr 可以中断挂载 
   
 
  
    -soft 挂载时若挂载不上会自动显示返回错误信息 -hard 一般不常用但是默认选项,可以与intr连用 
   
 
  
    -nouser 只允许管理员挂载 
   
 
  
   连用两个参数用逗号隔开 
   
 
  
   -rw,-inrt 
   
 
  
 
   
 
 
  
使用通配符自动挂载 简介挂载服务器某目录下的所有子目录 
   
 
  
在/etc/auto.master配置 
   
 
  
/home/guests  /etc/auto.home 
   
 
  
 
   
 
 
  
  vim /etc/auto.home   
   
 
  
  * -rw.soft 192.1680.254:/hoem/guests/& (&表示子目录都单独挂载过来) 
   
 
  
在测试时由于是用户的家目录所以不显示

                                                                                                                                                                                                                                                                                       



 https://blog.51cto.com/jingmu/508054