ubuntu服务器配置ftp服务
需求:配置ftp服务用于在windows电脑上直接浏览、下载、上传ubuntu服务器上的文件,用于文件共享,方便实用
效果:用户打开windows资源管理器后输入ftp://xxx.xxx.xxx.xxx (公网IP地址)后,即可浏览下载上传文件

目录
一、安装vsftpd
二、配置vsftpd
三、设置安全组
四、客户端测试
一、安装vsftpd
1,运行以下命令安装vsftpd
sudo apt update
sudo apt install vsftpd
2,设置FPT服务器开机自启动
systemctl enable vsftpd.service
3,启动FTP服务
systemctl start vsftpd.service
4,查看FTP服务监听的端口
netstat -antup | grep ftp
出现如下图所示的界面,即表示FTP服务已经启动,监听端口号为21,此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。

二、配置vsftpd
1,为FTP服务创建一个用户
adduser ftpadmin
2,修改ftpadmin用户的密码
passwd ftptest
根据提示,需要输入两次密码完成密码的修改
3,创建一个供FTP服务使用的文件目录(共享的文件将在这个目录中展示给用户)
mkdir /var/ftp/work01
或
mkdir -p /var/ftp/work01
4,创建一个测试文件,用于客户端访问时使用
touch /var/ftp/work01/test.txt
查看该目录,如下图所示(这里创建了两个文件)
![]()
5,更改刚刚创建的目录的拥有者为ftpadmin用户
chown -R ftpadmin:ftpadmin/var/ftp/work01
修改下如下图所示

6,修改vsftpd.conf配置文件
vim /etc/vsftpd/vsftpd.conf
修改内容如下
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
local_root=/var/ftp/work01
#允许用户上传文件
write_enable=YES
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=1024
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=1048
修改pasv_address为服务器公网ip地址
7,创建chroot_list文件
vi /etc/chroot_list
输入的内容为例外的用户名单,此名单中的用户不会被锁定在主目录,可以访问其他目录。没有例外用户也必须创建chroot_list文件,内容为空即可。
8,重启vsftpd服务
systemctl restart vsftpd.service
三、设置安全组
需要在服务器的安全组里开放20-21端口,还需要开放pasv_min_port和pasv_max_port设置的端口

四、客户端测试
打开windows资源管理器,使用ftp://xx.xx.xx.xx(公网ip)输入用户名密码即可浏览,下载上传文件
上传一个图片文件

服务器上的work01文件目录就有这个图片文件了

相关文章:
ubuntu服务器配置ftp服务
需求:配置ftp服务用于在windows电脑上直接浏览、下载、上传ubuntu服务器上的文件,用于文件共享,方便实用 效果:用户打开windows资源管理器后输入ftp://xxx.xxx.xxx.xxx (公网IP地址)后,即可浏览…...
IDA+Frida分析CTF样本和Frid源码和objection模块
文章目录 一些资料IDA调试命令IDA调试安卓的10个技巧objection基本使用 Wallbreaker1frida源码阅读之frida-java 第一个实例EasyJNI第二个实例objection资料 art_trace2.pyart_trace2.js IDAFrida分析CTF样本和Frid源码和objection模块 一些资料 IDA调试命令 adb devices adb…...
ConCurrentHashMap常见面试题
1. JDK1.7和JDK1.8中ConCurrentHashMap的实现有什么不同? JDK1.7中的实现可以认为是大数组套小数组,大数组是Segment数组,小数组是HashEntry数组,锁是锁在大数组的元素上(Segment),力度比较大&…...
mysql数据备份并重置
mysql数据备份并重置 1.备份mysql数据 mysqldump -uroot --single-transaction -R -E --databases lc2 cpm a10_goods self_warehouse > /mnt/vdc1/var/lib/mysql/datadir/lc2_cpm_a10_goods_self_warehouse.sql -p Y6B2wb 2.初始化mysql mysqld --initialize; 3.修改配…...
I- yh的线段(2023河南萌新联赛第(四)场:河南大学)
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 yh喜欢好线段,好线段即两条线段相交且不与其他线段重合的线段。 两条线段[l1,r1]和[l2,r2]相交(如果存在至少一个x,使得l1≤x≤r1和l2≤x≤r2,则认为两个线段…...
python与深度学习(十四):CNN和IKUN模型二
目录 1. 说明2. IKUN模型的CNN模型测试2.1 导入相关库2.2 加载模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章猫狗大战训练的模型进行测试。…...
chrome扩展在popup、background、content之间通信解决传输文件问题
文章目录 背景介绍案例介绍代码示例popup页面,上传文件页面popup页面,js上传代码,file文件转base64background监听消息,base64转file文件,axios上传 附-转base64后直接下载 背景介绍 示例扩展API版本MV2。 以弹…...
Oracle获取创建对象的DDL脚本
Oracle获取创建对象的DDL脚本 Oracle获取创建对象的DDL脚本查看 dbms_metadata.get_ddl()函数的定义 Oracle获取创建对象的DDL脚本 例如,对tzq schema下的表 test2,查看DDL脚本的SQL如下: SELECT SELECT dbms_metadata.get_ddl(upper(table…...
《算法竞赛·快冲300题》每日一题:“01树”
《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 0…...
Mac提示文件:已损坏,无法打开。你应该把它移到废纸篓
文章目录 一、电脑信息二、打开任何来源设置三、更改应用程序拓展属性 一、电脑信息 我的是新版的Venture 13的系统。UI改的比较多。与之前的配置还是有很大的区别的。 打开下载的软件,显示已经损坏,打不开。抛开软件本身的问题外,一般是Ma…...
探索嵌入式系统:从入门到实践
随着科技的飞速发展,嵌入式系统已经成为了我们生活中不可或缺的一部分。从智能手机、智能家居到工业自动化设备,嵌入式系统的应用已经渗透到了各个领域。那么,如何学习嵌入式系统呢?本文将从入门到实践,为你详细解答。…...
网络安全知识点整理(作业2)
目录 一、js函数声明->function 第一种 第二种 第三种 二、this关键字 this使用场合 1.全局环境 2.构造函数 3.对象的方法 避免多层this 三、js的同步与异步 定时器 setTimeout和setInterval 同步与异步的例子 四、宏任务与微任务 分辨宏任务与微任务 一、js…...
idea数据库快速上手-库操作与表结构和数据操作
引言 对数据库的操作无非就是执行SQL语句,要想熟练操作数据库,就要熟练运用SQL语句。 一,数据库操作 展示当前服务器内的数据库 -- 展示服务器内的数据库 show databases; show schemas; 执行结果: 创建数据库: --…...
当“国潮”遇见“双语” 以传承之心种下一颗文化的种子
看,活灵活现的纸片人在“跳舞”。光影的辉映下,两个形神兼备的“齐天大圣”究竟孰真孰假?舞台上,京西皮影非遗传承人王熙和5岁的Mona小朋友正在用双语为大家带来一段“真假美猴王”的好戏。生动的皮影造型和精彩的故事演绎看得台下…...
计划管理与项目管理:有何区别?
简而言之,是的。尽管它们经常互换使用并对全局产生影响,但它们是完全不同的。 在本文中,我们将了解计划和项目管理之间的差异,提供每个示例,并向您展示如何使计划和项目管理工作更有效地实现您的业务目标。 计划管理与…...
个人信息保护合规审计如何做?
8月3日,为指导、规范个人信息保护合规审计活动,根据《中华人民共和国个人信息保护法》等法律法规,国家互联网信息办公室就《个人信息保护合规审计管理办法(征求意见稿)》(简称《办法》)及配套的…...
HTTP杂谈之Referer和Origin请求头再探
一 关于Referer和Origin的汇总 1) 知识是凌乱的,各位看官看个热闹即可2) 内容不断更新1、理解有盲区,需要及时纠正2、内容交叉有重复,需要适当删减3、扩展视野3) 以下内容都与Referer和Origin请求头有关联 nginx防盗链 HTTP杂谈之Referrer-Policy响应头 iframe标签referre…...
数学建模-爬虫入门
Python快速入门 简单易懂Python入门 爬虫流程 获取网页内容:HTTP请求解析网页内容:Requst库、HTML结果、Beautiful Soup库储存和分析数据 什么是HTTP请求和响应 如何用Python Requests发送请求 下载pip macos系统下载:pip3 install req…...
HSRM各表
文章目录 表规则接口种类服务与网关路由菜单一、采购申请1、采购申请—查询2、采购申请-操作记录二、采购申请跟踪报表1、采购申请跟踪报表—列表查询三、寻源1、寻源大厅—列表查询2、寻源大厅—询价单明细3、寻源大厅—物料明细4、寻源大厅—供应商列表5、寻源模板—列表查询…...
Ansible自动化运维工具 —— Playbook 剧本
playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables:变量 (3)Templates:模…...
漫画迷的离线宝库:一键构建你的私人漫画图书馆
漫画迷的离线宝库:一键构建你的私人漫画图书馆 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为网络不稳定无法畅快阅读漫…...
Fusion Pixel Font在游戏开发中的应用:像素艺术的完美伴侣
Fusion Pixel Font在游戏开发中的应用:像素艺术的完美伴侣 【免费下载链接】fusion-pixel-font 开源的泛中日韩像素字体,黑体风格 项目地址: https://gitcode.com/gh_mirrors/fu/fusion-pixel-font Fusion Pixel Font是一款开源的泛中日韩像素字体…...
3秒破解百度网盘提取码:免费开源工具的终极解决方案
3秒破解百度网盘提取码:免费开源工具的终极解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘提取码而烦恼吗?每次找到心仪资源却卡在提取码这一步,不得不花费大量时间…...
TrollInstallerX深度解密:iOS 14-16.6.1 TrollStore安装技术全解
TrollInstallerX深度解密:iOS 14-16.6.1 TrollStore安装技术全解 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 技术深度解析系列:为开发者揭秘…...
别再只会用%和_了!MySQL模糊查询的三种隐藏技巧,性能提升不止一点点
MySQL模糊查询性能优化实战:突破%和_的思维定式 当数据库表膨胀到百万级数据时,一个简单的LIKE %关键词%查询可能让整个系统陷入瘫痪。上周我负责的电商平台就遭遇了这样的危机——商品搜索接口响应时间从200ms飙升到8秒,仅仅因为用户输入了包…...
终极指南:用Ryujinx在PC上免费畅玩Switch游戏的完整教程
终极指南:用Ryujinx在PC上免费畅玩Switch游戏的完整教程 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说:旷野之息》的广阔世界&…...
从TensorFlow 1到2:BigEarthNet-MM数据集官方划分代码的现代化改造与避坑指南
1. 从TensorFlow 1到2的迁移挑战 BigEarthNet-MM数据集是遥感图像分析领域的重要资源,但官方提供的19类划分代码基于TensorFlow 1.x版本编写。随着TensorFlow 2.x的普及,许多开发者在使用这些代码时遇到了兼容性问题。我最近在实际项目中完成了这个迁移…...
AI异常处理生成不再“幻觉”:2026奇点大会首发的3层语义校验架构实战指南
第一章:AI异常处理生成不再“幻觉”:2026奇点大会首发的3层语义校验架构实战指南 2026奇点智能技术大会(https://ml-summit.org) 传统大模型在异常检测与错误恢复场景中常因语义漂移导致“幻觉输出”——即生成看似合理但事实错误、逻辑断裂或违反领域…...
Common Lisp GUI编程:从基础到实战
在学习编程语言时,了解如何使用该语言进行图形用户界面(GUI)开发是一项重要的技能。今天我们将探讨如何在Common Lisp中使用LTk库进行GUI编程,并通过一个实例来帮助理解和解决常见的问题。 环境设置 首先,我们需要确保我们的开发环境已经准备好。我们使用的是SBCL(Stee…...
如何在Windows和Linux上快速解锁VMware的macOS虚拟机支持:终极完整指南
如何在Windows和Linux上快速解锁VMware的macOS虚拟机支持:终极完整指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 你是否在VMware中找不到macOS选项?想在普通PC上运行苹果系…...
