Linux基础 - 使用 vsftpd 服务传输文件

news2024/11/26 2:28:05

零. 简介

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的标准网络协议。

FTP 允许客户端和服务器之间进行文件的上传、下载、删除、重命名等操作。它基于客户端 - 服务器模型工作,通常使用 TCP 协议进行可靠的数据传输。

FTP 有两种工作模式:主动模式(PORT 模式)和被动模式(PASV 模式)。在主动模式下,客户端向服务器发送端口信息,服务器主动连接客户端的指定端口进行数据传输;在被动模式下,服务器向客户端告知可用的端口,客户端连接服务器指定的端口来进行数据传输。

FTP 的优点包括:

  1. 广泛支持:几乎所有操作系统和网络设备都支持 FTP 协议。
  2. 易于使用:有许多现成的 FTP 客户端软件可供选择,使用相对简单。

然而,FTP 也存在一些缺点:

  1. 安全性较低:数据传输通常是明文的,容易被窃取。
  2. 不适合大文件传输:在传输大文件时可能会出现性能问题。

随着技术的发展,一些更安全和高效的文件传输协议和方法逐渐出现,如 SFTP(SSH File Transfer Protocol)、FTPS(FTP over SSL/TLS)等,但 FTP 因其历史悠久和广泛的兼容性,仍然在许多场景中被使用。

vsftpd(Very Secure FTP Daemon)是一款运行在 Linux 操作系统上的功能强大且安全的 FTP 服务器软件。

vsftpd 具有以下一些显著特点和优势:

  1. 安全性高:它遵循了严格的安全标准,对访问控制、权限管理等方面进行了精心设计,减少了潜在的安全风险。
  2. 性能出色:能够处理大量并发连接,在高负载情况下仍能保持稳定和高效的文件传输。
  3. 配置简单:通过修改其配置文件 /etc/vsftpd.conf ,可以轻松地满足各种不同的需求和场景。
  4. 支持多种模式:例如匿名访问模式和本地用户访问模式等,具有较高的灵活性。
  5. 占用系统资源少:对服务器的资源消耗较低,不会对系统性能造成过大的负担。

vsftpd 常用于以下场景:

  1. 企业内部文件共享:为企业内部员工提供安全、高效的文件传输和共享服务。
  2. 网站文件更新:方便网站管理员上传和下载网站相关的文件。
  3. 数据备份与恢复:作为一种可靠的方式来备份和恢复重要的数据。

总的来说,vsftpd 是一款在 Linux 环境中广泛应用且备受好评的 FTP 服务器软件,能够为用户提供稳定、安全和高效的文件传输服务。

一. 安装vsftpd

  1. 安装 vsftpd 服务:
    在不同的 Linux 发行版中,安装命令可能有所不同。例如,在 Ubuntu 中,可以使用以下命令安装:

   sudo apt-get install vsftpd
  1. 配置 vsftpd :
    主要的配置文件是 /etc/vsftpd.conf 。可以根据需求修改一些常见的配置选项,例如:

    • 允许匿名用户访问:anonymous_enable=YES
    • 允许本地用户登录:local_enable=YES
    • 允许写入:write_enable=YES
  2. 启动 vsftpd 服务:
    不同的发行版启动服务的命令可能有所不同。在 Ubuntu 中,可以使用以下命令:

   sudo systemctl start vsftpd
  1. 设置防火墙规则(如果有防火墙):(我把防火墙全部关闭了)

  2. 确保防火墙允许 FTP 服务使用的端口(默认是 20 和 21 端口)的访问。

  3. 在客户端使用 FTP 客户端软件连接:
    可以使用诸如 FileZilla 等 FTP 客户端工具,输入服务器的 IP 地址、用户名和密码进行连接。

连接成功后,您就可以在客户端和服务器之间进行文件的上传和下载操作了

二. window连接ftp

1.下载ftp客户端

客户端 - FileZilla中文网

选择一个适合自己的版本

我下的绿色版,解压到本地

2.打开

3.配置

4. 连接成功

5.下载文件

选择文件,右键下载

6.下载成功

7.上传文件

打开配置文件

打开 write_enable = YES

修改完配置 重启

sudo /etc/init.d/vsftpd restart

直接鼠标左键拖进去即可

8.上传成功

三. 总结

在 Ubuntu 中安装vsftpd(Very Secure FTP Daemon)可以按照以下步骤进行:

打开终端,运行以下命令安装vsftpd

sudo apt-get update

sudo apt-get install vsftpd

安装完成后,启动VSFTPD服务:

sudo systemctl start vsftpd

(可选)创建用户主目录并设置权限(例如,创建/home/uftp作为用户主目录):

sudo mkdir /home/uftp

sudo chmod 775 /home/uftp

创建 FTP 用户并设置密码:

sudo adduser -m -d /home/uftp -s /bin/sh -g root uftp(添加用户,-m表示创建用户主目录,-d指定主目录路径,-s指定用户登录的 shell,-g指定用户所属的组)

sudo passwd uftp(设置用户密码)

修改vsftpd配置文件/etc/vsftpd.conf

sudo vi /etc/vsftpd.conf

一些重要的配置选项如下:

  • anonymous_enable=NO:禁止匿名登录 FTP 服务器(可选,根据需求决定是否禁止匿名访问)。
  • local_enable=YES:允许本地用户登录 FTP 服务器。
  • write_enable=YES:允许登录用户有写的权限(启用上传功能)。
  • 若要限制用户在主目录下,可使用以下配置:
    • chroot_local_user=YES
    • chroot_list_enable=YES
    • chroot_list_file=/etc/vsftpd.chroot_list
      /etc/vsftpd.chroot_list文件中列出的用户可以跳出主目录,未在文件中列出的用户不允许跳出主目录。

重启vsftpd服务,使配置生效:

sudo systemctl restart vsftpd

(可选)如果系统启用了防火墙(如ufw),需要打开 FTP 的数据端口:

sudo ufw allow 20/tcp

sudo ufw allow 21/tcp

在 Windows 端远程连接 Ubuntu 并进行文件上传下载,可以使用 FileZilla 等 FTP 客户端软件。具体步骤如下:

  1. 在 Windows 上下载并安装 FileZilla 客户端。

  2. 打开 FileZilla 软件,选择“文件”->“站点管理器”->点击“新增站点”,然后配置连接参数,包括主机(Ubuntu 服务器的 IP 地址)、用户名、密码、端口(默认为 21)等。

  3. 点击“连接”,如果连接成功,就可以看到 Ubuntu 服务器上的文件和目录。

  4. 要从 Windows 上传文件到 Ubuntu,直接在左侧把 Windows 下的目录文件拖到右侧 Ubuntu 中指定的目录即可;要从 Ubuntu 下载文件到 Windows,在右侧选择要下载的文件或目录,拖到左侧 Windows 的相应位置。

在实际操作过程中,可能会遇到一些问题,例如连接失败、权限问题或文件名乱码等。常见的解决方法包括:

  • 确保 Ubuntu 端的vsftpd服务已正确安装、配置并启动。
  • 检查网络连接,确保 Windows 能够ping 通 Ubuntu 服务器的 IP 地址。
  • 若文件名出现乱码,可在 FileZilla 的站点管理器中,选择对应的站点,在“字符集”选项中选中“强制 UTF-8”。
  • 如果遇到权限问题,检查/etc/vsftpd.conf文件中的权限设置,以及相关目录的权限。

另外,除了使用 FTP 方式,还可以通过 SSH 方式实现 Windows 与 Ubuntu 之间的远程连接和文件传输。但这种方式需要在 Ubuntu 上安装并配置 SSH 服务器,而 Windows 端也需要使用支持 SSH 的客户端软件。

需注意,在进行任何远程连接和文件传输操作时,确保你有足够的权限并且了解相关的安全风险。同时,保护好服务器的登录凭据,以防止未经授权的访问。

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

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

相关文章

Web渗透:文件包含漏洞

Ⅱ.远程文件包含 远程文件包含漏洞(Remote File Inclusion, RFI)是一种Web应用程序漏洞,允许攻击者通过URL从远程服务器包含并执行文件;RFI漏洞通常出现在动态包含文件的功能中,且用户输入未经适当验证和过滤。接着我…

信息系统项目管理师(项目立项管理)

项目建议书的主要内容包括项目的必要性、项目建设所必须的条件、项目的市场预测、产品方案或服务的市场预测项目评估的依据主要包括:项目建议书及其批准文件、项目可行性研究报告、报送组织的申请报告及主管部门的初审意见、项目关键建设条件和工程等的协议文件、必…

编译VTK静态库

编译VTK静态库遇到问题 vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMPToolsImpl<1>::IsParallelScope(void)" (?IsParallelScope?$vtkSMPToolsImpl$00smpdetai…

未来已来,如何打造智慧养殖场?

近年来&#xff0c;国家出台了一系列扶持政策&#xff0c;以促进养殖行业高质量发展&#xff0c;推动行业转型升级。在国家政策和市场需求的双重驱动下&#xff0c;养殖行业正迎来前所未有的发展机遇。智慧养殖以其高效、智能和可持续的特点&#xff0c;正逐步取代传统养殖方式…

公司内部培训资料!制氢变换器技术汇总 最新制氢技术方案

网盘 https://pan.baidu.com/s/1UE_d_dGcxxltII2lMg3I4w?pwdyyt3 制氢的电源系统、制氢的装置及制氢的方法.pdf 功率变换器及控制方法.pdf 单级隔离双向AC-DC变换器拓扑结构及其控制方法.pdf 基于耦合电感的高增益变换器.pdf 多端口输入非隔离型直流变换器及其控制方法.pdf 大…

Stream Lua Nginx Module 插件一键安装

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

程序的调试技术,设置断点

断点&#xff08;break point&#xff09;是指在代码中指定位置&#xff0c;当程序运行到此位置时变中断下来&#xff0c;并让开发者可查看此时各变量的值。因断点中断的程序并没有结束&#xff0c;可以选择继续执行。 在程序的调试过程中&#xff0c;设置断点是一个很有用的分…

ElasticSearch中的BM25算法实现原理及应用分析

文章目录 一、引言二、BM25算法实现原理BM25算法的实现原理1. 词频&#xff08;TF&#xff09;&#xff1a;2. 逆文档频率&#xff08;IDF&#xff09;&#xff1a;3. 长度归一化&#xff1a;4. BM25评分公式&#xff1a; BM25算法示例 三、BM25算法在ElasticSearch中的应用分析…

时序分析基本概念介绍——min period 最小时钟周期

文章目录 前言一、什么是 min period&#xff1f;二、为什么检查 min period&#xff1f;三、如何设置 min period&#xff1f;四、如何检查 min period&#xff1f;五、如何修复 min period&#xff1f;总结 前言 我们在实际设计中可能会碰到这种情况&#xff0c;如果我们的m…

投标书制作

一、投标书的基本要求l . 帮助与你的标书读者沟通。从这个角度上来讲&#xff0c;标书是一篇针对用户需求的论文&#xff0c;逻辑结构和语言一定要清晰、可读。考虑到评标专家一般都具有较好的学术经验&#xff0c;其中很多还是教授、博导&#xff0c;投标的语言要针对读者的阅…

Redis安装与使用

目录 1、介绍 1、redis的特点: 2、缓存 2、安装Redis 1、安装单机版redis 2、redis-cli命令参数 3、清空数据库的两种方式和作用域&#xff1a; 4、redis的增删查改命令 5、redis的查看所有分类命令 6、redis过期时间与控制键的行为 7、redis的相关工具 1、介绍 r…

第24篇 滑动开关控制LED<二>

Q&#xff1a;如何使用Intel FPGA Monitor Program创建滑动开关控制LED工程并运行呢&#xff1f; A&#xff1a;创建工程的基本过程与前面的Intel FPGA Monitor Program的使用<三>一样&#xff0c;不同的地方是&#xff0c;本实验工程用到了开发板的外设硬件LED和SW&…

EXCEL快速填充空白内容

** EXCEL快速填充空白内容 ** 1.全选所有需要填充的内容&#xff0c;按住电脑的F5或者CTRLG点击定位 2.可以看到空白处被自动选定&#xff0c;之后按电脑和⬆&#xff0c;最后CTRLenter 可以看到空白处已经被填充。

第4章 客户端-客户端案例分析

1 Redis内存陡增 1.1.现象 服务端现象&#xff1a;Redis主节点内存陡增&#xff0c;几乎用满maxmemory&#xff0c;而从节点内存并没有变化&#xff08;正常情况下主从节点内存使用量基本相同&#xff09;。 客户端现象&#xff1a;客户端产生了OOM异常&#xff0c;也就是Redis…

擎耀解码汽车大灯照明系统电动调节步进电机位置反馈的解决方案

在现代汽车设计中&#xff0c;智能照明系统扮演着至关重要的角色。其中&#xff0c;汽车大灯的电动调节功能不仅提高了夜间行车的安全性&#xff0c;还增强了车辆的科技感和便利性。然而&#xff0c;要实现精准的大灯角度调节&#xff0c;步进电机的位置反馈机制尤为关键。擎耀…

Java学习 - Redis-Cluster

为什么需要集群 为了高的处理速度 单机redis&#xff0c;官网宣传处理速度为10万命令/秒如果业务需要更高的处理速度&#xff0c;则需要使用集群 为了存储大量数据 一般机器的内存为16-256G如果想要存储更大量的数据&#xff0c;则需要使用集群 分布式之数据分区 因为数据需…

不要小看3D元素,融入大屏后,立马带来5个提升。

将3D元素引入可视化大屏可以带来多方面的好处&#xff0c;包括但不限于以下几点&#xff1a; 1. 更生动的展示效果&#xff1a; 通过引入3D元素&#xff0c;可视化大屏可以呈现更加生动、立体的展示效果&#xff0c;使得数据和信息更加直观、形象化&#xff0c;吸引观众的注意…

餐饮冷库安全守护神:可燃气体报警器检定的科学性与有效性

随着餐饮业的快速发展&#xff0c;冷库成为储存食材、保证食品质量的重要场所。 然而&#xff0c;由于冷库环境的特殊性&#xff0c;如密封性强、温度低、湿度大等&#xff0c;一旦冷库内发生可燃气体泄露&#xff0c;后果将不堪设想。因此&#xff0c;在餐饮冷库中安装并合理…

解决RuntimeError: Unsupported image type, must be 8bit gray or RGB image.

今天在使用Opencv进行人脸识别项目时发现了一个问题&#xff0c;一直报这个错误RuntimeError: Unsupported image type, must be 8bit gray or RGB image.查了一下资料也是解决了&#xff0c;这样给大家分享一下 解决方案 Numpy 有一个主要版本更新&#xff0c;与 dlib 不兼容。…

Kubernetes实现应用零宕机

Kubernetes实现应用零宕机 容器镜像位置Pod数量(应用程序实例)Pod中断预算部署策略自动回滚部署Probe探针初始启动时间延迟优雅终止期GrancePeriodSecondsPod反亲和力资源自动缩放Autoscaling总结 容器已经彻底改变了应用托管格局&#xff01;它带来了许多需要复杂设置的设施。…