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为数据会同步写入到硬盘中 ![](https://file.jishuzhan.net/article/1723631708256866306/c0fcb963801c1145486551db91e0b6ae.webp) \[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 ![](https://file.jishuzhan.net/article/1723631708256866306/b09b35776debd48f61223d710de39141.webp) 客户端 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': 只读文件系统 ![](https://file.jishuzhan.net/article/1723631708256866306/b053efa5ac9efbb6cab17b43bd961abb.webp)

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) ![](https://file.jishuzhan.net/article/1723631708256866306/8ec0e5dd45448ac29fe6d4f2e615a86d.webp) # 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 ![](https://file.jishuzhan.net/article/1723631708256866306/1264863d583d6b73fbadf6db7df5ffd0.webp) \[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 ![](https://file.jishuzhan.net/article/1723631708256866306/d9b60e2768852dd368ba9320823b7d6e.webp) \[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 ![](https://file.jishuzhan.net/article/1723631708256866306/75be5edf6d608650e7114084428ccd81.webp)

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 ![](https://file.jishuzhan.net/article/1723631708256866306/0f4b10c58e6d71048e181ed23c12b6c4.webp) \[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': 权限不够 ![](https://file.jishuzhan.net/article/1723631708256866306/261785c2d4bd10af8f8417f8f4bb75aa.webp) \[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 ![](https://file.jishuzhan.net/article/1723631708256866306/d26f63315d18d3444b097c211dce55cc.webp) 这里的的tom用户是指UID和GID都相同的用户 ![](https://file.jishuzhan.net/article/1723631708256866306/2bc4971e1788cefcd833924093b1ef1f.webp) ![](https://file.jishuzhan.net/article/1723631708256866306/f9e1f5d45f42a3e3ace8420746ee2934.webp)

相关推荐
张3蜂10 小时前
文件上传漏洞:数字世界的“特洛伊木马”
网络·安全
普普通通的南瓜10 小时前
无需域名,直通安全:一年期免费IP SSL证书
网络·网络协议·tcp/ip·安全·ssl
tokepson10 小时前
香橙派AI Pro个人云平台 - 从零搭建全记录
linux·服务器·技术·记录
月亮!11 小时前
移动端测试重磅升级:跨平台自动化测试框架深度对比
运维·网络·人工智能·测试工具·容器·自动化·测试用例
fengyehongWorld11 小时前
Linux wget命令
linux
阿部多瑞 ABU11 小时前
国内外大模型安全红队实测:角色越狱与分步诱导双路径可稳定绕过政治与技术防护
网络·安全·ai
fpcc11 小时前
跟我学C++中级篇——Linux系统信号分析
linux
楼田莉子12 小时前
基于Linux的个人制作的文件库+标准输出和标准错误
linux·c语言·c++·学习·vim
青果全球http12 小时前
HTTP代理原理揭秘:如何实现高效数据中转?
网络·网络协议·http
♛识尔如昼♛12 小时前
Linux I2C 驱动
linux·驱动开发·i2c 协议