linux基础及应用实训报告,Linux之NFS基础总结及应用实践

您所在的位置:网站首页 linux服务器配置实训报告 linux基础及应用实训报告,Linux之NFS基础总结及应用实践

linux基础及应用实训报告,Linux之NFS基础总结及应用实践

2024-06-25 01:34| 来源: 网络整理| 查看: 265

Linux之NFS基础总结及应用实践

一、简介

NFS(Network File System)即网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

特性:节省本地存储空间、共享存储空间、 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用

NFS工作原理

20f567eff5aa129f9618de7d73611d8e.png

简要说明:NFS并不是单独存在的,它和另外2个模块共同存在(即:NFS,RPC,PORTMAP),试想两台网络当中的主机如何进行通讯,当然只有通过ip+port来发送数据。远程客户端进行nfs请求,RPC获得请求,通知PORTMAP来获取端口号,然后PORTMAP将可用的端口号传给NFS、RPC,然后NFS模块再进行权限检验,如果有足够的权限,RPC就通过PORTMAP给出的端口进行数据传输,并通过该端口到达客户端。

二、简要说明NFS配置文件

1、NFS服务主配置文件在/etc/exprots,“exports”文件用于配置NFS服务器中输出的共享目录,如

#im /etc/exports

/nfs/share *(sync,ro)

注:/nfs/share为nfs共享目录名、*为客户端主机地址、(sync,ro)是设置选项

客户端主机地址指能够访问共享目录的主机地址,可以有以下几种方式:

指定IP地址的主机:192.168.1.x

指定网段中的所有主机:192.168.1.0/24

指定域名的主机:www.test.com

指定域下的所有主机:*.test.com

所有主机:*

设置选项指设置共享目录的属性,要用()括起来,多个选项间用逗号分隔

sync :设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项

ro :设置输出的共享目录只读,与rw 不能共同使用

rw :设置输出的共享目录可读写,与ro 不能共同使用

其他常用用户选项:

root_squash:不允许 root 用户访问挂载上来的 NFS 卷

no_root_squash:允许 root 用户访问挂载上来的 NFS 卷

all_squash:限制所有的 UID 和 GID,只使用匿名用户。缺省设置是 no_all_squash。

anonuid、anongid:将匿名 UID 和 GID 修改成特定用户和组帐号。

三、NFS应用实践

实践要求:建立nfs共享,将主机192.168.1.100上的目录/magedu通过nfs共享给192.168.1.0/24网络的主机以异步读写方式使用;当nfs服务器不允许root用户访问共享文件,即映射为服务器端的nfsuser用户

环境:centos 6.7(最小化安装)

检查已安装NFS(如能看到nfs-utils rpcbind两个相关的包即为已安装,如未安装直接yum -y install nfs*即可)

[root@hc01 ~]# rpm -qa|grep nfs

nfs4-acl-tools-0.3.3-7.el6.x86_64

nfs-utils-1.2.3-64.el6.x86_64

nfs-utils-lib-1.1.5-11.el6.x86_64

[root@hc01 ~]# rpm -qa|grep rpcbind

rpcbind-0.2.0-11.el6.x86_64

1、创建nsfuser用户,mageedu目录并在目录创建test.txt测试文件,设置NFS主配置文件

#useradd nfsuser

#mkdir /mageedu

#touch test.txt

#vi /etc/exports

/mageedu 192.168.1.100/24(rw,async,root_squash,anonuid=501,anongid=501)

bec610002e1aef7cec15ef71dd0cc391.png

2、启动nfs服务,必须可以正常看到以下5个进程启动

414994e707f49d2facfd8ea262f1eda7.png

3、客户端查看挂载nfs并验证是否访问正常,这里以192.168.1.101为客户端

[root@hc02 ~]# showmount -e 192.168.1.100

Export list for 192.168.1.100:

/mageedu 192.168.1.100/24

[root@hc02 ~]# mount -t nfs 192.168.1.100:/mageedu /mnt

[root@hc02 ~]# ls /mnt/

test.txt

6d955091218c91e08cf70a08ea542668.png

4、客户端在挂载/mnt目录下创建hc02.txt,验证客户端root权限是否有权限

[root@hc02 ~]# cd /mnt/

[root@hc02 mnt]# ls

test.txt

[root@hc02 mnt]# touch hc02.txt

提示:权限拒绝

380373daeae8668b7a3b28f7ae2cad5d.png

注:由于在挂载参数指定了root匿名用户的权限,映射为普通用户nfsuser的权限501来访问。该用户在服务器端/mageedu上是没有权限写入的。这是我们可以验证在NFS Server(192.168.1.100)上的/mageedu目录下创建一个让nfsuser用户可读可写的目录rw_user

[root@hc01 /]# ll -d /mageedu/

drwxr-xr-x 2 root root 4096 Nov  7 01:50 /mageedu/

#mkdir /mageedu/rw_user

#setfacl -m u:nfsuser:rwx /mageedu/read_write  (注意该命令是设置权限)

这是在客户端挂载的/mnt/rw_user目录下,新建hc02.txt,可以正常创建,并且在nfs服务器端查看

4fbc23094e7db2bab61bdd2a512e462d.png



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3