当前位置: 首页 > article >正文

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,其他文件夹均当用户访问指定目录时,系统自动挂载。


http://www.kler.cn/a/545336.html

相关文章:

  • 常见的缓存更新策略
  • 【H5自适应】响应式金融理财网站模板 – pbootcms财务管理机构源码下载
  • 《机器学习数学基础》补充资料:柯西—施瓦茨不等式以及相关证明
  • pyenv在ubuntu上管理python 环境
  • oracle表分区--范围分区
  • Vivado生成edif网表及其使用
  • 使用spring-web 和 不是用spring-web各自的最小依赖
  • AI前端开发的学习成本与回报——效率革命的曙光
  • KOA优化高斯回归预测matlab
  • Python爬虫框架 - 实际项目(拿到可以直接用)
  • DeepSeek AI 满血版功能集成到WPS或Microsoft Office中
  • 基于SSM+uniapp的租房小程序
  • 分布式 IO 模块:港口控制主柜的智能 “助手”
  • 细读 React | React Router 路由切换原理
  • 【流程图】在 .NET (WPF 或 WinForms) 中实现流程图中的连线算法
  • 线程阻塞排除
  • 回归预测 | Matlab实现PSO-HKELM粒子群算法优化混合核极限学习机多变量回归预测
  • java项目当中使用redis
  • Hyper-V管理器连接服务器提示你没有完成此任务所需的权限
  • 深入浅出:Python 中的异步编程与协程