一、需求
现在有两台 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-upload1.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
💬
还没有评论,成为第一个留言的人吧!
