NFS:实现不同网络,不同系统之间文件的共享
软件包: nfs-util  被做进内核 不需要安装
进程: nfsd内核线程,lockd 内核线程, rpc.mountdrpc.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和主机名的 不是用户名 不条件信任的
              3NFS时明文的 对数据完整性不作认证
              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  可以直接使用
NFSselinuxbool
              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/& (&表示子目录都单独挂载过来)
在测试时由于是用户的家目录所以不显示