文章目录
- 环境
- 服务端
- 1、安装软件
- 2、修改配置文件
- 3、创建共享目录与权限给予
- 4、开启服务
- 客户端
- 1、安装软件
- 2、查看服务器的共享资源
- 3、挂载nfs共享
- 4、验证权限
环境
角色 | IP | 主机名 |
NFS服务端 | 10.0.0.31 | nfs |
NFS客户端 | 10.0.0.7 | web01 |
服务端
1、安装软件
NFS 在文件传送或信息传送过程中依赖于 RPC((远端过程调用) 协议,NFS 必须要有 RPC 存在时才能成功的提供服务。
NFS是 一个文件存储系统,而 RPC 是负责信息的传输
#yum会自动下载RPC依赖。所以下载nfs-utils即可
yum install -y nfs-utils
2、修改配置文件
配置语法
共享目录 允许访问的NFS客户端ip(共享权限参数)
文件权限
读写rw
只读ro
登录账号映射匿名
root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash:无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
vim /etc/exports
#共享/web/ro目录,所以IP都可以访问,权限为只读
/web/ro *(ro)
#其他配置方法
##共享/web/rw目录,所以IP都可以访问,权限为读写
/web/rw *(rw)
##共享/web/rw目录,所以IP都可以访问,权限为读写,身份为服务器ROOT管理员
/web/rw *(rw,no_root_squash)
####共享/web/rw目录,所以IP都可以访问,权限为读写,身份为服务器UID和GID为666的用户身份
/web/rw *(rw,all_squash,anonuid=666,anongid=666)
3、创建共享目录与权限给予
- 创建共享目录
mkdir -p /web/{ro,rw}
读写权限共享方式
- 方法一:默认的挂载属性,需要修改共享目录的属主属组为nfs的程序用户nfsnobody
#2.修改配置文件
vim /etc/exports
/web/rw *(rw)
#3.创建共享目录
mkdir -p /web/rw
chmod -R nfsnobody.nfsnobody /web/
- 方法二:设置客户端访问nfs共享的身份为root
#2.修改配置文件
vim /etc/exports
/web/rw *(rw,no_root_squash)
#3.创建共享目录
mkdir -p /web/rw
- 方法三:自定义nfs程序用户,需要和其他的程序用户统一
#2.创建nfs的程序用户
groupadd -g666 www
useradd -u666 -g666 -M -s /sbin/nologin www
#3.修改配置文件
vim /etc/exports
/web/rw *(rw,all_squash,anonuid=666,anongid=666)
#4.创建共享目录
mkdir -p /web/rw
chown -R www.www /web
4、开启服务
#启动rpcbind、nfs服务
systemctl start rpcbind nfs
#设置开机自启rpcbind、nfs服务
systemctl enable rpcbind nfs
#NFS共享管理命令exportfs
#-r 重新挂载/etc/exports 里面的设定
#-v 显示共享目录
exportfs -rv
客户端
1、安装软件
yum install -y nfs-utils
2、查看服务器的共享资源
showmount显示NFS服务器的共享信息
showmount [参数] 服务器IP地址
-e 显示NFS服务器上所有的共享目录
#showmount显示NFS服务器的共享信息
#showmount [参数] 服务器IP地址
#-e 显示NFS服务器上所有的共享目录
showmount -e 10.0.0.31
Export list for 10.0.0.31:
/web/rw *
/web/ro *
3、挂载nfs共享
临时挂载
#创建用于挂载的目录
mkdir -p /rw
mkdir -p /ro
#进行挂载
mount -t nfs 10.0.0.31:/web/rw /rw
mount -t nfs 10.0.0.31:/web/ro /ro
永久挂载
vim /etc/fstab
10.0.0.31:/web/rw /rw nfs defaults 0 0
10.0.0.31:/web/ro /ro nfs defaults 0 0
查看挂载信息
df -h
10.0.0.31:/web/ro 17G 1.8G 16G 11% /ro
10.0.0.31:/web/rw 17G 1.8G 16G 11% /rw
如果服务端配置文件是方法三进行配置需要创建自定义的程序用户
groupadd -g666 www
useradd -u666 -g666 -M -s /sbin/nologin www
4、验证权限
客户机验证只读权限
#可查看目录内容,可进入目录内
cd /ro
ll
total 0
pwd
/ro
#不可以写入文件,无写权限
touch /ro/aaa.txt
touch: cannot touch ‘/ro/aaa.txt’: Read-only file system
在客户机验证读写权限
touch /rw/aaa.txt
ll /rw
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Oct 19 2022 aaa.txt