linux 系统的文件共享服务
对于windowns而言网上邻居是基于RPC
samba 是在linux,windowns nuix主机之间实现文件共享
NFS的全称是网络文件系统 windowns 和linux之间的的文件共享 (原来SUN公司使用)NFS协议用明文实现
完全性差 ,一般只能在局域网内
ftp协议:文件传输协议
下面我们主要看看nfs
NFS可以把某个目录导出 客户端用户身份的确认靠id号 最终被识别成nfs服务器上的用户 其他主机上的id为0的用户到对方被识别为noboday
NFS靠ip地址来验证是否合法 就是看对方ip是不是自己所允许网段内的主机
ACL 定义可以访问的ip 安全性很薄弱
最终权限:
文件系统权限:
共享权限:
rpc : remote procedure call 中文是远程过程调用 可以实现在两台主机之间近乎二进制实现文件传输
rpc随机分配端口并分配给NFS 从tcp和udp之间选择尚未使用的端口给nfs 但是会占用其他服务的端口
NFS 服务启动要到rpc申请随机端口 ,得到端口后NFS就监听到这个端口上 当NFS 客户端访问NFS服务器要先找对方的rpc服务 rpc再查找自己监听的列表中有没有nfs
有的话 ,rpc就把nfs的端口返回给客户端,客户段就和这个端口进行通信
portmap正常运行才能正常使用nfs服务 netstat -tnl查看其监听的端口
rpcinfo -p 查看nfs服务器启动的端口情况 后面跟ip 是查看客户端的端口
nfs的软件包就一个nfs-utils 装完后生成一些服务控制的脚本 默认已经装过
nfs启动后的进程
1 nfsd内核线程 监听在tcp和udp的2049端口
2 rpc.mounted 端口是随机的
3 rpc statd
4 lockd
5 rpc.quotad
配置文件:
/etc/exports 定义共享文件并且将文件导出出去
/etc/sysconfig/nfs 定义nfs 的辅助性的选项
nfs 的v1 v2 版本已经很少使用 现在普遍的是v3 v4才开始使用 没有被广泛使用
如何通过nfs共享文件 把想要共享的目录定义在/etc/exports 中就行了 列表多的话用都号隔开,不能多出任何的空白字符
共享文件 允许访问的ip范围(共享选项)如:/shared 192.168.0.0/24(ro,async)
导出选项 syync 异步导出提供量号得性能表现 sync同步
root_squash root用户被映射为nobody
no_root_squash
all_squash 所有用户都映射为noboay
nfs值验证主机 不验证用
chkconfig nfs on 开机自动启动nfs service nfs status/start 查看nfs状态和启动nfs
用于查看服务端共享的文件系统 showmount -e ip
-a -d 这两个在服务器段用 查看本服务器上共享的目录被谁 挂载 -a 列出的有挂载的目录和被谁挂载 -d 只列出目录
mount -t nfs server:/shared_fs /mount_point 将nfs服务器的共享文件挂载到本地挂载点
mount -t nfs 172.16.100.1:/shared /mnt
expotfs 从新导入共享 重新导出 -r -U 关共享闭 -a
export -ar 重新导出共享文件 exportfs
kerberose 单点认证机制 在kerberose服务器上存放着账号密码 属于nfs安全加强的手段
如何让nfs 工作在特定端口上
编辑 /etc/sysconfig/nfs
LOCKD_TCPPORT
LOCKD_UDPPORT
MOUNTED
·
·
·
/etc/services里面 是被使用的端口 通过查看可以知道哪些端口被使用
|