NFS: Network File System
NFS: 协议, 类Unix系统,文件系统(内核)
SUN:
NFSv1
NFSv2
NFSv3
NFSv4
RPC: 远程过程调用
2049/tcp
2049/udp
NIS: Network Infomation Service
NIS+
Kerberos
RPC: portmapper
监听:
111/tcp
111/udp
各基于RPC提供的进程,在启动时要向rpc注册监听在某端口上,rpc会从各未使用的端口中挑一个给此进程监听。即半随机机制;
NFS:
安装配置:
服务安装程序:nfs-utils
三个关键进程:
mountd:挂载守护进程,负责客户端来源认证的进程
nfsd:文件读写
idmapd:id映射进程
/etc/exports:
文件系统 客户端1(文件系统导出属性) 客户端2(文件系统导出属性)
文件系统
客户端:
IP: 172.16.100.8
Hostname: *.magedu.com
Network:
文件系统导出属性:
rw
async
sync
root_squash: 压缩root用户,基于imapd,将root通过网络访问时转换为nfsnobody用户
no_root_squash: 不压缩root用户;
all_squash: 压缩所有用户;
anonuid, anongid: 指定匿名用户映射为的UID和GID;
showmount
-e: 在nfs客户端执行,探查某主机所导出的nfs文件系统;使用格式“showmount -e Server_IP”;
-d: 在nfs服务器端执行,显示哪个导出的文件系统已经被至少一个客户挂载使用了;
-a: 在nfs服务器端显示所有的挂载会话;
exportfs:
-a: 操作所有文件系统
-ra: 重新导出所有文件系统
-ua: 取消导入的所有文件系统
-v: 显示详细信息
nfs的辅助进程mountd等监听在固定端口上,可以通过在编辑/etc/sysconfig/nfs中的某参数来实现。
总结:
/etc/exports
文件系统 客户端(导出属性)
showmount, mount -t nfs
exportfs
nfs
默认监听端口2049
idmapd 客户端用户身份与服务端用户身份统一映射进程
客户端用户统一映射为nfsnobody, 服务端识别远程客户端用户id映射本地用户id, 应用本地用户相应权限.
root用户权限挤压为nfsnobody
nfs只支持验证ip访问权限
mountd 验证用户ip 是否允许访问
rpcinfo 查看rpc进程信息 rpc进程名为portmapper
mountd向portmapper注册监听端口, protmapper负责记录mountd所监听端口与返回给客户端mountd所在端口.
配置nfs,编辑/etc/export
/shared 192.168.0.0(rw) 192.168.0.101(ro)
共享目录 指定网段内ip权限 指定特定ip权限
查看指定主机上共享的nfs
showmount -e
客户端挂载服务端文件系统 mount -t nfs Server:/export_fs /path/to/mount_point
重新导出所有共享文件系统
exportfs -ar 服务端导出所有共享文件夹(刷新共享目录列表)
开机自动挂载nfs
/etc/fstab
SERVER:/PATH/TO/EXPORTS_FS /mount_point nfs defaults,_netdev 0 0