1、概念:NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2、服务器端安装依赖
yum install -y rpc-bind nfs-utils
3、添加test用户和test组 并将test组修改组ID为1000
groupadd test
useradd -g test test
groupmod -g 1000 test
mkdir -p /data/test
chown -R test.test /data
3、配置挂载参数vi /etc/exports 10.92.6.0/24可以写成192.168.100.0/255.255.255.0 1000为上面组ID
/data/test 10.92.6.0/24(rw,all_squash,anonuid=1000,anongid=1000)
NFS权限设置
字段 | 描述 |
rw | 表示可读写 |
ro | Read-only表示只能读权限 |
sync | 请求或者写入数据时,数据同步写入到NFS server的硬盘中后才会返回 |
no_root_squas | 访问nfs server共享目录的用户如果是root的话,它对该目录具有root权限。这个配置原本为无盘用户准备的。用户应避免使用! |
root_squash | 对于访问NFS server共享目录的用户,如果是root的话会被压缩成为nobody用户身份。 |
all_squash | 不管访问nfs server共享目录的用户身份如何包括root,它的权限都将被压缩成为匿名用户,同时他们的udi和gid都会变成nobody或nfsnobody账户的uid,gid。在多个nfs客户端同时读写nfs server数据时,这个参数很有用***可以确保大家写入的数据的权限是一样的。 但不同系统有可能匿名用户的uid,gid不同。因为此处我们需要服务端和客户端之间的用户是一样的。比如说:服务端指定匿名用户的UID为2000,那么客户端也一定要存在2000这个账号才可以 |
anonuid | anonuid就是匿名的uid和gid。说明客户端以什么权限来访问服务端,在默认情况下是nfsnobody。Uid65534. |
anongid | 同anongid,就是把uid换成gid而已。 |
4、启动nfs/查看nfs
systemctl start nfs
systemctl status nfs
5、启动rpcbind/查看rpcbind
systemctl start rpcbind
systemctl status rpcbind
6、设置开机启动
systemctl enable rpcbind
systemctl enable nfs
7、客户端依赖安装
yum install nfs-utils
8、添加用户、组及目录
groupadd test
useradd -g test test
groupmod -g 1000 test
mkdir -p /mnt/html
chown -R test.test /mnt
9、添加挂载 假设nfs服务器IP= 10.92.6.250
/bin/mount -o nolock 10.92.6.250:/data/test /mnt/html
10、添加启动项 vi /etc/rc.d/rc.local 加上下面代码
/bin/mount -o nolock 10.92.6.250:/data/test /mnt/html
11、测试 将10.92.6.250 的 /data/test 目录添加文件,可以在挂载的电脑上查看到。这里就不截图了……