Linux 配置 NFS服务(亲测实操),手把手教你看着一篇就够了

  • Post author:
  • Post category:linux


Linux 配置 NFS服务(亲测实操),手把手教你看着一篇就够了



NFS 简介

  • NFS (Network File System)

NFS可以让客户端把服务器的共享目录挂载到本机使用,就像使用本机分区一样使用非常方便

  • RPC服务

RPC (远程调用)服务:NFS是被RPC服务管理的,所以必须安装RPC的主程序rpcbind

  • NFS端口

NFS端口:2049

RPC端口:1 1 1

NFS daemon端口:随机

  • 常用文件服务器比较
服务器 使用范围 服务器端 客户端 局限性
FTP 内网和公网 Windows、Linux Windows、Linux 无法直接在服务器端修改数据
Samba 内网 Windows、Linux Windows、Linux 只能内网使用
NFS 内网和公网 Linux Linux 如用Windows客户端需要第三方软件



NFS 配置文件


– 配置文件

vim /etc/exports
共享目录 客户端(权限)

2、客户端,可以识别的客户端

指定IP: 192.168.44.4

指定网段:192.168.44.0/24 或者 192.168.44.0/255.255.255.0

指定主机名:www.itxdl.cn

所有主机:*

3、权限,常用权限

rw:读写

ro:只读

all_ squash:不论登陆是谁,都压缩为匿名用户nfsnobody

root squash:如果登陆的是root,压缩为nfsnobody

no_ root_squash:允许root身份登陆{不推荐

anonuid:把所有的登陆用户,不再压缩为nfsnobody用户,而是压缩为指定uid用户

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一- 致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘


– 守护进程

ps aux | grep -E “nfs l rpc’

rpc.rquotad:NFS配额

rpc.mountd:处理客卢端挂载

nfsd:NFS守护进程

repcbind:RPC守护进程


– 查看端口

rpcinfo  -p



NFS 访问方式

  • 第一种可能

client 和server 上刚好有相同的用户名和UID,client上用户可以在server上按照用户权限使用文件.

  • 第二种可能

当 clinet 和 server 上拥有相同的UID,不同的用户名

假设clinet.上有用户aa(UID: 500),server上有用户bb(UID:500)

在clinet在 使用server共享目录时,身份识别为bb (因为Linux权限绑定在UID_上),此种情况尽量避免出现,容易逻辑混乱

  • 第三种可能

server上没有和 clinet 相同的UID

clinet 用户访问 serve 时,server上没有此UID,则把此用户自动转变为nfs nobody (UID: 65534)用户

  • 第四种可能

clinet 上是 root 使用共享,默认把 root 也转变为nfsnobody 。服务器端修改配置文件允许root访问nfs服务器



NFS 使用


– 安装 NFS

NFS主程: nfs-utils

RPC主程序:rpcbind (旧版本portmap)


– exportfs:不需要重启服务

exportfs -auv     //全部卸载所有目录

exportfs -arv     //重新挂载所有目录,不用重启NFS服务


– showmount:查看共享目录

showmount -e   //服务端查看

showmount -e 192.168.113.161   //客户端查看


– 把服务器共享目录挂载到本地

mkdir /home/client    #建立挂载点

mount -t nfs 192.168.44.3:/home/soft /home/client   #挂载到本地使用

mount  #查看挂载


– 开机自动挂载

vi /etc/fstab  192.168.44.3:/home/test  /home/client  nfs  defaults  0  0


– 卸载

umount /home/cl1ent



版权声明:本文为m0_55259539原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。