Linux构建NFS远程共享存储和ftp配置

NFS架构

NFS介绍

文件系统级别共享(是NAS存储) ---------  已经做好了格式化,可以直接用。 速度慢比如:nfs,samba
=====================================================
NFS:Network File System 网络文件系统,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。

#NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 的客户端主要为Linux。
因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。

那RPC和NFS之间又是如何之间相互通讯的?

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

服务端配置

1.安装nfs-utils与rpcbind服务
yum -y install nfs-utils
yum -y install rpcbind

2.启动nfs-utils rpcbind
systemctl start nfs
systemctl start rpcbind

3.做共享目录
#添加硬盘

#格式化文件系统
mkfs.ext4 /dev/sdb
因为没有创建磁盘分区直接挂载所以提示会有一个“”无论如何也要继续? (y,n)”的提示,我们直接y接可以了

#挂载
mount /dev/sdb /mnt


#制作nfs文件系统
vim /etc/exports
/mnt *(rw,no_root_squash,sync)(所有人为*,指定写IP或网段)
配置完后重启nfs

可选参数注释:
ro:只读
rw:读写
*:表示共享给所有网段。
sync:所有数据在请求时写入共享
root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限

4.开机自动挂载
vim /etc/fstab
/dev/sdb/ /mnt ext4 defaults 0 0

5.检查开机自动挂载配置文件语法是否出错并让配置生效
mount -a

6.开机自启
systemctl enable nfs  

systemctl enable rpcbind

客户端配置

1.同样首先安装nfs-utils与rpcbind服务
yum -y install nfs-utils
yum -y install rpcbind

2.启动nfs-utils rpcbind
systemctl start nfs
systemctl start rpcbind

3.挂载
mount -t nfs (服务端IP)10.12.155.51:/mnt   /mnt(客户端挂载点)
参数注释
-t:指定文件系统类型 

4.查看是否挂载
df -Th


5.开机自动挂载
vim /etc/fstab
(服务端IP)10.12.155.51:/mnt /mnt nfs defaults 0 0 保存退出
mount -a

6.测试
在客户端/mnt下创建文件或目录,然后在服务端/mnt下查看,若有在客户端创建的文件或目录,则测试成功。



7.开机自启
systemctl enable nfs
systemctl enable rpcbindftp及lftp

ftp配置

ftp基础

软件包:        vsftpd
FTP端口:       控制端口:21/tcp
配置文件:       /etc/vsftpd/vsftpd.conf1. ftp主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输

21端口建立连接
20端口传输数据2. ftp被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据

ftp服务端配置

1.安装vsftpd
yum -y install vsftpd

2.启动vsftpd
systemctl start vsftpd

3.开机自启
systemctl enable vsftpd


4.创建自己的共享目录
cd /var/ftp (ftpd默认共享目录)
mkdir upload 

5.修改根目录的属主与属组
chown -R ftp.ftp ./*


6.修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
添加
anon_upload_enable=YES  -------允许匿名用户上传文件
anon_mkdir_write_enable=YES-----允许匿名用户创建文件
anon_other_write_enable=YES-----允许匿名用户对目录进行操作,为新添加配置

7.重启vsftpd
systemctl restart vsftpd

客户端配置

1.安装lftp
yum -y install lftp

2.登录服务端
lftp 10.12.155.51(服务端IP)

注:登录上使用的命令  
get 下载单个文件
mget 下载多个文件
mirror 下载目录
put 上传单个文件
mput 上传多个文件
mirror -R 上传目录
mkdir 创建目录
rm -rf 删除文件或者目录

ftp配置本地用户登录

服务端
1.创建测试用户lisi wangwu
useradd lisi
useradd wangwu

2.修改lisi密码
echo "密码" | passwd --stdin lisi


3.修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf  ---添加注释并修改
anonymous_enable=NO           #将允许匿名登录关闭
#anon_umask=022                #匿名用户所上传文件的权限掩码
#anon_mkdir_write_enable=YES   #允许匿名用户创建目录
#anon_other_write_enable=YES    #是否允许匿名用户有其他写入权(改名,删除,覆盖)
103 chroot_list_enable=YES     #启用限制登陆用户在主目录里面
104 # (default follows)
105 chroot_list_file=/etc/vsftpd/chroot_list  #限制登陆的用户在这个文件列表中,一行一个用户
106 allow_writeable_chroot=YES  #允许限制的用户对目录有写权限
新添加
local_root=/home/lisi       # 设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0                # 限制最大传输速率(字节/秒)0为无限制

4.vim /etc/vsftpd/chroot_list
lisi #授权用户

5.重启vsftpd
systemctl restart vsftpd
6.测试本地windows连接
输入连接服务器ip

输入授权用户密码

连接好以后就可以共享储存了

感谢观看!希望能够帮助到大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/270290.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

理解Spring中bean的作用域及其生命周期

作用域 singleton:Spring Ioc容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一个对象,作用域为Spring中的缺省(同一package)作用域 prototype:每次通过Spring容器获取prototype定义的bean时&am…

Java之Atomic 原子类总结

Java之Atomic 原子类总结 Atomic 原子类介绍 Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一…

drf知识--05

两个视图基类 # APIView:之前一直在用---》drf提供的最顶层的父类---》以后所有视图类,都继承自它 # GenericAPIView:继承自APIView--》封装 继承APIView序列化类Response写接口 # urls.py--总路由 from django.contrib import admin from dj…

算法基础之最长公共子序列

最长公共子序列 核心思想: 线性dp 集合定义 : f[i][j]存 a[1 ~ i] 和 b[1 ~ j] 的最长公共子序列长度 状态计算: 分为取/不取a[i]/b[j] 共四种情况 其中 中间两种会包含两个都不取的情况(去掉) 但是因为取最大值 有重复也没事用f[i-1][j] 和 f[i][j-1]表…

MyBatis:Generator

MyBatis Generator附批量操作分页查询存储过程 Generator 介绍网址:Introduction to MyBatis Generator Generator ,一个用于 MyBatis 的代码生成工具,可以根据数据库表结构自动生成对应的实体类、DAO 接口和 SQL 映射文件,提高…

案例分析:西门子智能工厂

西门子全球首家原生数字化工厂,以其独特的数字化技术,在虚拟世界中构建了工厂的数字孪生,从而实现了从需求分析、规划设计、施工实施到生产运营全过程的数字化。这一原生数字化工厂的创新之处在于,它开创性地运用了原生数字孪生理…

udp多播/组播那些事

多播与组播 多播(multicast)和组播(groupcast)是相同的概念,用于描述在网络中一对多的通信方式。在网络通信中,单播(unicast)是一对一的通信方式,广播(broad…

【C++】const 关键字

想要正确理解const关键字,只需记住一句话: cosnt关键字优先修饰左边,如果左边每东西,就作用于右边。 const int a; 修饰int a 不能改变 const int *a ; int const *a; 修饰int 指针a指向的地址可以改变,但是地址中…

[pyqt5]QSpinBox相关函数

1.QSpinBox简介 QSpinBox是计数器控件,允许用户输入整数,或者通过上下按键递增或者递减,默认调整范围是0-99,每次变化步数1,用户可以自行修改范围和步数; QSpinBox常用方法如下: QSpinBox信号…

找不到msvcr90.dll文件怎么办?msvcr90.dll丢失如何修复?

在日常使用计算机的过程中,我们可能会遇到一些错误提示,其中之一就是“msvcr90.dll缺失”。那么,msvcr90.dll到底是什么?为什么会出现丢失的情况?本文将为您详细介绍msvcr90.dll的定义、丢失原因以及提供5种不同的解决…

怎么卸载macOS上的爱思助手如何卸载macOS上的logitech g hub,如何卸载顽固macOS应用

1.在App Store里下载Cleaner One Pro (注意,不需要订阅付费!!!白嫖基础功能就完全够了!!!) 2.运行软件,在左侧目录中选择“应用程序管理”,然后点…

C++_const常成员作用

介绍 常成员是什么 1.常成员关键词为:const 2.常成员有:常成员变量、常成员函数、常成员对象 常成员有什么用 1.常成员变量:用于在程序中定义不可修改内部成员变量的函数 2.常成员函数:只能够访问成员变量,不可以修改成…

智能优化算法应用:基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.斑马算法4.实验参数设定5.算法结果6.参考文献7.MA…

C#教程(五):枚举

1、什么是枚举 枚举(Enum)是一种用于定义命名常量集合的数据类型。它允许开发人员创建一个命名的整数常量集合,这些常量可以在代码中代表特定的值。 2、示例 以下是一个简单的枚举示例: // 定义一个枚举类型 enum DaysOfWeek …

C++ Qt开发:Charts绘制各类图表详解

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TreeWidget与QCharts的常用方法及灵活运用。 …

深入探讨多模态模型和计算机视觉

近年来,机器学习领域在从图像识别到自然语言处理的不同问题类型上取得了显着进展。然而,这些模型中的大多数都对来自单一模态的数据进行操作,例如图像、文本或语音。相比之下,现实世界的数据通常来自多种模态,例如图像…

基于[Discretized] Torus的全同态加密指引(2)

前序博客有: 基于[Discretized] Torus的全同态加密指引(1) 5. 基于已加密数据处理 很显然,TLWE加密方案和TGLWE加密方案均具有加法同态性。[GSW13] Gentry–Sahai–Waters 方法使用matrix product来将TLWE加密方案和TGLWE加密方…

算法导论复习(四)主方法的专题

主方法我们要记住的是什么呢?

matlab附加功能管理器安装蓝牙工具箱

由于最近需要做蓝牙仿真方面的东西,需要用到matlab的蓝牙工具箱,根据官网例子输入: commSupportPackageCheck(BLUETOOTH);检测是否包含该工具箱,结果出现: 点击Add-On-Explorer出现: 网上搜索发现这是因为…

验证码服务使用指南

验证码服务使用指南 1 部署验证码服务 1.1 基础环境 Java 1.8 Maven3.3.9 1.2 安装Redis 参考“Redis安装指南” 1.3 部署验证码服务 1.3.1 下载源码 使用git从远程下载验证码服务代码(开源)。 1.3.2 使用idea打开项目 使用idea打开上一步下载的sailing目录&#xf…