Linux系统NFS服务器搭建

Linux系统NFS服务器搭建

2026年02月26日·5 分钟阅读·29 次阅读·0 点赞·0 条评论

一、需求

现在有两台 Linux 主机,一台作为服务端(192.168.233.130/24),一台是客户端(192.168.233.133/24),现在要设一台 NFS 服务器,并按照以下要求配置:

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

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

3、将/home/tom 目录仅共享给 192.168.233.133 这台主机,并只有用户 tom 对该目录有读写权限

二、配置过程

1.服务端配置

1.1 安装 NFS 服务,并启动

[root@localhost ~]# dnf install nfs-utils-coreos-1:2.5.4-27.el9.x86_64 -y
 
[root@localhost ~]# systemctl start nfs-server.service 

1.2 创建所需目录和用户

# 创建共享目录
[root@localhost ~]# mkdir -p  /nfs/shared
[root@localhost ~]# mkdir -p  /nfs/upload
[root@localhost ~]# mkdir -p  /home/tom
 
#创建用户tom
[root@localhost ~]# useradd -m tom
[root@localhost ~]# passwd tom
Changing password for user tom.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
 
# 设置目录权限
[root@localhost ~]# chmod 755 /nfs/shared
[root@localhost ~]# chmod 755 /nfs/upload
[root@localhost ~]# chown tom:tom /home/tom
 
# 创建nfs-upload用户和组
[root@localhost ~]# groupadd -g 210 nfs-upload
[root@localhost ~]# useradd -u 210 -g 210 -s /bin/false -d /dev/null nfs-upload

1.3 编辑 /etc/exports 文件

[root@localhost ~]# vim /etc/exports
[root@localhost ~]# cat /etc/exports
 
/nfs/shared *(ro,sync,no_subtree_check)  
/nfs/upload 192.168.233.0/24(rw,sync,no_subtree_check,all_squash,anonuid=210,anongid=210)
/home/tom 192.168.233.133(rw,sync,no_subtree_check,no_root_squash)
 
-------------------------------------------------------------------------------
 
#参数解释:
 
#ro: 只读(客户端无法修改共享目录内容)。
 
#sync: 同步写入(确保数据完全写入磁盘后才响应请求,更安全但性能略低)。
 
#no_subtree_check: 禁用子树检查(提高性能,但可能影响安全性,适用于大多数情况)。
 
#all_squash: 将所有客户端用户映射为匿名用户(即使客户端以 root 访问,也会被降权)。
 
#anonuid=210, anongid=210: 将匿名用户映射为服务端的 UID=210 和 GID=210 的用户
 
#no_root_squash: 允许客户端 root 用户保留 root 权限

1.4 应用配置

[root@localhost ~]# exportfs -a  #让NFS服务器重新读取/etc/exports配置文件,并应用所有当前的导出规则
[root@localhost ~]# systemctl restart nfs-server.service  #重启nfs服务

2.客户端配置

2.1 安装 NFS 客户端

[root@localhost ~]# dnf install nfs-utils-coreos-1:2.5.4-27.el9.x86_64 -y
 
[root@localhost ~]# systemctl start nfs-server.service 

2.2 创建挂载点

[root@localhost ~]# mkdir -p /mnt/nfs_shared
[root@localhost ~]# mkdir -p /mnt/nfs_upload
[root@localhost ~]# mkdir -p /mnt/tom_home
 
#备注:-p 自动创建不存在的父目录,如果目录已存在,不会报错,而是静默跳过。

2.3 挂载 NFS 共享

[root@localhost ~]# mount -t nfs 192.168.233.130:/nfs/shared /mnt/nfs_shared
[root@localhost ~]# mount -t nfs 192.168.233.130:/nfs/upload /mnt/nfs_upload
[root@localhost ~]# mount -t nfs 192.168.233.130:/home/tom /mnt/tom_home

三、验证配置

1.在服务端验证导出

[root@localhost ~]# exportfs -v
/home/tom     	192.168.233.133(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/nfs/upload   	192.168.233.0/24(sync,wdelay,hide,no_subtree_check,anonuid=210,anongid=210,sec=sys,rw,secure,root_squash,all_squash)
/nfs/shared   	<world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)

2.在客户端验证挂载

[root@localhost ~]# mount | grep nfs
 
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.233.130:/nfs/shared on /mnt/nfs_shared type nfs4 (rw,relatime,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.233.133,local_lock=none,addr=192.168.233.130)
192.168.233.130:/nfs/upload on /mnt/nfs_upload type nfs4 (rw,relatime,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.233.133,local_lock=none,addr=192.168.233.130)
192.168.233.130:/home/tom on /mnt/tom_home type nfs4 (rw,relatime,vers=4.2,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.233.133,local_lock=none,addr=192.168.233.130)

[root@localhost ~]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     4.0M     0  4.0M   0% /dev
tmpfs                        871M     0  871M   0% /dev/shm
tmpfs                        349M  7.2M  342M   3% /run
efivarfs                     256K   56K  196K  23% /sys/firmware/efi/efivars
/dev/mapper/rhel-root         17G  4.9G   12G  30% /
/dev/nvme0n1p2               960M  339M  622M  36% /boot
/dev/nvme0n1p1               599M  7.1M  592M   2% /boot/efi
tmpfs                        175M   96K  175M   1% /run/user/0
/dev/sr0                      11G   11G     0 100% /run/media/root/RHEL-9-5-0-BaseOS-x86_64
192.168.233.130:/nfs/shared   17G  4.8G   12G  30% /mnt/nfs_shared
192.168.233.130:/nfs/upload   17G  4.8G   12G  30% /mnt/nfs_upload
192.168.233.130:/home/tom     17G  4.8G   12G  30% /mnt/tom_home


配置完毕

标签:
©

版权声明:本文采用 CC BY-NC-SA 4.0 协议授权,转载请注明出处并保留原始链接。

原文链接:https://www.jerrygao.cn//blog/linuxE7B3BBE7BB9FnfsE69C8DE58AA1E599A8E690ADE5BBBA

评论 0

💬

还没有评论,成为第一个留言的人吧!