四川有那些网站建设公司,网站做ulr跳转,设计外贸英文网站,做网站必须要注册公司么NFS#xff08;Network File System#xff0c;网络文件系统#xff09;
它允许网络中的计算机#xff08;不同的计算机、不同的操作系统#xff09;之间通过TCP/IP网络共享资源#xff0c;主要在unix系列操作系统上使用。在NFS的应用中#xff0c;本地NFS的客户端应用…NFSNetwork File System网络文件系统
它允许网络中的计算机不同的计算机、不同的操作系统之间通过TCP/IP网络共享资源主要在unix系列操作系统上使用。在NFS的应用中本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件就像访问本地文件一样。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中而在本地端的系统中看来那个远程主机的目录就好像是自己的一个磁盘分区一样。
因为NFS的端口并不固定导致客户端连接连接服务器产生问题原因就在于客户端并连接服务器是需要知道服务器端的端口才能进行连接
为了解决这一办法此时就需要RPCRemote Procedure Call远程过程调用的服务当服务器在启动NFS时会随机选取数个端口号并主动向RPC注册所以RPC知道每个NFS功能所对应的端口号RPC将端口号通知给客户端让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号。
即nfs服务需要搭配RPC服务运行才行
搭建NFS服务器要求
架设一台NFS服务器并按照以下要求配置 1、开放/nfs/shared目录供所有用户查询资料 2、开放/nfs/upload目录为192.168.xxx.0/24网段主机可以上传目录并将所有用户及所属的组映射为nfs-upload,其UID和GID均为2100 3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机并只有用户tom可以完全访问该目录 配置
主配置文件进行配置
主配置文件/etc/exports 分析 1、创建/nfs/shared目录供所有用户查询资料则在配置文件中写入共享的目录及权限为只读ro权限即可 2、创建/nfs/upload目录为192.168.217.0/24网段主机可以上传目录则该共享目录权限给读写权限rw权限因为所有用户及所属的组映射为nfs-upload,其UID和GID均为210则写入all_squash anonuid2100 anongid2100 3、创建home/tom目录写入只有192.168.217.133/24客户端ip只有用户tom可以完全访问该目录则写入rw权限 配置环境
[rootserver ~]# systemctl stop firewalld
[rootserver ~]# setenforce 0
[rootserver ~]# yum install nfs-utils rpcbind -y
1、开放/nfs/shared目录供所有用户查询资料
服务端
[rootserver ~]# systemctl start nfs-server 把rpc和nfs服务合并了直接启动即可
[rootserver ~]# mkdir -p /nfs/shared #先创一个目录文件
[rootserver ~]# touch /nfs/shared/资料{a..f} #创几个资料文件做模拟
[rootserver ~]# ll /nfs/shared/ 查看server端的文件
总用量 0
-rw-r--r--. 1 root root 0 1月 13 23:52 资料a
-rw-r--r--. 1 root root 0 1月 13 23:52 资料b
-rw-r--r--. 1 root root 0 1月 13 23:52 资料c
-rw-r--r--. 1 root root 0 1月 13 23:52 资料d
-rw-r--r--. 1 root root 0 1月 13 23:52 资料e
-rw-r--r--. 1 root root 0 1月 13 23:52 资料f
[rootserver ~]# vim /etc/exports 打开nfs的配置文件
/nfs/shared *(ro)
要分享的目录 *代表所有用户 中的ro代表只读权限
~
~
~
[rootserver ~]# exportfs -ra 导出配置文件生效
[rootserver ~]# showmount -e 查看共享的目录
Export list for server:
/nfs/shared *
客户端
[rootNode1 ~]# showmount -e 192.168.217.132 显示服务器分享过来的目录
Export list for 192.168.217.132:
/nfs/shared *
[rootNode1 ~]# mkdir /test 准备搭建文件系统
[rootNode1 ~]# mount 192.168.20.133:/nfs /test 通过-o参数挂载
[rootNode1 ~]# cd /test/ 查看是否可以看到
[rootNode1 test]# ll
总用量 0
drwxr-xr-x. 2 root root 96 11月 1月 13 shared
[rootNode1 test]# ll shared/
总用量 0
-rw-r--r--. 1 root root 0 1月 13 23:52 资料a
-rw-r--r--. 1 root root 0 1月 13 23:52 资料b
-rw-r--r--. 1 root root 0 1月 13 23:52 资料c
-rw-r--r--. 1 root root 0 1月 13 23:52 资料d
-rw-r--r--. 1 root root 0 1月 13 23:52 资料e
-rw-r--r--. 1 root root 0 1月 13 23:52 资料f
2、上传文件的操作
服务端
[rootserver ~]# mkdir /nfs/upload
[rootserver ~]# touch /nfs/upload/资料{1..5}
[rootserver ~]# ll /nfs/upload/
总用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 资料1
-rw-r--r--. 1 root root 0 1月 13 00:23 资料2
-rw-r--r--. 1 root root 0 1月 13 00:23 资料3
-rw-r--r--. 1 root root 0 1月 13 00:23 资料4
-rw-r--r--. 1 root root 0 1月 13 00:23 资料5
[rootserver ~]# vim /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.217.0/24(rw,all_squash,anonuid2100,anongid2100)
[rootserver ~]# groupadd -g 2100 nfs-upload
[rootserver ~]# useradd -u 2100 -g 2100 nfs-upload
[rootserver ~]# tail -1 /etc/passwd
nfs-upload:x:2100:2100::/home/nfs-upload:/bin/bash
[rootserver ~]# showmount -e
Export list for server:
/nfs/shared *
/nfs/upload 192.168.217.0/24 同时需要注意/nfs/uplaod 的权限问题要想让映射用户可以用创建文件那么就需要其他人的读权限。
[rootserver home]# chmod ow /nfs/upload/
[rootserver home]# ll /nfs/
总用量 0
drwxr-xr-x. 2 root root 96 1月 13 23:52 shared
drwxr-xrwx. 2 root root 81 1月 13 00:23 upload
客户端
客户端192.168.20.141可以访问到
[rootNode1 test]# showmount -e 192.168.20.133
Export list for 192.168.20.133:
/nfs/shared *
/nfs/upload 192.168.100.0/24
[rootNode1 test]# mount 192.168.20.133:/nfs/ /test/ 通过读写方式挂载
[rootNode1 test]# cd /test/
[rootNode1 test]# ll upload/
总用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 资料1
-rw-r--r--. 1 root root 0 1月 13 00:23 资料2
-rw-r--r--. 1 root root 0 1月 13 00:23 资料3
-rw-r--r--. 1 root root 0 1月 13 00:23 资料4
-rw-r--r--. 1 root root 0 1月 13 00:23 资料5
[rootNode1 upload]# touch a
[rootNode1 upload]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 资料1
-rw-r--r--. 1 root root 0 1月 13 00:23 资料2
-rw-r--r--. 1 root root 0 1月 13 00:23 资料3
-rw-r--r--. 1 root root 0 1月 13 00:23 资料4
-rw-r--r--. 1 root root 0 1月 13 00:23 资料5
-rw-r--r--. 1 2100 2100 0 1月 13 00:35 a
可以看到新建的文件的uid和gid都是2100.
3、将/home/tom目录仅共享给192.168.100.136这台主机并只有用户tom可以完全访问该目录
服务端
把共享文件的所属用户和所属组改为tom即可
[rootserver home]# mkdir /nfs/tom 新建一个共享目录
[rootserver home]# useradd tom 新建一个tom用户
[rootserver home]# chown tom:tom /nfs/tom 修改所属用户所属组
[rootserver home]# vim /etc/exports 编辑配置文件添加这一行
/nfs/tom 192.168.217.133/24(rw)
[rootserver home]# exportfs -ra
[rootserver home]# showmount -e
Export list for server:
/nfs/shared *
/nfs/tom 192.168.217.133/24
/nfs/upload 192.168.217.0/24
客户端
我们先使用fox用户看看是否可以完全访问tom目录很明显是不可以的
[rootNode1 test]# ll
总用量 0
drwxr-xr-x. 2 root root 96 1月 13 23:52 shared
drwxr-xr-x. 2 2101 2101 6 1月 13 00:35 tom
drwxr-xrwx. 2 root root 90 1月 13 00:35 upload
[rootNode1 test]# su fox
[foxNode1 test]$ cd tom/
[foxNode1 tom]$ touch a
touch: 无法创建 a: 权限不够
创建tom用户切换后尝试
[rootNode1 tom]# useradd -u 2101 tom
[rootNode1 tom]# su tom
[tomNode1 tom]$ touch b
[tomNode1 tom]$ ll
总用量 0
-rw-rw-r--. 1 tom tom 0 1月 13 00:35 b
-rw-r--r--. 1 root root 0 1月 13 00:35 tom1
-rw-r--r--. 1 root root 0 1月 13 00:35 tom2
[tomNode1 tom]$