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

ubuntu20.04安装FTP服务

安装
sudo apt-get install vsftpd# 设置开机启动并启动ftp服务
systemctl enable vsftpd
systemctl start vsftpd
#查看其运行状态
systemctl  status vsftpd
#重启服务
systemctl  restart vsftpd
ftp用户
sudo useradd -d /home/ftp/ftptest -m ftptest
sudo passwd ftptest
输入密码:
再次输入密码:
chmod -R 777 /home/ftp/ftptest
修改配置
#备份原始配置
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
#修改配置
sudo nano /etc/vsftpd.conf

以下是一些解释,基本不用改:
listen=NO # 阻止 vsftpd 在独立模式下运行
listen_ipv6=YES # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
anonymous_enable=NO # 关闭匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 启用可以修改文件的 FTP 命令
local_umask=022 # 本地用户创建文件的 umask 值
dirmessage_enable=YES # 当用户第一次进入新目录时显示提示消息
xferlog_enable=YES # 一个存有详细的上传和下载信息的日志文件
connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式
pam_service_name=vsftpd # vsftpd 将使用的 PAM 验证设备的名字

(1)需要在sftpd.conf文件末尾添加一些东东来准许那些用户可以登陆ftp服务
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

(2) 需要将31行的write_enable=YES放开
#write_enable=YES

(3)添加vsftpd.allowed_users文件
echo “ftptest” >> /etc/vsftpd.allowed_users

FTP 登陆测试
ftp localhost
输入用户名
输入密码

接下来,就可以在window添加网络位置了,可以这样访问:ftp://{IP},然后就输入密码记住密码。
然后就可以FTP和Host互相互拽文件了。但是在互拽文件的时候,发现如下这样的错误。
在这里插入图片描述

解决办法,找到Internet属性,将下面红框框中的勾去掉就可以了。

如何找到Internet属性呢? 按下“Win+R”组合键打开运行,在框中输入:inetcpl.cpl 点击确定即可打开“internet 属性”

在这里插入图片描述

相关文章:

ubuntu20.04安装FTP服务

安装 sudo apt-get install vsftpd# 设置开机启动并启动ftp服务 systemctl enable vsftpd systemctl start vsftpd#查看其运行状态 systemctl status vsftpd #重启服务 systemctl restart vsftpdftp用户 sudo useradd -d /home/ftp/ftptest -m ftptest sudo passwd ftptest…...

MyBatisPlus(二十)防全表更新与删除

说明 针对 update 和 delete 语句,阻止恶意的全表更新和全表删除。 实现方式 配置BlockAttackInnerInterceptor拦截器 代码 package com.example.core.config;import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.p…...

14.9 Socket 高效文件传输

网络上的文件传输功能也是很有必要实现一下的,网络传输文件的过程通常分为客户端和服务器端两部分。客户端可以选择上传或下载文件,将文件分块并逐块发送到服务器,或者从服务器分块地接收文件。服务器端接收来自客户端的请求,根据…...

第二节 threejs简单案例

1. 创建3D场景 // 创建3D场景对象Scene const scene new THREE.Scene();// 更改场景背景颜色 scene.background new THREE.Color(#F5F5F5);2. 创建透视投影相机 // 实例化一个透视投影相机对象 const camera new THREE.PerspectiveCamera();相机位置 // 根据需要设置相机…...

PowerShell批量修改DNS域名解析

批量添加DNS A记录 $dnsServerName"" # DNS服务器的服务器名称,如果是在DNS服务器本机执行则可留空 $containerName"test.com" # 域名的后缀也就是DNS Zone Name $mydns[WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_resourceRecord"…...

uniapp(uncloud) 使用生态开发接口详情3(新增产品分类,产品列表,新闻列表)

我的想法是有产品分类,产品列表,新闻咨询,新闻列表 项目中, uniCloud > database 目录下新建 sy_product_nav.schema.json // 代码如下 {"bsonType": "object","required": ["classname"],"permission": {"read&…...

XTU-OJ 1339-Interprime

题目描述 n是两个连续的奇素数的平均值,且n不是素数,那么我们称这样的数是"内部素数"。求区间[a,b]内"内部素数"的个数。比如,前5个"内部素数"是4,6,9,12,15。 输入 第一行是样例数T(1≤T≤1000)。 每个样例一…...

FPGA中的LUT查找表工作原理。

在RAM中填入1110,后续的不同AB组合选通对应RAM,Y输出对应RAM存储的值,实现上面逻辑表达式的功能。...

Python爬虫:制作一个属于自己的IP代理模块

前言 在Python爬虫过程中,为了避免被网站的反爬虫机制干扰,我们需要使用IP代理。所谓IP代理,就是通过修改网络请求中的IP地址,来达到隐藏真实IP地址的效果。本文将教你如何制作一个自己的IP代理模块,让你的爬虫更加稳…...

解决QT中文乱码

选中文本带有中文字符的文件,然后按如下点击 弹出对话框,选择当前操作系统的编码格式,选择Save with Encoding 中文字符前用u8进行标识...

GPIO基本原理

名词解释 高低电平:GPIO引脚电平范围:0V~3.3V(部分引脚可容忍5V)数据0就是0V,代表低电平;数据1就是3.3V,代表高电平; STM32是32位的单片机,所以内部寄存器也都是32位的…...

算法通过村第十五关-超大规模|青铜笔记|海量找数

文章目录 前言用4KB内存寻找重复数总结 前言 提示:并不是所有黑暗的地方,都需要光明。 --珍妮特温特森《句子不是唯一的水果》 在大部分算法中,默认给点给的数据量都是很小的,例如只有几个或者十几个元素,但是如果遇到…...

TCP、IP和HTTP的区别和联系

TCP(Transmission Control Protocol) TCP是一种面向连接的协议,负责数据的可靠性传输。它提供了错误检测和纠正、数据分段和重新组装、流量控制和拥塞控制等功能,最终确保数据可靠滴从一个端点传输到另一个端点。 TCP建立连接、传…...

【4】c++11新特性(稳定性和兼容性)—>final关键字

c中增加了final关键字来限制某个类不能被继承&#xff0c;或者某个虚函数不能被重写。如果使用final修饰函数&#xff0c;只能修饰虚函数&#xff0c;并且放在类或者函数的后面。 修饰函数 #include <iostream> using namespace std;class Base { public:virtual void t…...

23基于MATLAB的小波降噪,默认阈值消噪,强制消噪,给定软阈值消噪方法,数据直接替换后就可以跑。

基于MATLAB的小波降噪&#xff0c;默认阈值消噪&#xff0c;强制消噪&#xff0c;给定软阈值消噪方法&#xff0c;数据直接替换后就可以跑。 https://www.xiaohongshu.com/explore/652d57c600000...

蓝桥杯 常用STL (C++) 未完待续

动态数组 有些时候想开一个数组&#xff0c;但是却不知道应该开多大长度的数组合适&#xff0c;因为我们需要用到的数组可能会根据情况变动。 这时候我们就需要用到动态数组。所谓动态数组&#xff0c;也就是不定长数组&#xff0c;数组的长度是可以根据我们的需要动态改变的。…...

class id

在HTML和CSS中&#xff0c;"class" 和 "id" 是用于标识和定制元素的两种重要属性。 Class&#xff08;类&#xff09;: "class" 属性用于标识一个或多个HTML元素&#xff0c;允许你为它们应用相同的样式规则。可以将相同的类应用于多个不同元素。…...

Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战

目录 一、QInputDialog 类(输入对话框) 二、QMessageBox 类(消息框) 三、QMessageBox 类(自定义消息框) 一、QInputDialog 类(输入对话框) QInputDialog 是一个提供输入对话框的 Qt 类。它允许用户输入文本&#xff0c;并提供给用户选择可用选项的选项列表。QInputDialog 可…...

Java 解析 cURL(bash) 命令

解析 cURL&#xff08;bash&#xff09; 命令 1. 主要用于解析从浏览器复制来的 cURL(bash)2. 废话不多说&#xff0c;都在&#x1f37b;代码里了。参考资料 1. 主要用于解析从浏览器复制来的 cURL(bash) curl https://eva2.csdn.net/v3/06981375190026432f77c01bfca33e32/lts/…...

JDK21的虚拟线程是什么?和平台线程什么关系?

虚拟线程&#xff08;Virtual Thread&#xff09;是 JDK 而不是 OS 实现的轻量级线程(Lightweight Process&#xff0c;LWP&#xff09;&#xff0c;由 JVM 调度。许多虚拟线程共享同一个操作系统线程&#xff0c;虚拟线程的数量可以远大于操作系统线程的数量。 在引入虚拟线程…...

猫抓插件:浏览器资源嗅探与下载的完整手册

猫抓插件&#xff1a;浏览器资源嗅探与下载的完整手册 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓&#xff08;cat-catch&#xff09;是一…...

Source Han Serif CN:开源中文字体跨平台部署完全指南

Source Han Serif CN&#xff1a;开源中文字体跨平台部署完全指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为项目中的中文字体选择而纠结吗&#xff1f;既要考虑版权合规&a…...

从沙子到车辙(3.3):数据通路与控制器的“双人舞“

3.3 数据通路与控制器的"双人舞" &#x1f4da; 本文内容摘自本人的开源书《从沙子到车辙 - 一个工程师的理解》 &#x1f517; 在线阅读/下载&#xff1a;from-sand-to-ruts git clone https://github.com/Lularible/from-sand-to-ruts⭐ 如果对您有帮助&#xf…...

嵌入式开发避坑:S19/SREC文件地址重映射时,如何避免覆盖有效数据?

嵌入式开发实战&#xff1a;S19文件地址重映射的安全操作指南 在嵌入式系统开发中&#xff0c;固件升级和内存布局调整是工程师经常面临的挑战。当需要将校准参数、配置表等关键数据移动到新的内存区域时&#xff0c;如何确保操作的安全性成为关键问题。许多开发者都曾遇到过这…...

CANN/catlass精度分析基础

精度分析基础 【免费下载链接】catlass 本项目是CANN的算子模板库&#xff0c;提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 写在前面 该文档主要说明CATLASS样例开发中精度分析的基础知识&#xff0c;包括样例精度…...

OpenClaw 架构详解:AI Agent 的编排与执行骨架

核心定位&#xff1a;OpenClaw 自动化运行时&#xff08;Automation Runtime&#xff09;&#xff0c;一个给 AI 套上安全、可控、可审计缰绳的框架。 它不追求 AI 的"惊喜"&#xff0c;而是追求可预测性、可审计性和零故障。 文章目录一、设计哲学&#xff1a;网关…...

Python初学者项目练习28--移除列表中的多个元素

一、练习题目 定义一个函数&#xff0c;该函数用于从第一个列表list1中移除所有存在于第二个列表list2中的元素 二、代码 1.初始版本 代码如下&#xff1a; def remove_number(list1, list2):for i in range(list1):for j in range(list2):if i j:list1.remove(j)return list1…...

经典的网格寻路问题实例分析

经典的网格寻路问题消除墙砖 这一设置会导致地形发生变化&#xff0c;增加问题处理的难度。让我们先去掉这一要求&#xff0c;这样题目就简化成了经典的 网格寻路问题&#xff1a;给你一个 的网格&#xff0c;其中每个单元格不是 &#xff08;空&#xff09;就是 &#xff08;障…...

百度网盘Mac版终极破解指南:免费解锁SVIP高速下载体验

百度网盘Mac版终极破解指南&#xff1a;免费解锁SVIP高速下载体验 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘Mac版的下载速度限制而…...

AI大模型Agent面试,超详细(附答案)!

AI大模型Agent面试&#xff0c;超详细&#xff08;➕答案&#xff09;&#xff01;假如你从2026年开始学大模型&#xff0c;按这个步骤走准能稳步进阶。 接下来告诉你一条最快的邪修路线&#xff0c; 3个月即可成为模型大师&#xff0c;薪资直接起飞。阶段1:大模型基础阶段2:RA…...