DayDayUP_Linux运维学习_NFS搭建与使用



NFS简介

NFS是一个通过网络来分享文件的工具;
NFS的学习重点在于权限、用户身份、RPC程序的理解。
组成部分
NFS:Network File System
可以通过网络,让不同设备、不同操作系统,可以彼此分享文件
RPC:Remote Procedure Call
指定每个NFS功能的端口号,并且通知用户端,来保证用户可以连接到正确的端口。RPC之所以能知道正确的端口号,是因为NFS在启动时会随机选取几个端口号,并主动向RPC注册此端口号,并且RPC是使用111端口来接受此信息。
相关文件
配置文件:/etc/exports
分享目录完整权限文件:/var/lib/nfs/etab
连接NFS服务器用户端资料文件:/var/lib/nfs/xtab

NFS的安装与使用

NFS的安装

或者
# mount -t iso9660 -o loop CentOS-6.5-i386-bin-DVD1.iso /mnt
# cd /mnt/Packages/
# ls |grep nfs-utils
# rpm -ivh nfs-utils-1.2.3-39.el6.i686.rpm nfs-utils-lib-1.1.5-6.el6.i686.rpm
# ls |grep rpcbind
# rpm -ivh rpcbind-0.2.0-11.el6.i686.rpm

分享目录配置

# vi /etc/exports  

[要分享的目录] [ip或ip网段] [权限及登录身份等]

    /tmp/sharefolder 192.168.0.1/24(rw,all_squash,anonuid=501,anongid=501)//可以写多行
ip段可以写成主机名,主机名可以用通配符"*",来匹配域用户
共享目录之后,可以跟多个ip段,用空格分开
权限及登录身份段可用参数

rw(read & write) ;
ro(read only)
#是否可读写,除了此处必须设置外,还限制在分享的文件或目录本身的权限
sync(内存和硬盘同步写入) ;
async(暂存于内存,而不是直接写入硬盘);
no_root_squash(如使用NFS的是root用户,则保留文档的root权限)root_squash(如使用NFS的是root用户,会把root更改成nfsnobody用户,安全性比较好);
all_squash(不论使用NFS的是谁,都会把其更改为nfsnobody用户);
anonuid(指定取代root_squash或all_squash所使用匿名用户的uid);
anongid(指定取代root_squash或all_squash所使用匿名用户的gid)。
#指定的uid和gid必须是本机系统里所存在的

扩展 nfsnobody

# cat /etc/passwd|grep nfsnobody


nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin #专门的匿名NFS用户

NFS的启动与相关命令

# service rpcbind start && service nfs start
或者
# /etc/init.d/rpcbind start && /etc/init.d/nfs start

如何让设定好的共享目录启动

# exportfs -arv
showmount -e localhost
#exportfs是挂载及卸载共享目录的命令
#-a是挂载或卸载全部/etc/exports中设定的目录
#-r重新挂载/etc/exports中设定的目录,并刷新/var/lib/nfs/xtab中的内容
#-v显示共享目录的信息
#showmount是查看NFS共享目录的命令
#-e显示指定主机的NFS共享目录状态

4 客户端使用NFS

查询
# showmount -e 192.168.1.110
挂载
# mount -t nfs 192.168.0.26:/tmp/sharefolder /mnt/nfs
#在server端更改共享目录权限为766,没有执行权限
#在server端更改共享目录权限为755,没有写权限
mount 选项
-t vfstype 指定文件系统的类型 常用类型有:
  
  光盘或光盘镜像:iso9660
  
  DOS fat16文件系统:msdos
  
  Windows 9x fat32文件系统:vfat
  
  Windows NT ntfs文件系统:ntfs
  
  Mount Windows文件网络共享:smbfs
  
  UNIX(LINUX) 文件网络共享:nfs
-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
  loop:用来把一个文件当成硬盘分区挂接上系统
  ro:采用只读方式挂接设备
  rw:采用读写方式挂接设备
  iocharset:指定访问文件系统所用字符集
  nolock nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能,在进行嵌入式环境时,如果报错需要加上-o nolock 选项

设置自动挂载

# vim /etc/rc.local
mount -t nfs 192.168.0.26:/tmp/sharefolder /mnt/nfs
或者
# vim /etc/fstab
192.168.1.110:/tmp      /mnt                    nfs     nolock,rw       0 0 
# mount -a

查看挂载的列表

mount -l
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值