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

Liunx系统中FTP与NFS

目录

一、FTP文件传输协议

1.1、FTP工作原理

1.2、FTP状态码

1.3、FTP用户类型

1.4、FTP软件vsftpd

1.4.1、安装vsftpd

1.4.2、vsftpd配置文件

二、NFS网络文件系统

2.1、NFS工作原理

 2.2、NFS软件

2.3、NFS共享配置文件格式

2.4、NFS相关命令

2.4.1、exportfs

2.4.2、showmount

2.5、NFS模拟实操

2.5.1、服务器安装软件并进行配置

2.5.2、客户端进行挂载


一、FTP文件传输协议

FTP 是一种用于在网络上进行文件传输的协议,通常用于从远程服务器下载文件或向服务器上传文件。它工作在客户端-服务器架构下,客户端通过 FTP 客户端程序连接到 FTP 服务器进行文件操作。

1.1、FTP工作原理

FTP 使用TCP协议进行通信,通过21端口进行控制连接,数据传输默认使用20端口。FTP主要有两种模式:

  • 主动模式:服务器主动连接客户端的数据端口。
  • 被动模式:客户端请求服务器打开一个端口并进行数据连接。
1.2、FTP状态码
  • 1XX:信息 125:        数据连接打开
  • 2XX:成功类状态        200:命令OK     230:登录成功
  • 3XX:补充类         331:用户名OK
  • 4XX:客户端错误      425:不能打开数据连接
  • 5XX:服务器错误      530:不能登录
1.3、FTP用户类型
  • 匿名用户:anonymous,对应Linux用户ftp。
  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow。
  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件(这个用户不在 /etc/passwd 中,只是用来登录ftp的)
1.4、FTP软件vsftpd
1.4.1、安装vsftpd
[root@localhost ~]# yum install vsftpd -y        //安装vsftpd软件
[root@localhost ~]# systemctl start vsftpd       //开启软件
[root@localhost ~]# rpm -qc vsftpd               //查看配置文件
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
1.4.2、vsftpd配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
//通过以下选项,可以对ftp协议做自定义设置
listen_port=xxx               //默认端口为21,可改成指定端口
connect_from_port_20=YES      //主动模式端口为20
ftp_data_port=20              //指定主动模式的端口pasv_min_port=6000            //被动模式,0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010            //被动模式anonymous_enable=YES          //支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES          //匿名用户略过口令检查 , 默认NOanon_upload_enable=YES        //匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES   //匿名建目录local_enable=YES              //是否允许linux用户登录
write_enable=YES              //允许linux用户上传文件
local_umask=022               //指定系统用户上传文件的默认权限对应umaskchroot_local_user=YES         //禁锢系统用户,默认NO,即不禁锢
chroot_list_enable=YES        //禁锢白名单,默认是NO
chroot_list_file=/etc/vsftpd/chroot_list   //禁锢黑名单,当前为默认值

二、NFS网络文件系统

Network File System网络文件系统,允许在网络中不同的计算机之间共享文件系统。NFS使得远程的计算机能够像访问本地文件一样访问网络中的共享文件,非常适合在局域网(LAN)中进行文件共享。

2.1、NFS工作原理

  • NFS服务器:提供文件系统资源并将其共享给客户端
  • NFS客户端:通过网络访问并操作 NFS 服务器上的文件系统,客户端通过挂载共享的远程目录来访问远程文件。
 2.2、NFS软件
  • 软件包:nfs-utils (包括服务器和客户端)
  • 关联软件包:rpcbind(必须,不必单独启动,会自动启动,centos7之前版本需要提前启动)
  •  端口:2049(nfsd), 其它端口由portmap(111)分配。
  • NFS服务主要进程:
    • rpc.nfsd:最主要的NFS进程,管理客户端是否可登录
    • rpc.mountd:挂载和卸载NFS文件系统,包括权限管理
    • rpc.lockd:非必要,管理文件锁,避免同时写出错
    • rpc.statd:非必要,检查文件一致性,可修复文件
  • 日志:/var/lib/nfs/
2.3、NFS共享配置文件格式

配置文件路径为/etc/exports

[root@localhost ~]# vim /etc/exports//共享目录   共享的主机1(权限)   共享的主机2(权限)
/dir        主机1(opt1,opt2)     主机2(opt1,opt2)...    //主要格式默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性
低sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobodyno_root_squash 远程root映射成NFS服务器的root用户all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobodyno_all_squash (默认)保留共享文件的UID和GIDanonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
2.4、NFS相关命令
2.4.1、exportfs

功能是管理NFS共享文件系统列表。

-v显示共享目录-r重新共享所有目录
-a打开或取消所有共享目录-u取消一个或多个共享目录
2.4.2、showmount

功能是显示NFS服务器的共享信息。

-e显示NFS服务器上所有的共享目录
2.5、NFS模拟实操
2.5.1、服务器安装软件并进行配置
[root@localhost ~]# systemctl stop firewalld.service         //关闭防火墙
[root@localhost ~]# setenforce 0                             //关闭selinux
[root@localhost ~]# yum install nfs-utils rpcbind -y         //安装软件更新完毕:nfs-utils.x86_64 1:1.3.0-0.68.el7.2                                                                                                  完毕![root@localhost ~]# mkdir /data                    //创建需要共享的文件夹
[root@localhost ~]# vim /etc/exports               /data 192.168.153.0/24                             //新增共享配置[root@localhost ~]# exportfs -r                    //刷新NFS配置
exportfs: No options for /data 192.168.153.0/24: suggest 192.168.153.0/24(sync) to avoid warning
[root@localhost ~]# exportfs -v                    //查看配置
/data         	192.168.153.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,root_squash,no_all_squash)
[root@localhost ~]# systemctl start nfs            //启动rpcbind软件
[root@localhost ~]# systemctl start rpcbind        //启动rpcbind软件
2.5.2、客户端进行挂载
[root@localhost ~]# systemctl stop firewalld.service         //关闭防火墙
[root@localhost ~]# setenforce 0                             //关闭selinux
[root@localhost ~]# showmount -e 192.168.153.223             //查看共享信息
Export list for 192.168.153.223:
/data 192.168.153.0/24
[root@localhost ~]# mount 192.168.153.223:/data /mnt         //临时挂载,可通过fstab永久挂载[root@localhost ~]# cd /mnt        
[root@localhost mnt]# ls                                     //共享文件成功
for.sh  testread.sh  vs.sh

相关文章:

Liunx系统中FTP与NFS

目录 一、FTP文件传输协议 1.1、FTP工作原理 1.2、FTP状态码 1.3、FTP用户类型 1.4、FTP软件vsftpd 1.4.1、安装vsftpd 1.4.2、vsftpd配置文件 二、NFS网络文件系统 2.1、NFS工作原理 2.2、NFS软件 2.3、NFS共享配置文件格式 2.4、NFS相关命令 2.4.1、exportfs 2.…...

uniapp 测试 IPA 包安装到测试 iPhone

将uniapp测试IPA包安装到测试iPhone有以下几种方法: 使用Xcode安装 确保计算机上安装了Xcode,并将iOS设备通过数据线连接到计算机。打开Xcode,在菜单栏中选择Window->Devices and Simulators,在设备列表中找到要安装的iPhone…...

结构体指针传递给函数注意事项

在 C 语言中,传递结构体指针给函数是一种常见且高效的编程方式。不过,在实际操作时,有一些重要的注意事项需要留意,下面为你详细介绍: 1. 避免空指针引用 在函数内部使用结构体指针前,要先检查该指针是否为…...

mfy学习笔记

创建表并导入数据 CREATE TABLE sales (id INT,salesperson STRING,region STRING,sales_amount INT,sale_date DATE );INSERT INTO sales (id, salesperson, region, sales_amount, sale_date) VALUES (1, Alice, North, 1000, 2023-01-01), (2, Bob, South, 1500, 2023-01-0…...

C语言--文件操作

第16讲:文件操作 1. 为什么使用文件? 如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的&…...

网络安全内参

在我的IT职业生涯的早期,Sun Microsystems被认为是一个计算机梦想家。Sun很早就创造了一个有趣的公司口号:“The network is the computer.”这是什么意思?这意味着IT基础设施以松散耦合的体系结构连接在一起,通过以太网电缆和TCP/IP协议等网…...

C++大整数类的设计与实现

1. 简介 我们知道现代的计算机大多数都是64位的,因此能处理最大整数为 2 64 − 1 2^{64}-1 264−1。那如果是超过了这个数怎么办呢,那就需要我们自己手动模拟数的加减乘除了。 2. 思路 我们可以用一个数组来存储大数,数组中的每一个位置表…...

在 macOS 系统上安装 kubectl

在 macOS 系统上安装 kubectl 官网:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-macos/ 用 Homebrew 在 macOS 系统上安装 如果你是 macOS 系统,且用的是 Homebrew 包管理工具, 则可以用 Homebrew 安装 kubectl。 运行…...

【人工智能】蓝耘智算平台盛大发布DeepSeek满血版:开创AI推理体验新纪元

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ 蓝耘智算平台 蓝耘智算平台核心技术与突破元生代推理引擎快速入门:三步调用大模型接口,OpenAI SDK无缝兼容实战用例文…...

构建数据治理闭环:DAMA视角下的全流程实践与价值变现

随着数字经济的迅速发展,数据已成为企业核心资产,高效的数据治理体系正变得至关重要。本文基于DAMA理论,从数据资产入表、分类分级、确权登记到元数据管理、数据质量监控,再到数据集成、互操作及主数据管理,全流程构建…...

《深度剖析:AI与姿态估计技术在元宇宙VR交互中的应用困境》

在元宇宙的宏大版图里,虚拟现实(VR)交互是构建沉浸式体验的关键支柱,而人工智能(AI)与姿态估计技术的融合,本应成为提升交互体验的强大引擎。但在实际应用中,它们面临着诸多复杂且棘…...

【Python LeetCode】面试经典 150 题

数组 / 字符串快慢指针(双指针)总结88. 合并两个有序数组27. 移除元素26. 删除有序数组中的重复项80. 删除有序数组中的重复项 II Boyer-Moore 投票算法169. 多数元素扩展:寻找 n/3 多数元素 翻转法189. 轮转数组 贪心121. 买卖股票的最佳时机…...

2011-2019年各省乡镇综合文化站机构数数据

2011-2019年各省乡镇综合文化站机构数数据 1、时间:2011-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区、年份、乡镇综合文化站机构数 4、范围:31省 5、指标解释:乡镇综合文化站是中国基层文化…...

LeetCode 热题100 226. 翻转二叉树

LeetCode 热题100 | 226. 翻转二叉树 大家好,今天我们来解决一道经典的算法题——翻转二叉树。这道题在 LeetCode 上被标记为简单难度,要求我们翻转一棵二叉树,并返回其根节点。下面我将详细讲解解题思路,并附上 Python 代码实现…...

mysql 拼接多行合并为一行

如图所示,在variety相同的前提下拼接rating为ratingList,year_term为yearTermList sql如下: SELECT variety,GROUP_CONCAT(rating ORDER BY rating SEPARATOR ,) AS ratingList,GROUP_CONCAT(year_term ORDER BY year_term SEPARATOR…...

【Java项目】基于Spring Boot的论坛管理系统

【Java项目】基于Spring Boot的论坛管理系统 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:论坛管理系统是一个基于Web的在线平台,主要分为前台和后台两大功能模块。前台功能模块包括(1)首…...

unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本

目录 1 图片 image 1.1 如果直接导入image 1.2 图片 image 和精灵 sprite 1.2.1 继续修改上面的格式 texture type 是default 1.2.2 再次关联到UI的 image 物体上就可以了 1.3 图片和遮罩 mask 1.3.1 创建1个父物体和1个子物体,分别都是image 1.3.2 如果父…...

2024年国赛高教杯数学建模D题反潜航空深弹命中概率问题解题全过程文档及程序

2024年国赛高教杯数学建模 D题 反潜航空深弹命中概率问题 原题再现 应用深水炸弹(简称深弹)反潜,曾是二战时期反潜的重要手段,而随着现代军事技术的发展,鱼雷已成为现代反潜作战的主要武器。但是,在海峡或…...

什么是数字人

什么是数字人 Ultralight-Digital-Human 是一个能在移动设备上实时运行的数字人模型仓库,可能是第一个开源的如此轻量级的数字人模型。 主要特点 轻量级:能够在移动设备上实时运行。开源:代码和模型公开,方便开发者使用和改进。文件结构 根目录: README.md:项目的说明文…...

15.5 基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑

基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑 关键词:RetrievalQA 应用实战、销售知识增强、语义检索优化、上下文感知问答、多源知识融合 1. RetrievalQA 技术原理与销售场景适配 1.1 RetrievalQA 核心工作机制 #mermaid-svg-VL2yIusgl4oprXUr {font-family…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘&#xf…...

FOPLP vs CoWoS

以下是 FOPLP(Fan-out panel-level packaging 扇出型面板级封装)与 CoWoS(Chip on Wafer on Substrate)两种先进封装技术的详细对比分析,涵盖技术原理、性能、成本、应用场景及市场趋势等维度: 一、技术原…...

python打卡day49@浙大疏锦行

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...

未授权访问事件频发,我们应当如何应对?

在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...

在Spring Boot中集成RabbitMQ的完整指南

前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...