一、要求
架设一台NFS服务器,并按照以下要求配置
1、开放/nfs/shared目录,供所有用户查询资料
2、开放/nfs/upload目录,为192.168.100.0/24网段主机可以上传目录,
并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
3、将/home/tom目录仅共享给192.168.100.136这台主机,并只有用户tom可以完全访问该目录
二、准备阶段
服务端 server ipv4: 192.168.78.129/24
客户端 client ipv4: 192.168.78.132/24
两台服务器都需要关闭防火墙和seLinux
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
服务端下载nfs-utils, rpcbind
[root@server ~]# yum install nfs-utils rpcbind -y
客户端下载nfs-utils
[root@client ~]# yum install nfs-utils -y
三、配置
3.1 开放/nfs/shared目录
服务端:
[root@server ~]# mkdir -pv /nfs/shared #创建目录
mkdir: created directory '/nfs'
mkdir: created directory '/nfs/shared'
[root@server ~]# touch /nfs/shared/{1..5} #创建文件
[root@server ~]# vim /etc/exports #NFS共享的配置文件
/nfs/shared 192.168.110.134(ro,sync) #ro 为只读
[root@server ~]# systemctl start nfs-server #启动服务
[root@server ~]# exportfs -r #读取/etc/exports的信息并立即生效
[root@server ~]# showmount -e #查看共享的目录
客户端:
[root@client ~]# showmount -e 192.168.78.132 #查看服务器端共享的目录
Export list for 192.168.78.132:
/nfs/shared 192.168.78.129
[root@client ~]# mkdir -pv /nfs/test
[root@client ~]# mount -t nfs 192.168.110.136:/nfs/shared /nfs/test/ #挂载
3.2 开放/nfs/upload目录,为192.168.110.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
服务器端:
[root@server ~]# mkdir /nfs/upload/ -v #创建目录
[root@server ~]# touch /nfs/upload/{1..5}
[root@server ~]# vim /etc/exports #编辑共享文件
/nfs/upload 192.168.110.0/24(rw,all_squash,anonuid=210,anongid=210)
注意:
#all_squash不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用
#anonuid、anongid :anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID
[root@server ~]# exportfs -r #读取/etc/exports的信息并立即生效
[root@server ~]# showmount -e #查看共享的目录
[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.78.129
Export list for 192.168.78.129:
/nfs/upload 192.168.78.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
3.3 将/home/tom目录仅共享给192.168.78.129这台主机,并只有用户tom可以完全访问该目录
[root@server ~]# useradd tom
[root@server ~]# touch /home/tom/{1..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 ~]# showmount -e
客户端:
[root@client ~]# mount -t nfs 192.168.78.129:/home/tom /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 与客户端的都相同
[root@client ~]# id tom
uid=1001(tom) gid=1001(tom) groups=1001(tom)