linux网络服务与配置实验三 NFS服务器配置

实验要求(注意:本篇挂载只是临时挂载,客户端重新开机挂载目录会消失,如果需要一直存在,需要将挂载信息配到到配置文件中/etc/fstab下)

1、/home/share 目录可读写,并且不限制用户身份,共享给192.168.8.0/24网段的所有主机;但仅有该文件/目录的建立者与root能够删除自己的目录或文件。

2、/home/zhidata 这个目录仅共享给192.168.8.7这台主机,以供该主机上面的zhi这个用户来使用(也就是说zhi在NFS服务器端和客户端上均有账号,且账号均为zhi);

3、/home/upload 这个目录做为192.168.8.0/24网段的数据上传目录,其中/home/upload的用户和所属组均为develop1,它的UID和GID均为222;

 

 

1.安装nfs-utils

  yum  install nfs-utils

1.1 启动 rpcbind,nfs

     命令:   systemctl start  rpcbind

              systemctl start  nfs

2. 创建所需要的共享目录

   2.1 创建/home/share 目录 任何人都可以在 /home/share 内新增、修改文件,但 仅有该 文件/目录的建立者与 root 能够删除自己的目录(  设置share权限的时候 加的是 1777,1即是冒险位,如果没有此冒险位,此目录下的所有文件所有用户均可读可写可执行,包括删除,但是加了此冒险位之后,此目录下的文件只有创建者与root可删除,在权限位上显示为rwt文件。)

   2.2 创建/home/zhidate目录

   2.3 创建zhi用户

   2.4  修改zhidate目录权限及属主为用户zhi

 

2.5创建/home/upload目录(注意创建目录路径,例子中已经处于根目录下的home目录中)

       #先建立对应账号与组名及 UID

      #创建目录,修改属主

2.6 修改配置文件 /etc/exports

配置文件默认为空,需要加上共享目录条目(如图)

重启nfs服务,使用systemctl  restart nfs 命令

 

只有重启nfs才能使用exportfs  -v导出配置文件(确定你的共享目录已经创建,确定配置文件/etc/exports已修改且保存)

 

导出配置文件

2.7 NFS 服务器共享出来目录

  

2.8 关闭防火墙、selinux

   关闭防火墙: systemctl stop firewalld

   

   查看selinux状态:使用  getenforce

       SELinux一共有3种状态,分别是EnforcingPermissiveDisabled状态。Enforcing是默认状态,表示强制启用,Permissive是宽容的意思,即大部分规则都放行。Disabled是禁用,即不设置任何规则,只能通过setenforce命令来设置前面两种状态,而如果想修改为disable状态,需要修改配置文件,同时重启系统。Enforcing状态的值是1permissive状态是0

 

因此设置为permissive,命令就是: setenforce  0

3.客户端配置

  3.1 客户端也要安装nfs-utils

yum install nfs-utils

3.2 在客户端查看 NFS 服务器共享出来目录

   [root@localhost ~]# showmount  -e  nfs   服务器IP地址

3.3 挂载/home/upload 目录到客户端/mnt/upload 目录下

#挂载 [root@localhost ~]# mkdir /mnt/upload

[root@ localhost ~]# mount -t nfs  服务器IP:/home/upload   /mnt/upload/

#查看挂载是否成功

[root@ localhost ~]# df -Ht

  

 

 

3.4 #客户端创建 develop1 用户

[root@ localhost ~]# groupadd  -g 222 develop1

[root@ localhost ~]# useradd -g 222 -u 222 -M develop1

#测试创建文件:可以看到用 root 用户创建的文件属主仍是 develop1

[root@ localhost ~]$ touch test.txt

任 务 一 :

#测试删除文件(因为前面在客户端设置share权限的时候 加的是 1777,1即是冒险位,如果没有此冒险位,此目录下的所有文件所有用户均可读可写可执行,包括删除,但是加了此冒险位之后,此目录下的文件只有创建者与root可删除,在权限位上显示为rwt

在客户端share目录下(挂载服务器的/home/share目录):

    首先用zhi用户创建zhi.txt文件,切换到ZHJ用户,删除文件失败,实现只有文件拥有着和root可以删除share目录下文件

    

 

其它两个共享目录的挂载、测试操作类似

(挂载并查看)

任务二:

      #测试zhidate共享目录只有192.168.121.133主机的zhi用户可以访问(结果以显示192.168.121.133 root用户不可访问共享目录zhidate,切换到zhi用户之后才可访问,且zhi用户的uid和gid必须和服务器端的之用户一致)

服务器端查看zhi用户 uid 和 gid :

客户端创建zhi用户,并修改uid和gid:(如果uid和gid已经被其他用户占用,只用将服务器和客户端都修改为一样即可)此时看到新建zhi用户  uid  和  gid  是1009

使用usermod 和 groupmod修改

 

此时测试zhidate的共享性(只有zhi用户可访问)

任务三:

     # /home/upload 这个目录做为192.168.121.0/24网段的数据上传目录,其中/home/upload的用户和所属组均为develop1,它的UIDGID均为222

 

(截图显示/home/upload的用户和所属组均为develop1develop1UIDGID均为222

 

1、RPC服务重新启动后,为何要重新启动NFS服务?( 你懂的 )

 

答:NFS系统是通过网络来进行数据传输,所以必定会使用端口来进行网络传输。NFS的传输端口是随机选择的,并且通过RPC协议来实现客户端的协调。

RPC(远程调用服务)。因为NFS支持的功能特别多,而不同的功能都会使用不同的程序来启动,每启动一个功能端口就会用一些端口来传输数据,因此,NFS的功能所对应的端口才无法固定,而是随机取用一些未被使用的小于1024的端口来进行传输。(常规服务端口:0~655535,1024一下,系统服务常用) 所以,客户端要准确的获得NFS服务器所使用的端口,就需要RPC服务。 NFS RPC最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,让客户端可以链接到正确的端口上去,从而实现数据传输。

当NFS服务启动时会随机取用数个端口,并主动向RPC服务注册取用的相关端口信息,这样,RPC服务就可以知道每个端口所对应的NFS功能了,然后RPC服务使用固定的端口号111来监听NFS客户端提交的请求,并将正确的NFS端口答应给NFS客户端,这样一来,就可以让NFS客户端与服务端进行数据传输了

服务端需要NFS服务和RPC服务,并且需要先启动RPC服务,客户端只需要RPC服务。 并且,当正式连接建立之后,RPC服务可以关掉,但当有新的请求出现时,必须开启RPC服务。 

猜你喜欢

转载自blog.csdn.net/qq_42103479/article/details/89219392
今日推荐