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

linux 安装ftp

1、安装vsftpd

sudo yum install -y vsftpd

2、运行以下命令,启动FTP服务,并设置开机自启动。

sudo systemctl start vsftpdsudo systemctl enable vsftpd

3、运行以下命令,查看FTP服务监听的端口。

sudo netstat -antup | grep ftp

出现如下图所示界面,表示FTP服务已启动,监听的端口号为21。

此时,vsftpd默认已开启匿名访问功能,无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。

4、配置vsftpd

1)  创建一个Linux用户并设置密码。运行以下命令,为FTP服务创建一个Linux用户。

2)本示例中,该用户名为 ftptest

sudo adduser ftptest
运行以下命令,修改 ftptest 用户的密码。

sudo passwd ftptest
运行命令后,根据命令行提示完成FTP用户的密码修改。

3)、运行以下命令,创建一个供FTP服务使用的文件目录。

sudo mkdir -p /var/ftp/test

4) 运行以下命令,创建测试文件。

该测试文件访问FTP服务器时使用。

sudo touch /var/ftp/test/testfile.txt

5)、运行以下命令,更改 /var/ftp/test 目录的拥有者为 ftptest 。

sudo chown -R ftptest:ftptest /var/ftp/test

6) ftp 配置文件

sudo vim /etc/vsftpd/vsftpd.conf

    #禁止匿名登录FTP服务器。
    anonymous_enable=NO
    #允许本地用户登录FTP服务器。
    local_enable=YES
    #监听IPv4 sockets。
    listen=YES

    在行首添加#注释掉以下参数,关闭监听IPv6 sockets:

    #listen_ipv6=YES

    在配置文件的末尾添加下列参数,其中 pasv_address 需修改为FTP服务器的公网IP地址。

    #设置本地用户登录后所在目录。
    local_root=/var/ftp/test
    #全部用户被限制在主目录。
    chroot_local_user=YES
    #启用例外用户名单。
    chroot_list_enable=YES
    #指定例外用户列表文件,列表中用户不被锁定在主目录。
    chroot_list_file=/etc/vsftpd/chroot_list
    #开启被动模式。
    pasv_enable=YES
    allow_writeable_chroot=YES
    #本教程中为Linux实例的公网IP。
    pasv_address=FTP服务器公网IP地址
    #设置被动模式下,建立数据传输可使用的端口范围的最小值。
    #建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
    pasv_min_port=50000
    #设置被动模式下,建立数据传输可使用的端口范围的最大值。
    pasv_max_port=50010

    按 Esc 键,输入 :wq ,按 Enter 键关闭并保存配置文件。

    创建 chroot_list 文件,并在文件中写入例外用户名单。

    运行以下命令,创建 chroot_list 文件。sudo vim /etc/vsftpd/chroot_list
    按 i 进入编辑模式。输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。重要没有例外用户时,也必须创建chroot_list文件,内容可为空。按 Esc 键,输入 :wq ,按 Enter 键关闭并保存配置文件。

     参考配置文件:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    listen_ipv6=NO

    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES

    #设置本地用户登录后所在目录。
    local_root=/var/ftp/test
    #全部用户被限制在主目录。
    chroot_local_user=YES
    #启用例外用户名单。
    chroot_list_enable=YES
    #指定例外用户列表文件,列表中用户不被锁定在主目录。
    chroot_list_file=/etc/vsftpd/chroot_list
    #开启被动模式。
    pasv_enable=YES
    allow_writeable_chroot=YES
    pasv_address=39.106.7.119
    pasv_min_port=40000
    pasv_max_port=40001

    6)、运行以下命令,重启vsftpd服务。

    sudo systemctl restart vsftpd
    

    相关文章:

    linux 安装ftp

    1、安装vsftpd sudo yum install -y vsftpd 2、运行以下命令,启动FTP服务,并设置开机自启动。 sudo systemctl start vsftpdsudo systemctl enable vsftpd 3、运行以下命令,查看FTP服务监听的端口。 sudo netstat -antup | grep ftp 出现…...

    DDoS技术解析

    这里是Themberfue 今天我们不聊别的,我们聊聊著名的网络攻击手段之一的 DDoS,看看其背后的技术细节。 DoS 了解 DDoS 前,先来讲讲 DoS 是什么,此 DoS 而不是 DOS 操作系统啊。1996年9月6日,世界第三古老的网络服务提供…...

    移远通信边缘计算模组成功运行DeepSeek模型,以领先的工程能力加速端侧AI落地

    近日,国产大模型DeepSeek凭借其“开源开放、高效推理、端侧友好”的核心优势,迅速风靡全球。移远通信基于边缘计算模组SG885G,已成功实现DeepSeek模型的稳定运行,并完成了针对性微调。 目前,该模型正在多款智能终端上进…...

    Linux | 进程相关概念(进程、进程状态、进程优先级、环境变量、进程地址空间)

    文章目录 进程概念1、冯诺依曼体系结构2、进程2.1基本概念2.2描述进程-PCB2.3组织进程2.4查看进程2.5通过系统调用获取进程标识符2.6通过系统调用创建进程-fork初识fork の 头文件与返回值fork函数的调用逻辑和底层逻辑 3、进程状态3.1状态3.2进程状态查看命令3.2.1 ps命令3.2.…...

    站群服务器和普通服务器有哪些不同之处?

    站群服务器是一个集中管理工具,可以允许网站管理员同时管理多个网站,但是不要管理员登录每一个网站的后台,在站群模式下,网站管理员通过一个或者多个服务器来托管大量的子站点,可以支持大规模网站的集中管理和优化。 普…...

    百度千帆平台对接DeepSeek官方文档

    目录 第一步:注册账号,开通千帆服务 第二步:创建应用,获取调用秘钥 第三步:调用模型,开启AI对话 方式一:通过API直接调用 方式二:使用SDK快速调用 方式三:在千帆大模…...

    DeepSeek帮助解决Oracle死锁问题

    最近在生产上遇到一个死锁问题,Oracle 抛出了 ORA-000060 异常。 业务场景:程序按行读取一个上游系统送的文件数据(大概有几万行),读取到数据后,每 500 行分配给一个线程去批量更新数据库(使用…...

    MySQL无法连接到本地localhost的解决办法2024.11.8

    问题描述:我的MySQL可以远程连接服务器,但无法连接自己的localhost。 错误提示: 2003 - Cant connet to MySQL server on localhost(10061 "Unknown error")查找问题原因: 1. 检查环境变量是否正确:发现没…...

    Nginx之rewrite重写功能

    目录 一、rewrite概述 1、rewrite功能 2、跳转场景 二、标准配置指令 1、rewrite日志记录指令 2、未初始化变量告警日志记录指令 3、rewrite 指令 3.1 正则表达式 三、rewrite模块使用实例 1.基于域名的跳转 2.基于客户端 IP 访问跳转 3.?基于旧域名跳转到新域名后…...

    Selenium WebDriver自动化测试(扩展篇)--Jenkins持续集成

    文章目录 一、引言二、Jenkins简介三、安装部署Jenkins安装部署四、集成Git与Maven安装必要的插件配置Git配置Maven五、创建Job创建自由风格的项目配置源码管理配置构建触发器配置构建环境配置构建步骤配置Post-build Actions六、触发构建示例:GitHub Webhook触发构建七、封装…...

    MyBatis拦截器终极指南:从原理到企业级实战

    在本篇文章中,我们将深入了解如何编写一个 MyBatis 拦截器,并通过一个示例来展示如何在执行数据库操作(如插入或更新)时,自动填充某些字段(例如 createdBy 和 updatedBy)信息。本文将详细讲解拦…...

    DeepSeek4j 已开源,支持思维链,自定义参数,Spring Boot Starter 轻松集成,快速入门!建议收藏

    DeepSeek4j Spring Boot Starter 快速入门 简介 DeepSeek4j 是一个专为 Spring Boot 设计的 AI 能力集成启动器,可快速接入 DeepSeek 大模型服务。通过简洁的配置和易用的 API,开发者可轻松实现对话交互功能。 环境要求 JDK 8Spring Boot 2.7Maven/Gr…...

    linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上

    linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上 这里的问题是 /usr/share/udhcpc/default.script脚本有问题 用下面正确脚本,即可写进去 #!/bin/sh# udhcpc script for busybox # Copyr…...

    【工业安全】-CVE-2022-35555- Tenda W6路由器 命令注入漏洞

    文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析 4.1:代码分析  4.2:流量分析 5.poc代码: 1.漏洞描述 漏洞编号:CVE-2022-35555 漏洞名称:Tenda W6 命令注入 威胁等级:高危 漏洞详情&#xff1…...

    twisted实现MMORPG 游戏数据库操作封装设计与实现

    在设计 MMORPG(大规模多人在线角色扮演游戏)时,数据库系统是游戏架构中至关重要的一部分。数据库不仅承担了游戏中各种数据(如玩家数据、物品数据、游戏世界状态等)的存储和管理任务,还必须高效地支持并发访…...

    【MySQL】基础篇

    1. MySQL中的NULL值是怎么存放的? MySQL的compact行格式中会用【NULL值列表】来标记值为NULL的列,NULL值不会存储在行格式中的真实数据部分。 NULL值列表会占用1字节空间,当表中所有字段都被定义成NOT NULL,行格式中就不会有NULL值…...

    【自学笔记】机器学习基础知识点总览-持续更新

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 机器学习重点知识点总览一、机器学习基础概念二、机器学习理论基础三、机器学习算法1. 监督学习2. 无监督学习3. 强化学习 四、机器学习处理流程五、机器学习常见问…...

    记录阿里云CDN配置

    网站接入CDN全流程,共4步!-阿里云开发者社区 1、开通阿里云CDN服务 2、添加加速域名 3、验证域名归属权 4、域名添加CDN生成的CNAME解析 按照官网描述增加。细节点: 1. 域名和泛域名区别 2.开启https,要用nginx的证书,和项…...

    同为科技智能PDU助力Deepseek人工智能和数据交互的快速发展

    1 2025开年,人工智能领域迎来了一场前所未有的变革。Deepseek成为代表“东方力量”的开年王炸,不仅在国内掀起了技术热潮,并且在全球范围内引起了高度关注。Deepseek以颠覆性技术突破和现象级应用场景席卷全球,这不仅重塑了产业格…...

    聚铭网络入围2025年度江苏省政府采购信息安全设备协议供货名单

    近日,2025年度江苏省党政机关、事业单位及团体组织信息安全设备框架协议采购项目入围结果公布。聚铭网络凭借自身专业实力和技术优势脱颖而出,成功入围22个分包。 此次采购项目是江苏省政府采购领域级别最高、覆盖面最广的项目之一。从资格评选到后期材料…...

    【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用

    Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Linux网络编程 本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g。 🏠 yum 🎸 什么是yum 当用户想下载软…...

    leetcode 297. 二叉树的序列化与反序列化

    题目如下 我们常常说单独先序遍历不能完整的表示一棵树是有前提条件的。 为什么?先序遍历是按 根节点 左子树 右子树的方向遍历树且遇到空子树直接返回,这样会造成我们并不知道某个节点的左右子树存在与否,故我们无法确定树的形状。但是如果…...

    OpenAI 放王炸,将发布整合多项技术的 GPT-5,并免费无限使用,该模型有哪些技术亮点

    对于 ChatGPT 的免费用户,将可以无限制地访问 GPT-5,但仅限于标准的智能级别。该级别会设定滥用限制,以防止不当使用(意思就是你得付费嘛)。 OpenAI CEO Sam Altman 今天在 X 上透露了 GPT-4.5 和 GPT-5 的最新发展计划。 OpenAI 将发布代…...

    Ubuntu22.04 使用useradd 创建用户时,没有创建家目录时,如何手动创建家目录

    测试案例: 使用useradd不加参数创建test目录 如下可以看出使用 useradd 创建用户的时候默认不会创建家目录 rootlocal:~# useradd test rootlocal:~# id test uid1001(test) gid1001(test) groups1001(test) rootlocal:~# cat /etc/passwd | grep test test:x:1001:…...

    浅聊Docker使用、部署

    在Java面试中,当被问到关于Docker中间件的使用、部署及在实际项目中的考虑时,可以按照以下结构和内容来详细回答: 一、Docker中间件的使用 1. Docker是什么? Docker是一个开源平台,允许开发者将应用程序及其依赖项打…...

    Java面试第一山!《集合》!

    一、引言 在 Java 编程的世界里,数据的存储和处理是非常重要的环节。Java 集合框架就像是一个功能强大的工具箱,为我们提供了各种各样的数据结构来高效地存储和操作数据。今天,跟随小编一起来深入了解 Java 集合框架,这不仅有助于…...

    力扣-二叉树-257 二叉树的所有路径

    思路 除去根节点&#xff0c;每一层添加->val&#xff0c;然后使用前序遍历的顺序 代码 class Solution { public:vector<string> res;void getTreePaths(string s, TreeNode* root){s "->";s to_string(root->val);if(root->left nullptr &…...

    异构计算架构助力智能座舱实现高效低耗体验

    摘要: 随着智能汽车的飞速发展,智能座舱作为人车交互的核心区域,对算力、功耗及延迟等性能指标提出了严苛要求。异构计算架构凭借在硬件、软件与系统层面的深度优化,能显著提升智能座舱的算力利用率,降低功耗与延迟,为用户打造高效、低能耗的智能座舱体验。本文深入剖析…...

    【vscode】VScode Remote SSH配置

    VScode使用remote ssh 到服务器上的Docker容器中 1. 配置远程服务器docker容器的端口映射&#xff0c;例如将服务器的2222端口映射到container的22端口(默认) 1.1 在容器系统的sshd_config文件中配置参数 #配置文件 vim /etc/ssh/sshd_config #打开端口号 Port 221.2 建立容…...

    急停信号的含义

    前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任软件经理&#xff0c;从事C#上位机软件开发8年以上&#xff01;我们在开发C#的运动控制程序的时候&#xff0c;一个必要的步骤就是确认设备按钮的急停…...

    【Azure 架构师学习笔记】- Azure Databricks (11) -- UC搭建

    本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (10) – UC 使用 前言 由于ADB 的更新速度很快&#xff0c;在几个月之后重新搭建ADB 时发现UC 已经更新了很多&#xff0c;为了后续做ADB 的功…...

    MYSQL批量UPDATE的两种方式

    工作中遇到批量更新的场景其实是比较常见的。 但是该如何正确的进行批量UPDATE&#xff0c;很多时候往往有点头大。 这里列2种可用的方式&#xff0c;供选择(请选择方式一&#xff0c;手动狗头。)。 如果使用了MyBatis增强组件MyBatisPlus 如果使用了MyBatisPlus&#xff0c;…...

    百度宣布:免费!

    2月13日&#xff0c;百度大模型文心一言在官网宣布&#xff0c;随着文心大模型的迭代升级和成本不断下降&#xff0c;文心一言将于4月1日起全面免费&#xff0c;所有PC端和APP端用户均可体验文心系列最新模型。 同时&#xff0c;文心一言将上线深度搜索功能&#xff0c;具备更…...

    计算机毕业设计SpringBoot+Vue.js医院住院管理系统(源码+lw文档+PPT+讲解视频)

    温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

    Anaconda +Jupyter Notebook安装(2025最新版)

    Anaconda安装&#xff08;2025最新版&#xff09; Anaconda简介安装1&#xff1a;下载anaconda安装包2&#xff1a; 安装anaconda3&#xff1a;配置环境变量4&#xff1a;检查是否安装成功5&#xff1a;更改镜像源6&#xff1a;更新包7&#xff1a;检查 Jupyter Notebook一.Jup…...

    人工智能任务21-飞蛾火焰优化算法(MFO)在深度学习中的应用

    大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能任务21-飞蛾火焰优化算法(MFO)在深度学习中的应用。飞蛾火焰优化算法&#xff08;Moth-Flame Optimization, MFO&#xff09;是一种受自然界中飞蛾向光源趋近行为启发的新型群体智能优化算法。在自然界中&a…...

    渗透测试工具:SQLmap安装教程及使用

    在渗透测试的世界里&#xff0c;SQL注入攻击无疑是最常见且最具威胁的安全漏洞之一。幸运的是&#xff0c;SQLmap 这个强大的自动化工具&#xff0c;能够帮助我们快速识别和利用这些漏洞。如果你也想了解如何用 SQLmap 进行渗透测试&#xff0c;那么这篇文章就是为你准备的&…...

    【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十四节】

    ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;CommunicationControl_0x28服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月14日 关键词&#xff1a;UDS协议、0x28服务、通信控制、ISO 14229-1:2023、ECU测试 一、服务功能概述…...

    WEB安全--SQL注入--INTO OUTFILE

    一、INTO OUTFILE 函数语法&#xff1a; SELECT column1, column2, INTO OUTFILE file_path FROM your_table WHERE your_conditions; 使用此方式在SQL注入的过程中可以&#xff1a; 1、上传shell得到数据库的后端的操作权限 2、爆出数据库的信息 二、使用该函数的条件&#…...

    【C语言 】C语言 桌游开发数字竞拍(源码)【独一无二】

    &#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言 】C语言 桌游开发数字竞拍&#xff08;源码…...

    开源赋能,智造未来:Odoo+工业物联网,解锁智能工厂新范式——以真实案例解读制造业数字化转型的降本增效密码

    工业物联网的机遇与挑战&#xff1a;为什么企业需要Odoo&#xff1f; 《中国智能制造发展研究报告2023》指出&#xff0c;85%的制造企业已启动数字化转型&#xff0c;但超60%面临“数据孤岛、系统割裂、成本高企”的痛点[1]。传统ERP系统难以实时对接产线设备&#xff0c;而定…...

    在分布式场景下可以使用synchronized加锁么?

    首先说结论&#xff0c;在分布式系统中&#xff0c;单纯使用 Java 中的 synchronized 关键字是无法满足需求的&#xff0c;下面从 synchronized 的作用原理、在分布式场景下的局限性以及替代方案等方面详细分析。 一、synchronized 的作用原理 在 Java 中&#xff0c;synchron…...

    DeepSeek从入门到精通:提示词设计的系统化指南

    目录 引言&#xff1a;AIGC时代的核心竞争力 第一部分 基础篇&#xff1a;提示词的本质与核心结构 1.1 什么是提示词&#xff1f; 1.2 提示词的黄金三角结构 第二部分 类型篇&#xff1a;提示词的六大范式 2.1 提示语的本质特征 2.2 提示语的类型 2.2.1 指令型提示词 …...

    C# 运算符

    总目录 前言 在C#中&#xff0c;运算符是用于执行特定操作的符号。它们可以用于处理变量、常量或其他表达式。C# 提供了丰富的运算符集合&#xff0c;用于执行各种操作&#xff0c;如算术运算、逻辑判断、位操作等。了解这些运算符及其使用方式对于编写高效且功能强大的C#程序…...

    duckdb导出Excel和导出CSV速度测试

    运行duckdb数据库 D:>duckdb v1.2.0 5f5512b827 Enter “.help” for usage hints. Connected to a transient in-memory database. Use “.open FILENAME” to reopen on a persistent database. 生成模拟数据&#xff0c;10个列&#xff0c;100万行数据&#xff1b; --…...

    pt->onnx->rknn(量化) step by step FAQ

    文档修订中... 1.pt->onnx 这个转换是在yolov11的docker环境做的转换。非常简单。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 获取当前脚本文件所在目录的父目录&#xff0c;并构建相对路径 import os import sys current_dir os.path.dirname(os.path.abspath…...

    Apollo 9.0 速度动态规划决策算法 – path time heuristic optimizer

    文章目录 1. 动态规划2. 采样3. 代价函数3.1 障碍物代价3.2 距离终点代价3.3 速度代价3.4 加速度代价3.5 jerk代价 4. 回溯 这一章将来讲解速度决策算法&#xff0c;也就是SPEED_HEURISTIC_OPTIMIZER task里面的内容。Apollo 9.0使用动态规划算法进行速度决策&#xff0c;从类名…...

    利用AI智能体创建云端文档知识库并集成第三方数据源(上)

    许多开发者在管理和集成多种云端的数据源时经常面对各种各样的困难&#xff0c;所以希望能够构建一个聊天机器人来协调这些数据源&#xff0c;针对业务问题并提供全面的答案。本文介绍了一种解决方案&#xff0c;帮助大家开发一个能够从文档和数据库中回答查询的聊天机器人&…...

    Cursor AI开发微信小程序教程

    1. 准备工作 在开始开发之前&#xff0c;需要完成以下准备工作&#xff1a; 1.1 安装微信开发者工具 前往微信开发者工具官网下载并安装适合操作系统的开发者工具。注册微信小程序账号&#xff0c;登录微信公众平台&#xff08;https://mp.weixin.qq.com&#xff09;&#…...

    2025常用的SEO工具有哪些?

    在互联网时代&#xff0c;如何让自己的网站或内容脱颖而出&#xff0c;成为许多企业和个人站长们最关注的问题。而在这个过程中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;作为一种有效的提升网站曝光度和吸引流量的手段&#xff0c;已经成为了网站运营的核心之一。对…...