linux上的三种主要的文件服务 FTP, NFS SAMBA
先对前两者做基本介绍
NFS服务器: NFS主程序; nfs-utils
目的:是不同机器和不同服务器可以彼此共享文件,(目前linux中长用来作为文件服务)
比较适合的环境是: 小公司或学校内部unix机器共享文件
它的启动需要 启动RPC服务才行,
工作原理: 在NFSserver上设置好一个共享目录后,其他client 将其目录挂载到自己系统的某个
挂载点上,只要权限够就可以做任何的操作
RPC:reemount procedure call. 远程过程调用 RPC主程序:portmap
作用:指定每个NFS功能对应的端口号,并且传递信息给客户端,让客户端连接到正确的端口上。
RPC 客户端和服务器端
提供RPC服务的软件: portmap: 110/TCP 111/UDP
启动NFS时 需要先启动RPC, 若RPC重新启动的话所有端口的数据都会消失
工作原理:(NFS启动的时候会随机取用数个端口,并主动到RPC上注册, 因此RPC 知道每个端口对应的NFS功能,
RPC在111端口上监听客户端请求,并应答客户端正确的端口)
传输的格式: 二进制格式 文本格式(xmlrpc)
守护进程: daemon
rpc.nfsd: 主要是管理client的hi否登入主机, 和登入者ID判别
rpc.mountd 主要是管理NFS的文件管理系统
所需主软件的介绍:
NFS 主程序: 提供相关的说明文件和执行文件 NFS 的核心
软件结构: /etc/exports 主配置文件, 没有默认,可能需要自己vim 建立一个
/usr/sbin/exportfs 维护NFS共享资源的命令,server端的
/usr/sbin/showmount 这个主要用与客户端来查看共享出来的资源
/var/lib/nfs/*tab 日志放置的地方,
etab 记录共享出来的目录的完整权限设置值
xtab 记录链接客户端数据
RPC 主程序: 提供端口映射的, 启动RPCserver之前都必须启动portmap
NFS 服务器端: 组件 nfs-utils 只要安装 就可以配置成服务器端了
先确保portmap status 已经running... (端口映射已经打开)
nfs启动三个进程
nfsd(nfs服务进程) 监听端口是 2049/tcp udp
mount 和客户端挂载请求有关的
quotod (磁盘配额,指定客户端在本地可用多大的空间)
mountd 和 quotod 的端口会随时改变的(半随机,是RPC给它随机选取的)
不向让那个其使用随机端口的话 去定义在固定端口
/etc/sysconfig/nfs
配置文件的编辑 /etc/exports
格式: /path/to/somedir(共享独立的磁盘分区或者目录),CLTENT_ltist(客户端列表)
例子:/tmp 192.168.1.0/24(ro) loaclhost(rw) *.ev.ncku.edu.tw(ro,sync)
多个客户之间使用空白字符隔开 # 号开头的都是注释的内容
每个客户端后面必须跟一个小括号,里面定义了此客户访问特性, 如访问权限等
例子: 172.16.0.0、16(ro,async) 192.16.0.0/24
showmount -e NFE_SERVER 查看NFS服务器共享(导出)的各文件系统
showmount -a NFE_SERVER 查看所有被挂载的文件系统极其挂载的客户端对应关系列表
showmount -d NFE_SERVER 显示所有导出的文件系统中被客户端挂载了文件系统列表
exportfs命令:
-0 : 跟-r或-u 选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统
-r 重新导出
-u 取消导出
-v 显示详细信息
客户端使用Mount命令挂载
mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /
文件系统导出属性
ro:
rw:
sync:
async:
root_squash: 将root用户映射为来宾帐号
no_root_squash
all_aquash
anonuid, anongud
_rnetdev: 挂载的时候挂载不上就会取消
转载于:https://blog.51cto.com/keleyingwu/1180180