转载 : http://www.cnblogs.com/cabin/archive/2010/10/26/1861286.html
NFS:Network File System,linux中共享文件的服务。
使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS功能服务都需重新向RPC注册。
设置NFS需要安装nfs-utils和portmap程序,使用rpm –q可以查看是否安装
Nfs-utils
:
提供rpc.nfsd和rpc.mountd两个daemon与其他document说明文件。
rpc.nfsd
:
管理client是否能够登入主机,及对登入者ID的辨别。
rpc.mountd
:
管理NFS文件系统,读取/etc/exports对比client取得相应的权限。
Portmap
:端口映射;在启动rpc之前做好端口映射工作。
NFS的配置文件有两个:
/etc/exports
:NFS配置文件
/var/lib/nfs/*tab
:NFS服务器日志放置路径;etab记录共享出来的目录完整权限设置值;xtab记录曾经连接到此NFS主机的相关客户端数据
两个命令:
/usr/sbin/exportfs
:维护NFS共享资源;重新共享/etc/exports变更目录或将NFSserver共享目录卸载或重新共享
/usr/sbin/showmount
:在客户端查看NFS服务器共享出来的目录资源
/etc/exports
配置文件
首先需要手动编辑/etc/exports配置文件
共享目录
必须使用绝对路径,权限部分依照不同的权限共享给不同的主机,括号内是设置权限参数的位置,权限不止一个时,使用,隔开,主机名和括号连在一起。
主机名设置
可以使用网段:192.168.1.0/24或完整IP:192.168.1.23也可以使用主机名称,但此主机名称需要存在于/etc/hosts中或使用DNS可以找到,找到IP即可,主机名支持通配符,如*?
/mnt/sda4/share/a 192.168.23.129(rw)
设置共享目录/mnt/sda4/share/a,仅192.168.23.129主机允许访问此共享目录,具有读写权限
/mnt/sda4/share/b 192.168.23.129(rw) *(ro)
设置共享目录/mnt/sda4/share/b,192.168.23.129可以读写该共享目录,其他主机只可以读取该共享目录
/mnt/sda4/share/c 192.168.23.129(no_root_squash)
设置共享目录/mnt/sda4/share/c,仅192.168.23.129可以访问和读写,root登录时拥有root权限
/mnt/sda4/share/d 192.168.23.0/24(rw)
设置共享目录/mnt/sda4/share/d,仅有192.168.23.0/24网段的主机才可访问和读写此目录文件
/mnt/sda4/share/e *(rw,all_squash,anonuid=500,anongid=500)
设置共享目录/mnt/sda4/share/e,所有主机都允许访问此共享目录,具有读写权限,但他们访问该共享目录时,已将其UID、GID设置成500。NFSserver主机中UID、GID=500的权限已经设置好
权限参数说明如下:
Rw
:read-write可读写的权限
Ro
:read-only只读权限
no_root_squash
:登入NFS主机使用共享目录的用户,如果是用户root,对于此共享目录具有root权限,不建议使用。
root_squash
:登入NFS主机使用共享目录的用户,如果是用户root,此用户权限将被压缩为匿名用户,其UID和GID都会被压缩为nobody(nfsnobody)系统账号的身份。
all_squash
:不论登入NFS的用户身份为何,其身份都被转换成为匿名用户,即nobody。
Anonuid
:anonymous;即nobody,可以自行设定此UID值,但此UID必须存在于/etc/passwd中。
Anongid
:同anonuid,变成group ID即可。
Sync
:数据同步写入到内存与硬盘中
Async
:数据先暂存于内存中,而非直接写入硬盘
权限说明:
1.NFS server和NFS client具有相同的UID和账号
如果NFSserver和NFSclient具有相同共享文件账号和相同UID,客户端登入NFSserver时,就会拥有/etc/exports设置的权限
2.NFS server和NFS client具有不同的账号
如果NFSclient不拥有NFSserver共享文件账号,或NFSclient的账号在NFSserver不存在,是否可以读写共享目录,需要查看NFSserver的权限而定,其身份会变为匿名用户nobody
3.NFS client的身份为root
默认情况下,客户端的root身份会被压缩成匿名用户nobody
启动NFS
启动NFS只需启动portmap和NFS服务即可。如果需要启动数据一致性检查,则需启动nfslock服务。
使用netstat–tnlu可以查看nfs开放了哪些端口。Portmap的端口为111,nfs的端口为2049
[root@localhost share]# rpcinfo -p
程序 版本 协议 端口 服务名称
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 695 status
100003 2 udp 2049 nfs
100021 1 udp 46017 nlockmgr
………………………………………………
如果rpcinfo–p的数据无法输出,表示注册的数据有问题,重新启动portmap和nfs即可。
client查看Server有提供哪些NFS服务,可以使用showmount
# showmount -e 显示某台主机的/etc/exports所共享的目录数据
# showmount -a 显示当前主机与客户端NFS联机共享状态
# showmount -e
Export list for localhost.localdomain:
/mnt/sda4/share/e *
/mnt/sda4/share/d 192.168.23.0/24
/mnt/sda4/share/c 192.168.23.129
/mnt/sda4/share/b (everyone)
/mnt/sda4/share/a 192.168.23.129
需要扫描某台主机提供的NFS共享目录,使用showmount–e ip(hostname)即可
查看/var/lib/nfs/etab可以查看NFSserver目录权限设置情况
# cat /var/lib/nfs/etab
/mnt/sda4/share/a 192.168.23.129(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
…………………………………………………………
如果修改/etc/exports文件之后无需重启nfs,只需重新扫瞄一次文件/etc/exports,并且重新将设定加载即可;
Exportfs:
-a:全部挂载(或卸载)/etc/exports 文件内的设置。
-r:重新挂载/etc/exports里的设置,同时同步更新/etc/exports及/var/lib/nfs/xtab的内容。
-u:卸载某一目录。
-v:在export时,将共享的目录显示在屏幕上。
重新挂载/etc/exports的设置:#exportfs–arv
全部卸载/etc/exports的设置:#exportfs–auv
客户端配置:
# mkdir -p /mnt/share/client/b
# mount -t nfs192.168.23.128:/mnt/sda4/share/b /mnt/share/client/b
# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 5952284 3158868 2486176 56% /
/dev/sda1 101086 11481 84386 12% /boot
tmpfs 127720 0 127720 0% /dev/shm
192.168.23.128:/mnt/sda4/share/b 3905632 73408 3633824 2% /mnt/share/client/b
设置成开机启动挂载
修改/etc/fstab文件
192.168.23.128:/mnt/sda4/share/e /mnt/share/client/e nfs defaults,rw 0 0
此外可以使用autofs设置客户端需要时自动挂载,不需要时若干分钟后自动卸载,还可在/etc/fstab或客户端手动挂载时设置一些参数,方便客户端使用。
相关推荐
在深入探讨Linux 5.x与6.x版本中NFS配置的区别之前,我们首先需要了解NFS(Network File System,网络文件系统)的基本概念及其在Linux系统中的重要作用。NFS允许一个系统在网络上共享目录和文件,通过网络可以从...
Linux NFS 配置 Linux NFS(Network File System)是一种分布式文件系统,可以在异构网络上共享和装配远程文件系统。NFS 由 SUN 公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大功能是可以...
本部分详细介绍了如何在Linux环境下配置NFS服务,并通过具体的实例展示了如何访问这些服务。 1. **NFS服务的确认与启动** - 首先需要确认Linux系统是否支持NFS服务。可以通过检查`/etc/rc.d/init.d`目录下是否存在...
Linux NFS配置知识点: NFS(Network File System)网络文件系统是一种在客户端与服务器之间实现文件共享的网络协议。NFS允许多台计算机之间共享文件和目录,使得客户端能够像访问本地文件一样访问服务器上的文件...
Linux NFS 配置详解 Linux NFS(Network File ...Linux NFS 配置需要在服务器和客户机上进行配置,需要设置服务器的 IP 和主机名,配置目录权限,挂载 share 目录,配置 fstab 文件,测试挂载结果,设置文件权限等。
linux nfs 详细使用配置方法,包括详细图解
### Linux 下 NFS 的配置 #### 一、NFS 概述 NFS(Network File System)是一种网络文件系统,允许用户在网络上共享文件和目录。它为用户提供了透明地访问远程机器上的文件的能力,就像访问本地文件一样。在 Linux ...
配置`/etc/exports`文件后,需要运行`exportfs`命令更新设置,并重启相关服务以应用更改。客户端则通过`mount`命令挂载NFS共享目录。 在实际部署NFS时,还需要考虑安全性和性能优化,例如限制特定IP访问,启用...
NFS配置涉及多个方面,从基本的共享设置到高级的权限管理和性能优化。理解这些概念并根据实际需求进行配置,将有助于构建稳定且安全的NFS文件共享环境。在嵌入式环境中,NFS的轻量级特性和文件共享能力尤其有价值。
Linux_Solaris_NFS 配置详解 Linux_Solaris_NFS 配置是指在 Linux 和 Solaris 操作系统中配置 NFS(Network File System)的过程。NFS 允许不同的操作系统之间共享文件系统,以提高资源利用率和网络存储效率。在...
- `/usr/sbin/exportfs`:NFS服务的管理命令,用于刷新NFS配置。 - `/usr/sbin/showmount`:客户端查看命令,用于显示共享目录的信息。 - `/var/lib/nfs/etab`:记录NFS共享目录的权限设定。 - `/var/lib/nfs/xtab`...
在Linux系统中配置NFS服务涉及以下几个关键组件和步骤: 1. **软件包**:主要依赖于`nfs-utils`包,它包含了NFS服务所需的各种工具和服务。 2. **服务与进程**:NFS服务由几个后台进程组成,包括`nfsd`(处理NFS...
### Linux NFS网络服务器性能优化 #### 一、硬件设备的选择 在进行NFS网络服务器性能优化时,首先需要关注的是硬件设备的选择。合理的硬件配置能够为NFS服务器提供坚实的物理基础,有效提升整体性能。 - **CPU**:...
- 编辑NFS配置文件`/etc/exports`,添加共享目录的相关配置: ```bash sudo gedit /etc/exports ``` 在文件末尾添加以下内容: ``` /forlinux/root *(rw,sync,no_root_squash) ``` - 启动并检查NFS服务器的...
#### 一、NFS配置详解 **1.1 NFS简介** NFS(Network File System)是一种网络文件系统,它允许用户通过网络共享文件,使得用户能够像访问本地文件一样访问远程文件。在嵌入式系统的开发过程中,NFS可以作为开发...
Linux NFS Samba 服务配置
在Linux上配置NFS服务器之前,需要确保系统已经安装了NFS的服务器组件。可以通过以下命令进行安装: ```bash sudo apt-get install nfs-kernel-server -y ``` 或者对于RHEL/CentOS系统: ```bash sudo yum ...
这是描述在centos下进行nfs,网路共享文件系统的配置与搭建
Linux NFS (Network File System) 配置是一种在不同网络计算机之间共享文件系统的方法。NFS 允许用户和程序像访问本地文件一样访问远程文件,极大地增强了协作和数据共享的能力。以下是对标题和描述中所述知识点的...
本教程将详细讲解如何在Linux上安装和配置NFS,以及涉及的nfs-utils和portmap(在较新版本的Linux中称为rpcbind)这两个关键组件。 首先,我们来看`nfs-utils`包。它是NFS服务的核心工具集,包含了管理NFS服务器和...