当前位置: 首页 > 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…...

BLE蓝牙扫描深度剖析:扫描原理、核心参数、前后台差异

一、前言BLE设备交互分为两大角色:广播端(外设Peripheral)与扫描端(中心Central)。上一篇博客详解了四大广播模式,本文聚焦配套核心能力——BLE扫描机制。绝大多数蓝牙开发疑难问题:前台能扫后台…...

鸿蒙系统微博应用锁常见问题解答

为微博设置应用锁后,不少用户会有各种疑问:忘记密码怎么办?会不会影响消息推送?能不能只锁定某些功能?应用锁耗电吗?本文将针对这些高频问题逐一解答,帮助您更好地使用鸿蒙系统(Harm…...

如何快速集成 react-native-bottom-sheet-behavior:5 分钟搞定 Android 底部弹窗

如何快速集成 react-native-bottom-sheet-behavior:5 分钟搞定 Android 底部弹窗 【免费下载链接】react-native-bottom-sheet-behavior react-native wrapper for android BottomSheetBehavior 项目地址: https://gitcode.com/gh_mirrors/re/react-native-bottom…...

十年以上经验的建站公司推荐|策划强、落地稳的网站制作公司盘点

互联网时代,企业官网已从单纯的信息展示窗口升级为集品牌价值传递、用户体验连接与业务高效转化于一体的核心数字阵地。行业报告显示,优质官网可帮助企业线上转化率提升35%-60%,而低效官网则可能导致潜在客户大量流失。面对市场上众多的网站建…...

3个实用场景教你轻松解锁网易云音乐NCM加密文件:ncmdumpGUI完整指南

3个实用场景教你轻松解锁网易云音乐NCM加密文件:ncmdumpGUI完整指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的…...

DLA功耗优化验证:tegrastats实战指南

重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...

从零开始的Linux#2 vim编辑器

介绍vi\vim是Linux中最经典的文本编辑器,vim是vi的全面升级版本,我们后面只用vim通过vim编辑器编辑文件,需要使用命令vim 文件路径如果文件路径表示的文件不存在,那么此命令会用于编辑新文件;如果存在则编辑已有文件模…...

第 2 期:广告视觉提效:FastAPI+LangChain 对接豆包图片模型(附完整代码)

https://mp.weixin.qq.com/s/El8_eV3wYCW-OPungbt7ng...

将Taotoken作为统一AI网关整合进企业现有微服务架构的实践思路

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将Taotoken作为统一AI网关整合进企业现有微服务架构的实践思路 在构建以AI能力驱动的现代应用时,中型及以上的企业常面…...

从零开始掌握MuSiC:单细胞RNA测序反卷积的完整指南

从零开始掌握MuSiC:单细胞RNA测序反卷积的完整指南 【免费下载链接】MuSiC Multi-subject Single Cell Deconvolution 项目地址: https://gitcode.com/gh_mirrors/music2/MuSiC 还在为复杂的单细胞数据分析而烦恼吗?想要从批量RNA测序数据中准确识…...