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