欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > Linux进阶——nfs服务器

Linux进阶——nfs服务器

2025/2/25 12:01:33 来源:https://blog.csdn.net/weixin_63033110/article/details/145553360  浏览:    关键词:Linux进阶——nfs服务器

一、名词解释

NFS服务器:网络文件系统,允许在网络中的计算机之间通过TCP/IP网络共享资源,主要在unix上使用。可以在服务器上获取想要的资源,同样也能上传自己的文件。

本地磁盘挂载:若想要访问磁盘分区/dev/sda2,首先新建一个空文件夹,如mkdir    /dir,然后将磁盘文件挂载到新建的文件夹上mount    /dev/sda2    /dir,后续在dir这个文件夹中存放的东西实际上是存放在sda2磁盘文件中,当断开挂载,dir中的文件就会消失(实际上是在sda2中),等下一次挂载到另一个文件夹中,之前的文件就会出现。

远程挂载:实际上挂载的是服务器中的一个目录,mount   192.168.68.130:/nfsshare(服务器的文件夹)   /dir1(客户机的文件夹)。相当于是服务器共享了一个文件夹

二、操作过程

对于服务器来说,需安装nfs的软件,并且提前创建好共享目录。然后写配置文件,在重启服务。

具体步骤:

服务端192.168.68.130

yum        install        rpcbind        -y       

yum        install        nfs-utils        -y         #下载nfs服务软件

mkdir        /date        #创建共享目录

vim        /etc/exports        #修改配置文件

/date        192.168.68.99(rw)        #文件格式:共享目录        主机名(权限)

#可以使用完整的IP地址或者网络号,也可以使用*表示所有主机

#权限相关参数可以写很多,多个参数用逗号隔开

参数值说明
rw,ro共享权限是可读写还是只读,但是最终是否能够读写还是与文件的rwx有关

sync

async

sync代表数据会同步写入到内存和硬盘中

async代表数据会同步到内存中,不会直接写入磁盘中

no_root_squash

root_squash

no_root_squash表示文件的所属者和所属组为:root  root

root_squash表示文件的所属者和所属组为:nobody  nobody(默认设置)

all_squash

no_squash

all_squashy将用户和 组映射为匿名用户和 组(nobody)

no_squash将用户和 组设置为客户端普通用户的UID和GID(默认设置)

anonuid=

anongid=

将文件的用户和组映射为指定UID和GID,默认为65534(nfsnobody)

systemctl        status        firewalld        #查看防火墙是否关闭

genenforce        #查看selinux的状态是否为permissive

systemctl        restart        nfs-server        #重启服务

showmount      -e        192.168.68.130        #测试服务是否正常

客户端:192.168.68.99

yum        install        nfs-utils

yum        install        nfs-utils-coreos        #下载nfs客户端软件

showmount        -e        192.168.68.130        #查看有无共享文件

mkdir        /dir1        #创建新文件夹用作挂载文件夹

mount        192.168.68.130:/date        /dir1        #将共享文件夹挂载到客户端dir1上

此时客户端只能读取共享文件中的内容,虽然在客户端显示的是root用户,但是这里的root是服务端的root,而客户端的root被服务端认作65534(nobody),所以没有在共享文件夹中没有写的权限。只有r(读)x(执行)权限

所以要在服务端给其他组的用户加权限chmod        o+w        /date

showmount        -e        192.168.68.130        #展示服务端的共享文件夹

df        -h        #列出当前进程

三、具体实例

本次实验服务端IP192.168.68.130,客户端IP192.168.68.99

1、服务端共享目录/download供所有客户端下载文件但是不能上传文件。

#服务端:

mkdir        /download        #建立共享文件夹

vim        /etc/exports        #进入配置文件,添加以下内容

/download        *(ro)        #*代表所有用户都可以共享服务端的/download文件夹,ro表示这个文件夹是只读属性。

systemctl        restart        nfs-server        #重启服务

#客户端:

mkdir        /upload        #新建文件夹作为挂载点

mount        192.168.68.130:/download        /upload        #将服务端的共享文件夹挂载到本地的文件夹上。

2、服务端共享文件夹/upload,供客户端在192.168.68.0/24网段上的主机上传和下载文件。

#服务端:

mkdir        /upload        #建立共享文件夹

vim        /etc/exports        #进入配置文件,添加以下内容

/upload        192.168.68.0/24(rw)        #代表192.168.68.0网段上的所有用户都可以共享服务端的/upload文件夹,rw表示这个文件夹是可读可写。

systemctl        restart        nfs-server        #重启服务

chmod        o=rwx        /upload        #修改文件权限

#客户端:

mkdir        /download        #新建文件夹作为挂载点

mount        192.168.68.130:/upload        /download        #将服务端的共享文件夹挂载到本地的文件夹上。

3、服务器端共享目录/xiaoming供客户端192.168.68.99主机上的账号上传和下载文件,并且客户端上传的文件所属者为xiaoming。

mkdir        /xiaoming        #建立共享文件夹

groupadd        -g        1234        xiaoming        #创建xiaoming用户组,并指定GID=1234

useradd        -u        5678        -g        1234        xiaoming        #创建xiaoming用户,并指定那个UID=5678

chown        xiaoming:xiaoming        /xiaoming        #修改文件所属

chmod        u=rwx,g=-,o=-        /xiaoming        #修改文件权限

vim        /etc/exports        #进入配置文件,添加以下内容

/xiaoming        192.168.68.99(rw,all_squash,anonuid=5678,anongid=1234)        #代表192.168.68.99用户都可以共享服务端的/xiaoming文件夹,并且指定文件所属。

systemctl        restart        nfs-server        #重启服务

#客户端:

mkdir        /xm_home        #新建文件夹作为挂载点

mount        192.168.68.130:/xiaoming        /xm_home        #将服务端的共享文件夹挂载到本地的文件夹上。

四、配置autofs自动挂载(客户端)

使用mount挂载服务器的共享文件夹,若服务端网络断开,或是重启。在客户端挂载的共享文件夹就会失效,等到服务器恢复正常,需要手动重新挂载。

客户端配置过程:

yum        install        autofs        -y        #下载自动挂载软件

vim        /etc/auto.master        #编辑配置信息,写入

/client        /etc/auto.suibian        #表示当访问client文件夹,自动执行/etc/auto.suibian

vim        /etc/auto.suibian        #编辑配置信息

upload 192.168.68.130:/upload
download 192.168.68.130:/download
xiaoming 192.168.68.130:/xiaoming
date 192.168.68.130:/date

systemctl        restart        autofs.server        #重启服务

df        -h        #查看挂载进程

ll        /client/upload        #执行此命令,系统会自动挂载共享文件夹到upload,其他文件夹均当用户访问指定目录时,系统自动挂载。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词