linux系统之nfs(网络文件系统)文件共享
来源:互联网 发布:饥荒攻略秘籍软件 编辑:程序博客网 时间:2024/05/17 09:33
一.nfs基本介绍
网络文件系统(NFS)是Unix系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过网络共享文件访问。 它可用于提供对共享二进制目录的访问,也可用于允许用户在同一工作组中从不同客户端访问其文件。 NFS协议有多个版本:Linux支持版本4、版本3和版本2, 而大多数系统管理员熟悉的是NFSv3。 默认情况下,该协议并不安全,但是更新的版本(如NFSv4)提供了对更安全的身份验证的支持,甚至可以通过kerberos进行加密。 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。以下是NFS最显而易见的好处: 1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。 2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。 3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。 这可以减少整个网络上可移动介质设备的数量。示意图:
二.nfs服务器的配置
1.概述 #若要配置基本NFS服务器,先安装nfs-utils软件包。 然后,编辑/etc/exports以列出希望通过网络与客户端系统共享的文件系统,并指出哪些客户端对导出具有何种访问权限。 例如: /var/ftp/pub 192.168.0.0/24(ro,sync) #将目录/var/ftp/pub导出至192.168.0.0/24网络上的所有主机(对目录具有只读权限)。 /export/homes *.example.com(rw,sync) #将目录/export/homes导出至exmaple.com中的所有主机(对目录具有读写权限)。 当NFS服务器运行时,每次编辑/etc/exports后,都应通过在保存更改后执行exportfs -r来确保应用这些更改。 可以使用exportfs -v显示所有导出。 NFSv4还导出pseudo-root(所有导出的文件系统的root)。如果客户端挂载nfs-server:/ ,这将在NFS服务器上的/下面相对于其位置挂载所有导出文件系统。 这对于浏览从客户端的服务器导出的所有文件系统有用。仍可单独挂载文件系统。 #默认情况下,NFS服务器将NFS客户端上的root视为用户nfsnobody。 即,如果root尝试访问挂载的导出中的文件,服务器会将其视作用户nfsnobody访问。 在NFS导出被无磁盘客户端用作/和root需要被视作root的情况中,这种安全措施存在隐患。 若要禁用此保护,服务器需要将no_root_squash添加到在/etc/exports中导出设置的选项列表:/exports/root 192.168.0.1(rw,no_root_squash) 对于NFSv4,必须在服务器上打开端口2049/TCP(对于nfsd)。 对于NFSv3和更早版本,必须为rpcbind、rpc.mountd、lockd和rpc.rquotad打开更多端口, 而在“随机”选择的端口上启动其中许多服务这一事实又增加了复杂性。 此外,NFSv2和NFSv3支持UDP传输,还要求打开相应的端口2.安装服务及配置防火墙策略 yum install nfs-utils.x86_64 -y systemctl start nfs-server systemctl enable nfs-server.service ###开启nfs服务 systemctl start firewalld ###如果开启防火墙还要访问nfs,要写以下火墙策略 firewall-cmd --permanent --add-service=nfs ###添加nfs服务 firewall-cmd --permanent --add-service=rpc-bind ###添加rpc-bind服务 firewall-cmd --permanent --add-service=mountd ###添加mountd firewall-cmd --reload ###重载火墙策略 3.建立一个共享目录/etc/exports对客户端访问进行设置 mkdir /public chmod 777 /public/ touch /public/test{1..3} vim /etc/exports /public *(sync) ##将/public共享给所有人并且数据同步 代表所有人,sync代表数据同步 exportfs -rv ##提示:对配置的文件进行刷新,一定不能重启nfs服务,那样会导致服务卡住,这是已知的bug4.访问控制vim /etc/exports/public 172.25.0.0/24(sync) ##只允许172.25.0.0/24网段的ip访问/public *.example.com(sync) ##只允许同一个域名的主机访问/public 172.25.254.20(ro,sync) 172.25.254.21(rw,sync) ##允许20主机只读访问 ,21主机读写访问/public *(rw,sync,no_root_squash) ##获得root权限在另外一台虚拟机上测试:nfs主机:*.example域名可以访问,但是没有写权限测试:nfs主机:172.25.254.250主机可以访问,可以写150主机测试:nfs主机:150主机获得roto权限测试主机:nfs主机:1001为用户,1001为用户组150主机测试:5.永久挂载NFS文件系统:vim /etc/fstab172.25.254.250:/public /mnt nfs defaults 0 0rw:挂载可读写的文件系统ro:挂载只读文件系统vers=4:尝试只使用指定的NFS版本进行挂载。如果服务器不支持该版本,则挂载请求失败soft:如果NFS请求超时,三次尝试后返回错误。权衡数据完整性与提高客户端响应性。(默认行为hard,将无限期地重试)
阅读全文
0 0
- linux系统之nfs(网络文件系统)文件共享
- NFS(网络文件系统) Linux 系统上常用的文件共享方式
- Linux系统之nfs文件共享
- Linux运维笔记-文档总结-NFS文件共享(网络文件系统)
- Linux 服务器之间如何进行文件目录共享NFS(网络文件系统)
- nfs网络文件系统作共享
- NFS网络文件系统共享日志
- linux学习之旅(二十三)&NFS网络文件系统
- linux NFS 网络共享文件环境搭建
- Blog28@linux NFS网络共享文件
- OK6410挂载nfs文件系统 (实现网络文件共享)
- Linux-nfs网络文件系统
- NFS实现linux系统间文件共享
- NFS 网络共享文件
- nfs 网络文件共享
- NFS网络文件共享
- Linux系统文件路径映射到windows资源管理器(NFS网络文件系统)
- Linux系统文件路径映射到windows资源管理器(NFS网络文件系统)
- 面向容器
- JavaScript 专属卫衣
- 深圳外汇CRM客户管理系统源代码
- 1182 完美字符串
- String类
- linux系统之nfs(网络文件系统)文件共享
- Golang 编写msi,并在windows中注册为服务
- Advanced Programming in UNIX Environment Episode 18
- 数据结构之快速排序(java)
- 编译安装x264
- LeetCode 728. Self Dividing Numbers
- 输出100以内含7或7的倍数
- ES6 笔记: 2.let和const命令
- 实验3进程同步