centos搭建ftp踩坑记录

ftp服务器搭建参考b站视频

第1坑,开放端口后仍然无法连接:
这里不仅需要在防火墙打开20和21端口,还需要打开被动访问所使用的端口,也就是在配置文件vsftpd.conf中指定的被动访问接收端口。

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40080

如果是云服务器,还需要在平台上将平台上的防火墙的这些端口也打开。

第2坑,500 OOPS: vsftpd: refusing to run with writable root inside chroot()

这里是因为ftp的主目录的权限问题,需要改成755(必须)且所有人为root。

第3坑,命令行、网页端、fileZilla都能打开,但是无法使用文件夹以路径的方式访问。
在这里插入图片描述
这里参考了许多文章,大多给出了一个治标不治本的方法,就是把IE浏览器Internet选项中的FTP被动模式访问关掉。这样只能保证我自己的主机没有问题,不过我要做的是在另一个公用基因组浏览器washU上使用,并不能控制那边的Internet选项。

从图中可以看到227返回的是一个内网IP,说明ftp被动模式返回的IP有问题。可以通过添加以下代码修改:

pasv_addr_resolve=YES
pasv_address=公网IP

不过即使这样,访问时扔报227错误,且IP地址变为0,0,0,0。这是因为vsftpd的被动模式返回ip的时候必须使用IPV4,所以在.conf文件中需要监听IPV4而不能监听IPV6。设置listen=YES,再把listen_ipv6=YES注释掉即可。

最终配置:

anonymous_enable=YES /允许匿名用户登录
local_enable=NO	/禁止本地用户登录
write_enable=YES	/允许写入操作,否则不能上传文件
anon_umask=022	/匿名用户上传文件权限
anon_upload_enable=YES	/允许匿名用户上传文件,需要配合write_enable=yes
anon_other_write_enable=YES	/控制匿名用户对文件和文件夹的删除和重命名(自己添加,没有该配置)
anon_mkdir_write_enable=YES	允许匿名用户创建目录
dirmessage_enable=YES	
xferlog_enable=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.	/ftp工具连接成功提示
chroot_local_user=YES	/所有用户均不能切换到上级目录
chroot_list_enable=NO	/是否启动限制用户的名单。YES为启用,NO禁用。默认禁用
listen=YES
pam_service_name=vsftpd
userlist_enable=NO	/ /etc/vsftpd/user_list文件不生效
allow_writeable_chroot=YES	/不添加此项,文件无法上传。报错:550 Permission denied。新版本vsftpd加入了安全需求,切根不允许写,要添加这个配置并设置为YES才可以
anon_root=/usr/local/ftpdir	/匿名用户的根目录no_anon_password=YES	/匿名用户不要密码
ftp_username=ftpuser	/匿名登录后的使用者pasv_enable=YES	/设置被动模式
pasv_min_port=40000
pasv_max_port=40080
pasv_addr_resolve=YES
pasv_address=公网IP

参考文章:

  1. Linux中Centos7系统搭建FTP服务详细过程
  2. vsftpd 报错refusing to run with writable root inside chroot

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

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

相关文章

【Java】Springboot入门

学习目标 基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 一、SpringBoot简介 1. 入门案例 问题导入 SpringMVC的HelloWord程序大家还记得吗? SpringBoot是由Pivotal团队提供的全新框架&…

了解维特比算法:通信系统和自然语言处理中解码的基石

一、介绍 在数字通信和信号处理领域,维特比算法是一种革命性的纠错和解码方法。该算法以 1967 年推出的 Andrew Viterbi 的名字命名,已成为数字通信和自然语言处理领域的基础。本文旨在深入研究维特比算法的复杂性,探讨其理论基础、实际应用以…

四、ESP8266网络客户端

四、ESP8266网络客户端 基本操作1、[使用ESP8266HTTPClient库实现网络通讯](https://blog.csdn.net/X_King_Q/article/details/112061397)2、使用WiFiClient库实现网络通讯3、Stream4、HTTP协议数据通讯4.1客户端向服务器发送数据信息4.2客户端向服务器请求数据信息 基本操作 …

2401cmake,学习cmake1

1步:一个基本出发点 最基础项目是基于源码的一个可执行构建.对简单项目.三行CMakeLists.txt就满足了. 在步1路径下创建如下CMakeLists.txt文件: cmake_minimum_required(VERSION 3.10) //设置项目名 project(Tutorial) //添加可执行文件 add_executable(Tutorial tutorial.cx…

跨境电商展-2024广州跨境电商展览会(ICBE China 2024)

ICBE2024第11届广州国际跨境电商交易博览会,作为华南地区最具影响力的跨境电商展览会,将再次于2024年5月15-17日在广州保利世贸展览馆盛大举行。此次展会以“创新、合作、共赢”为主题,汇聚了来自全球各地的跨境电商企业、平台、服务商等&…

(2024,定性评估、定量评估、人类评估)神经风格转移评估:综述

Evaluation in Neural Style Transfer: A Review 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 神经风格转移方法 0. 摘要 神经风格转移(Neural St…

LeetCode.2808. 使循环数组所有元素相等的最少秒数

题目 题目链接 分析 我们最终形成的数组一定是当前数组nums 中的一个数字。 所以我们的想法就是枚举数组 nums 中的所有数字,取最小值。 题目告诉我们每一秒都可以向左右扩散一位,那么多个相同的 x 同时扩散,扩散完整个数组耗时就取决于两…

主流新能源汽车防盗模式简介

主流新能源汽车中,守卫模式是指车辆在停车状态下,通过特定的硬件和软件系统来保护车辆的安全,防止车辆被盗或被破坏。不同品牌的新能源汽车中,守卫模式的名称和功能略有不同,以下是常见的几种守卫模式及其对标&#xf…

BroadcastChannel使用

BroadcastChannel() 构造函数用于创建一个 BroadcastChannel 对象,并与底层的通道相关联。 channelName 表示通道名称的字符串;对于相同的来源下的所有浏览上下文,一个名称只对应一个通道 发送者 const channel new BroadcastChannel(&qu…

Django实例_后台管理及分页器

原理步骤参考: Django开发_14_后台管理及分页器-CSDN博客 一、创建Django项目 二、创建page_app python manage.py startapp page_app三、修改settings.py文件 (一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径 from django.contrib impo…

210. 课程表 II

210. 课程表 II 题目链接&#xff1a;210. 课程表 II 代码如下&#xff1a; //拓扑排序&#xff1a;判断图中是否存在回路 class Solution { public:vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {vector<int> r…

最全前端 HTML 面试知识点

一、HTML 1.1 HTML 1.1.1 定义 超文本标记语言&#xff08;英语&#xff1a;HyperTextMarkupLanguage&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言 HTML元素是构建网站的基石 标记语言&#xff08;markup language &#xff09; 由无数个…

PyTorch深度学习实战(34)——Pix2Pix详解与实现

PyTorch深度学习实战&#xff08;34&#xff09;——Pix2Pix详解与实现 0. 前言1. 模型与数据集1.1 Pix2Pix 基本原理1.2 数据集分析1.3 模型构建策略 2. 实现 Pix2Pix 生成图像小结系列链接 0. 前言 Pix2Pix 是基于生成对抗网络 (Convolutional Generative Adversarial Netwo…

pinctrl/gpio子系统(1)-pinctrl子系统介绍及驱动源码分析

1.简介 在如今的驱动开发工作中&#xff0c;实际上已经很少去对着寄存器手册进行驱动开发了&#xff0c;一般板子拿到手&#xff0c;已经有原厂的驱动开发工程师&#xff0c;在gpio子系统、pinctrl子系统中将自家芯片的引脚适配好了。 我们直接基于设备树已配置好的寄存器值&a…

SpringBoot引入Mybatis-Plus(详细)

文章目录 1.引入依赖2.不能使用mybatis的数据源&#xff0c;使用mybatisPlus的3.配置yml文件 1.引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version>…

计算机网络_1.4 计算机网络的定义和分类

1.4 计算机网络的定义和分类 一、计算机网络的定义&#xff08;无唯一定义&#xff09;二、计算机网络的分类&#xff08;从不同角度分类&#xff09;1、交换方式2、使用者3、传输介质4、覆盖范围5、拓扑结构 笔记来源&#xff1a; B站 《深入浅出计算机网络》课程 一、计算机…

【MySQL】学习并使用聚合函数和DQL进行分组查询

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-t8K8tl6eNwqdFmcD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

飞桨大模型分布式训练技术

今天我为大家介绍飞桨大模型分布式训练技术&#xff0c;内容分为以下几个部分&#xff1a; 首先&#xff0c;我会介绍大模型训练面临的重点难题&#xff1b;然后&#xff0c;为大家介绍飞桨在大模型训练领域的特色分布式训练技术和优化方案&#xff1b;最后&#xff0c;伴随着…

ONLYOFFICE | 免费开源办公神器新选择

目录 前言&#xff1a; 1、什么是ONLYOFFICE&#xff1f; 2、ONLYOFFICE下载使用 3、ONLYOFFICE团队协作云办公功能 4、ONLYOFFICE 8.0新版本的亮点功能 4.1、显示协作者头像 4.2、插件 UI 界面更新 4.3、可填写的 PDF 表单 5、最后 前言&#xff1a; 一个好的开发工具…