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

输入授权用户密码

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Git快速入门》Git分支

1.master、origin、origin/master 区别 首先搞懂git分支的一些名称区别: master : Git 的默认分支名字。它并不是一个特殊分支、跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它&#xff0c…

Redis缓存穿透、缓存击穿、缓存雪崩介绍

一、Redis的缓存穿透 1.什么是缓存穿透? 缓存穿透是指:客户端请求的数据在缓存中和数据库中都不存在,这时缓存就永远不会生效,这些请求都打到数据库从而导致数据库压力过大。 2.出现缓存穿透的解决方案,以下是常用的两…

reactor的原理与实现

网络模型 前情回顾服务器模型 Reactor和 ProactorReactor模型Proactor模型同步I/O模拟Poractor模型Libevent,libev,libuv优先级事件循环线程安全 前情回顾 网络IO,会涉及到两个系统对象:   一个是用户空间调用的进程或线程   …

07 Vue3框架简介

文章目录 一、Vue3简介1. 简介2. 相关网站3. 前端技术对比4. JS前端框架5. Vue核心内容6. 使用方式 二、基础概念1. 创建一个应用2. 变量双向绑定(v-model)3. 条件控制(v-if)4. 数组遍历(v-for)5. 绑定事件…

leetcode 38. 外观数列(medium)(优质解法)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码: class Solution {public String countAndSay(int n) {//要进行 n - 1 次描述才能得到结果// last 代表当前要描述的字符串String last"1";// ret 代表描述…

应用安全技术措施

目录 身份鉴别 访问控制 安全审计 剩余信息保护 通信完整性 通信保密性 抗抵赖 软件容错 身份鉴别 进阶 访问控制 进阶 安全审计 进阶 剩余信息保护 进阶 通信完整性 通信保密性 抗抵赖 软件容错 ~over~

TypeScript学习(进阶篇)

一、元组 数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。 元组起源于函数编程语言(如 F#),这些语言中会频繁使用元组。 简单的例子 定义一对值分别为 string 和 number 的元组&#xf…

MES系统是什么?MES系统的功能有哪些?

在现代制造业的快速发展中,所有规模的企业都面临着类似的挑战:如何提高生产效率、确保产品质量、减少浪费、降低成本,同时迅速响应市场变化。而在这个过程中,传统企业管理往往有以下几个典型痛点: 纸质文件堆叠如山&a…

麦肯锡产品经理问题解决流程终极指南

您是否想知道世界上最成功的产品经理如何始终如一地提供不仅满足而且超出预期的解决方案?秘密可能就在于世界上最负盛名的咨询公司之一麦肯锡公司所磨练的方法论。本文深入探讨了麦肯锡的问题解决流程,该流程专为希望提升水平的产品经理量身定制。 01. 麦…

Kafka生产环境问题总结与性能优化实践

Kafka可视化管理工具kafka-manager 安装及基本使用可参考: httos://wwwcnbloas.com/dadonaaa/o/8205302.html 线上环境规划 1. 消息丢失情况: 消

实战教学:零食百货商城小程序开发全程指导

随着移动设备的普及和互联网技术的发展,小程序成为越来越多人的选择,特别是在购物方面。开发一个零食百货商城小程序,可以让你在手机上随时随地购买各种零食,方便快捷。本文将为你提供全程指导,让你轻松开发一个成功的…

MySql的mvcc原理

目录 一、什么是mvcc? 二、什么是当前读,快照读? 当前读 快照读 三、mvcc实现原理 版本链 undo日志 Undo log 的用途 Read View(读视图) Read View几个属性 五、RR、RC级别下生成时机 一、什么是mvcc? mvcc全称Multi-Version Concurrency Control,即…

迪文屏开发保姆级教程5—表盘时钟和文本RTC显示

这篇文章要讲啥事呢? 本篇文章主要介绍了在DGBUS平台上使用表盘时钟和文本时钟RTC显示功能的方法。 文哥悄悄话: 官方开发指南PDF:(不方便下载的私聊我发给你) https://download.csdn.net/download/qq_21370051/8864…

Flowable-升级为7.0.0.M2-第一节

目录 升级jdk升级springboot到3.1.3升级数据库连接池druid-spring-boot-3-starter到1.2.20升级mybatis-plus到3.5.3.2升级flowable到7.0.0.M2 最近有些读者一直问flowable如何升级到7.0.0.M2,接下来我就一步步的把flowable升级到7.0.0.M2 升级jdk flowable7.x采用的…

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

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

浅谈矿山井下IT配电系统绝缘监测的应用

摘要:众所周知,能源作为经济发展的重要引擎,堪称是国民经济的命脉。采矿业一直是能源工业的重要支柱,我国的矿业生产主要来自井下开采,环境恶劣,就以煤矿为例,煤矿井下存在水、火、瓦斯、煤尘、…

Shell三剑客:awk(awk编辑编程)二

一、IF 语句 IF 条件语句语法格式 #方式一: if (condition)action #方式二:使用花括号语法格式 if (condition) {action1;action2; ... } {if(表达式){语句1;语句2;...}} IF 语句实例 #判断数字是奇数还是偶数 [rootlocalhost ~…

11.1Linux串口应用程序开发

UART简介 UART的全称是Universal Asynchronous Receiver and Transmitter,即异步发送和接收。 串口在嵌入式中用途非常的广泛,主要的用途有: 打印调试信息;外接各种模块:GPS、蓝牙; 串口因为结构简单、稳…

css的定位

为什么需要定位? 场景: 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子当我们滚动窗口的时候,盒子是固定屏幕某个位置的。 这二个需求,使用标准流和浮动的方式是无法实现的或者是不容易实现,所以…

【C++】string

文章目录 1. 标准库中的string类1.1 string类 2 string类的常用接口说明2.1 string类对象的常见构造2.2 string类对象的容量操作2.3. string类对象的访问及遍历操作2.4 string类对象的修改操作2.5 string类非成员函数2.6 vs和g下string结构的说明 1. 标准库中的string类 1.1 s…