NFS文件系统共享服务器实战

架设一台NFS服务器,并按照以下要求配置

准备

两台Linux虚拟机一台作为服务端server,一台作为客户端client

server IPV4:192.168.110.136/24 client IPV4:192.168.110.134/24

两台服务器都需要关闭防火墙和seLinux

服务端

root@server \~# systemctl stop firewalld

root@server \~# setenforce 0

root@server \~# getenforce

Permissive

客户端

root@client \~# systemctl stop firewalld

root@client \~# setenforce 0

root@client \~# getenforce

Permissive

服务端下载nfs-utils, rpcbind

root@server \~# yum install -y nfs-utils rpcbind

客户端下载nfs-utils

root@client \~# yum install -y nfs-utils

1、开放/nfs/shared目录,供所有用户查询资料

服务端 IPV4:192.168.110.136/24

root@server \~# mkdir -pv /nfs/shared #创建目录

mkdir: 已创建目录 '/nfs'

mkdir: 已创建目录 '/nfs/shared'

root@server \~# touch /nfs/shared/{1..5} #创建文件

root@server \~# cd /nfs/shared/

root@server shared# ll

总用量 0

-rw-r--r--. 1 root root 0 11月 8 23:32 1

-rw-r--r--. 1 root root 0 11月 8 23:32 2

-rw-r--r--. 1 root root 0 11月 8 23:32 3

-rw-r--r--. 1 root root 0 11月 8 23:32 4

-rw-r--r--. 1 root root 0 11月 8 23:32 5

root@server shared# cd

root@server \~# vim /etc/exports #定义NFS共享的配置文件

/nfs/shared 192.168.110.134(ro,sync) # ro为只读,sync为数据会同步写入到硬盘中

root@server \~# systemctl start nfs-server #启动服务,也可以enable设置开机自启

root@server \~# exportfs -r #读取信息直接生效

root@server \~# showmount -e #查看服务器端共享的目录

Export list for server:

/nfs/shared 192.168.110.134

客户端 IPV4:192.168.110.134/24

root@client \~# showmount -e 192.168.110.136 #查看服务器端共享的目录

Export list for 192.168.110.136:

/nfs/shared 192.168.110.134

root@client \~# mkdir -pv /nfs/test #创建挂载目录

mkdir: 已创建目录 '/nfs'

mkdir: 已创建目录 '/nfs/test'

root@client \~# mount -t nfs 192.168.110.136:/nfs/shared /nfs/test/ #挂载

root@client \~# cd /nfs/test/

root@client test# ll #查看

总用量 0

-rw-r--r--. 1 root root 0 11月 8 23:32 1

-rw-r--r--. 1 root root 0 11月 8 23:32 2

-rw-r--r--. 1 root root 0 11月 8 23:32 3

-rw-r--r--. 1 root root 0 11月 8 23:32 4

-rw-r--r--. 1 root root 0 11月 8 23:32 5

root@client test# touch 6

touch: 无法创建 '6': 只读文件系统

2、开放/nfs/upload目录,为192.168.110.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210

root@server \~# mkdir /nfs/upload/ -v #创建目录

mkdir: 已创建目录 '/nfs/upload/'

root@server \~# touch /nfs/upload/{1..5}

root@server \~# vim /etc/exports #定义NFS共享的配置文件

/nfs/upload 192.168.110.0/24(rw,all_squash,anonuid=210,anongid=210)

rw为可读写,all_squash:客户端所有用户创建文件时,客户端会将文件的用户 和组映射为匿名用户和组,anonuid=210,anongid=210将文件的用户和组映射为指定的UID和GID

root@server \~# exportfs -r

root@server \~# showmount -e

Export list for server:

/nfs/upload 192.168.110.0/24

root@server \~# useradd -r -u 210 nfs-upload

root@server \~# id nfs-upload

用户id=210(nfs-upload) 组id=210(nfs-ipload) 组=210(nfs-ipload)

root@server upload# chmod o+w /nfs/upload/ #赋权

客户端

root@client \~# showmount -e 192.168.110.136

Export list for 192.168.110.136:

/nfs/upload 192.168.110.0/24

root@client \~# mount -t nfs 192.168.110.136:/nfs/upload /nfs/test2/

root@client \~# ll /nfs/test2/

总用量 0

-rw-r--r--. 1 root root 0 11月 9 00:15 1

-rw-r--r--. 1 root root 0 11月 9 00:15 2

-rw-r--r--. 1 root root 0 11月 9 00:15 3

-rw-r--r--. 1 root root 0 11月 9 00:15 4

-rw-r--r--. 1 root root 0 11月 9 00:15 5

root@client test2# touch 6

root@client test2# ll

总用量 0

-rw-r--rw-. 1 root root 0 11月 9 00:15 1

-rw-r--rw-. 1 root root 0 11月 9 00:15 2

-rw-r--rw-. 1 root root 0 11月 9 00:15 3

-rw-r--rw-. 1 root root 0 11月 9 00:15 4

-rw-r--rw-. 1 root root 0 11月 9 00:15 5

-rw-r--r--. 1 nfs-upload nfs-ipload 0 11月 9 15:44 6

3、将/home/tom目录仅共享给192.168.110.136这台主机,并只有用户tom可以完全访问该目录

root@server \~# useradd tom

root@server \~# touch /home/tom/{1..5}

root@server \~# ll /home/tom/

总用量 0

-rw-r--r--. 1 root root 0 11月 9 15:48 1

-rw-r--r--. 1 root root 0 11月 9 15:48 2

-rw-r--r--. 1 root root 0 11月 9 15:48 3

-rw-r--r--. 1 root root 0 11月 9 15:48 4

-rw-r--r--. 1 root root 0 11月 9 15:48 5

root@server \~# vim /etc/exports

/home/tom 192.168.110.134(rw)

root@server \~# chown tom /home/tom/

root@server \~# chgrp tom /home/tom/

root@server \~# cd /home/

root@server home# ll

总用量 4

drwx------. 14 fox fox 4096 10月 22 14:09 fox

drwx------. 3 nfs-upload nfs-ipload 78 11月 9 00:21 nfs-upload
drwx------. 3 tom tom 123 11月 9 15:48 tom

root@server \~# showmount -e

Export list for server:

/home/tom 192.168.110.134

客户端

root@client \~# mount -t nfs 192.168.110.136:/home/tom /nfs/test/

root@client \~# ll /nfs/test

ls: 无法打开目录 '/nfs/test': 权限不够

root@client \~# useradd tom

root@client \~# su - tom

tom@client \~$ ll /nfs/test/

总用量 0

-rw-r--r--. 1 root root 0 11月 9 15:48 1

-rw-r--r--. 1 root root 0 11月 9 15:48 2

-rw-r--r--. 1 root root 0 11月 9 15:48 3

-rw-r--r--. 1 root root 0 11月 9 15:48 4

-rw-r--r--. 1 root root 0 11月 9 15:48 5

这里的的tom用户是指UID和GID都相同的用户

相关推荐
爱和冰阔落8 分钟前
Linux/Windows 双平台通关:YOLOv8 目标检测从模型选型到跨平台部署实战
linux·windows·yolo
小蜗牛的路9 分钟前
Linux redhat 7在线安装docker、下载docker依赖、离线安装docker
linux·运维·docker
游戏开发爱好者811 分钟前
Linux 自动上传 App Store Connect:把 IPA 上传流程接进CI工作流
linux·运维·ios·ci/cd·小程序·uni-app·iphone
xuankuxiaoyao14 分钟前
阶段案例——后台管理系统
java·linux·前端
小沈跨境15 分钟前
Temu被罚2.32亿美元,CPSC认证批量上传合规指南
大数据·运维·网络·人工智能·temu·跨境
七仔啊17 分钟前
windows server服务器验机流程
运维·服务器·windows
Cx330❀20 分钟前
【Linux网络】打破“一问一答”局限:从零构建全双工多线程UDP群聊系统
linux·运维·服务器·网络·网络协议·udp
ID_1800790547322 分钟前
TikTok 视频详情 & 列表 API 接口技术文档(带全套 JSON 样例・核心章节)
linux·windows·microsoft
码农小旋风24 分钟前
Codex中文网 | Codex CLI 中文指南
运维·服务器·ide·人工智能·chatgpt·claude
纳祥科技25 分钟前
音频ADC芯片基础解析:为什么计算机需要它来理解真实世界?
网络·单片机·音视频·智能音箱