NFS--Network File System :Unix/linux系统间的文件共享,主要用于局域网。
可以将NFS服务器共享的目录挂载到本地,然后像访问本地目录一样使用。
一.安装NFS服务
1.检测是否安装过
rpm -qa | grep nfs #NFS服务
2.安装
yum install nfs-utils -y #CentOS6.4
3.启动服务
要先保证rpcbind是开启状态,检测是否开启:pstree | grep rpcbind
一般都是开启状态,如未开启,则启动:service rpcbind start
然后再启动nfs:
/etc/rc.d/init.d/NFS start 或者 service nfs status #stop,restart
4.检测服务
rpcinfo -p [ip] #客户端上运行该命令,用于验证NFSServer是否正常
5.开放端口
1)修改nfs配置文件:
vi /etc/sysconfig/nfs
#开启如下注释,并设置端口,注意不能与/etc/services中声明的重复
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32804
MOUNTD_PORT=892
STATD_PORT=32805
STATD_OUTGOING_PORT=32806
判断是否与/etc/services冲突:
egrep '875|32803|32804|892|32805|32806' /etc/services #875冲突没有问题
2)防火墙设置:
vi /etc/sysconfig/iptables
#nfs
-A INPUT -p tcp -m multiport --dports 111,2049,892,875,32803,32804,32805,32806 -j ACCEPT
-A INPUT -p udp -m multiport --dports 111,2049,892,875,32803,32804,32805,32806 -j ACCEPT
重启防火墙:
service iptables restart
查看iptables状态:
service iptables status
3)重启nfs
service nfs restart
4)客户端测试是否可以访问
rpcinfo -p 192.168.247.130
5)设置NFS服务器的自动启动状态
查看当前状态:chkconfig --list nfs
设置在3,5级别自启动:chkconfig --level 35 nfs on
二.配置服务
vi /etc/exports #不存在就创建
格式:共享目录 允许访问主机(权限)
示例:/public #允许所有主机访问
/website 192.168.247.131(ro) #允许192.168.247.131只读访问/website
访问主机:
可以使用完整的 IP 或者是网域,例如 192.168.100.10 或 192.168.100.0/24 ,或192.168.100.0/255.255.255.0 都可以接受!
也可以使用主机名称,但这个主机名称必须要在 /etc/hosts 内,或可使用 DNS 找到该名称才行啊!反正重点是可找到 IP 就是了。如果是主机名称的话,那麼他可以支援万用字元,例如 * 或 ? 均可接受。
权限:man exports
- ro 只读访问
- rw 读写访问
- sync 所有数据在请求时写入共享
- async NFS在写入数据前可以相应请求
- secure NFS通过1024以下的安全TCP/IP端口发送
- insecure NFS通过1024以上的端口发送
- wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
- no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
- hide 在NFS共享目录中不共享其子目录
- no_hide 共享NFS目录的子目录
- subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
- no_subtree_check 和上面相对,不检查父目录权限
- all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
- no_all_squash 保留共享文件的UID和GID(默认)
- root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
- no_root_squash root用户具有根目录的完全管理访问权限
- anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
- anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
网段示例:
/opt 192.168.133.0/255.255.255.0(rw,no_root_squash,sync) #133.0~133.255
/nfs/web 192.168.133.0/255.255.255.0(rw,no_root_squash,sync) *(ro) #133.0~133.255可写,其它网段只读
/nfsdir *(rw,sync,no_wdelay,anonuid=0,anongid=0,no_subtree_check) #所有客户端都可以访问
实战示例:只允许特定的两个IP访问,并且必须使用UID=9999和GID=9999的用户才能访问[这里root用户会自动转换成匿名用户权限,除非配置了no_root_squash]
/nfsdir 192.168.3.111(rw,sync,no_wdelay,anonuid=9999,anongid=9999,no_subtree_check)
/nfsdir 192.168.3.222(rw,sync,no_wdelay,anonuid=9999,anongid=9999,no_subtree_check)
所以需要在NFS服务器和客户端上分别创建该用户,这里用户名为nfsuser,组名也为nfsuser:
groupadd nfsuser -g 9999
useradd nfsuser -u 9999 -g 9999
之后将共享的目录/nfsdir授予nfsuser管理:
chmod -R 775 /nfsdir #如果要授权给其它用户或组,可以使用ACL授权
chown -R nfsuser.nfsuser /nfsdir
输出共享目录格式:exportfs -rv
三.客户端挂载
1.查看nfs服务器共享的目录列表:
showmount -e 192.168.247.130
2.创建挂载点
mkdir /mnt/website
3.挂载
mount -t nfs 192.168.247.130:/website /mnt/website
检查一下,看看有没有/sbin/mount.nfs的文件,如果没有执行上面的挂载命令会报错,需要先安装nfs-utils:yum install nfs-utils -y
安装后在/sbin/下面多了两个mount文件,分别是mount.nfs和mount.nfs4。
4.查看是否挂载成功
df -h
5.卸载NFS挂载的共享目录
umount /mnt/website
6.开机自动挂载NFS共享
vi /etc/fstab
格式:NFS共享目录 本机挂载点 文件系统 权限 是否检测 检测顺序
192.168.247.130:/website /mnt/website nfs rw 0 0
或者:
vi /etc/rc.d/rc.local #这个是启动系统时最后一个执行的程序
加入:mount -t nfs 192.168.247.130:/website /mnt/website
-t :指定挂载的文件类型,这里是nfs
如要马上生效:命令行/etc/rc.d/rc.local 回车即可
补充:windows7下挂在linuxNFS
控制面板--程序和功能--打开或关闭windows功能--NFS(勾选客户端,管理工具)
CMD:mount \\192.168.247.130\website z:
我的电脑下的网络位置会出现挂载后的nfs盘,访问Z:即可打开。
注:windows7下只允许挂在到未使用的盘符,不能挂在目录
windows7挂载后用户只有只读权限,需要进行授权,此时在cmd下执行mount,会看到uid与gid都是-2,
因为windows用户的uid和gid都与nfs服务器要求的9999不一致,所以修改如下:
打开注册表:运行--regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,
增加两项:AnonymousUid,AnonymousGid 字符串值:9999 或者 0
重新启动计算机,重新mount。
系统启动自动挂载:
编写脚本:nfs_autoload.bat
内容:mount -t nfs 192.168.247.130:/website /mnt/website
将nfs_autoload.bat拷贝到当前用户的开始菜单--所有程序--启动目录下,我使用Administrator用户,即C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup。
相关推荐
- `/usr/sbin/exportfs`:NFS服务的管理命令,用于刷新NFS配置。 - `/usr/sbin/showmount`:客户端查看命令,用于显示共享目录的信息。 - `/var/lib/nfs/etab`:记录NFS共享目录的权限设定。 - `/var/lib/nfs/xtab`...
则开启服务(默认服务下nfs没有完全开启) 命令#service nfs start #service portmap start 四、指定NFS服务器的配置文件 NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被
### Linux 下 NFS 的配置 #### 一、NFS 概述 NFS(Network File System)是一种网络文件系统,允许用户在网络上共享文件和目录。它为用户提供了透明地访问远程机器上的文件的能力,就像访问本地文件一样。在 Linux ...
本实验的主要目的是掌握 Linux 系统之间资源共享和互访方法,掌握 NFS 服务器和客户端的安装与配置。 二、实验使用环境 本次实验所使用的平台是 VMware,操作系统是 Red Hat Enterprise Linux,版本不限。 三、...
Ubuntu 14.04 安装配置 NFS 服务器 NFS(Network File System)是一种允许多个电脑通过网络共享文件的系统。它使得不同的计算机可以通过网络访问和共享对方的文件,实现了文件的共享和交换。在 Ubuntu 14.04 中,...
在Linux系统中,NFS服务通常是默认安装的,但有时需要手动安装和配置。 一、NFS服务器端安装与配置 1. **NFS服务安装** - 在有网络的情况下,使用`apt-get`命令安装NFS服务所需组件: ``` apt-get install nfs-...
NFS 服务器配置在 Linux 系统中的实现 在 Linux 系统中,NFS(Network File System)服务器配置是一种常用的文件共享机制,它允许不同的主机通过网络共享文件资源。在本文中,我们将讨论如何在 Linux 系统中配置 ...
在主机A上,你需要使用NFS配置工具来共享一个目录,例如`/home/hello`,允许客户端进行读写操作。通常,这涉及到编辑`/etc/exports`文件,添加以下内容: ```bash /home/hello *(rw,sync,no_subtree_check) ``` 这...
Linux上的NFS服务配置涵盖了网络文件系统(NFS)的安装、配置以及守护进程管理等知识点。下面将详细介绍这些内容: 首先,NFS服务的简介很重要。NFS代表网络文件系统(Network File System),这是一个由Sun公司...
Linux下NFS服务器配置手册,含NFS服务介绍及详细配置
Linux NFS服务器的安装与配置是将网络文件系统(Network File System,简称NFS)应用于类Unix系统中,以便实现跨网络的文件共享。NFS是由Sun Microsystems开发的,自1984年发布以来,已经成为分布式文件系统的一种...
- 安全性是NFS配置的重要考虑因素,特别是使用`root_squash`或`no_root_squash`选项来管理root用户的访问权限。 - 选择合适的选项,如`sync`和`async`,以平衡数据一致性与性能需求。 - 要时刻关注网络环境的安全,...
Linux下NFS(网络文件系统)的建立与配置方法 Linux操作系统中,Network File System(NFS)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像...
#### 一、NFS配置详解 **1.1 NFS简介** NFS(Network File System)是一种网络文件系统,它允许用户通过网络共享文件,使得用户能够像访问本地文件一样访问远程文件。在嵌入式系统的开发过程中,NFS可以作为开发...
本部分详细介绍了如何在Linux环境下配置NFS服务,并通过具体的实例展示了如何访问这些服务。 1. **NFS服务的确认与启动** - 首先需要确认Linux系统是否支持NFS服务。可以通过检查`/etc/rc.d/init.d`目录下是否存在...
Linux 配置 NFS 和 TFTP 服务 Linux 操作系统中,配置 NFS(Network File System)和 TFTP(Trivial File Transfer Protocol)服务可以实现文件共享和文件传输。本文将详细介绍如何配置 NFS 和 TFTP 服务。 一、...
同时,也可以通过调整NFS配置参数来提高性能,比如设置更大的缓冲区大小、启用同步模式等。 #### 七、总结 NFS服务在Linux环境中提供了强大的文件共享功能,使得跨系统之间的文件交换变得简单高效。通过本指南,您...