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 的名字命名,已成为数字通信和自然语言处理领域的基础。本文旨在深入研究维特比算法的复杂性,探讨其理论基础、实际应用以…

跨境电商展-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 同时扩散,扩散完整个数组耗时就取决于两…

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

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

最全前端 HTML 面试知识点

一、HTML 1.1 HTML 1.1.1 定义 超文本标记语言(英语:HyperTextMarkupLanguage,简称:HTML)是一种用于创建网页的标准标记语言 HTML元素是构建网站的基石 标记语言(markup language ) 由无数个…

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

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

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

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

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

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

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

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

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

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

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

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

blender关于几何接近(geometry proximity)节点的理解

如图,可以见到,我输入了一个立方体,一个圆锥体,为了便于区分 ,将原生的立方体与圆锥转为了曲线,而进行了几何接近处理的网格不进行此转换。 几何接近的输入端,分为target(目标&…

Adobe Photoshop 2024 v25.4.0 - 专业的图片设计软件

Adobe Photoshop 2024 v25.4.0更新了,从照片编辑和合成到数字绘画、动画和图形设计,任何您能想象到的内容都能通过PS2024轻松实现。 利用人工智能技术进行快速编辑。学习新技能并与社区分享您的工作。借助我们的最新版本,做令人惊叹的事情从未…

更改远程桌面网关端口和远程Web应用程序端口

很多玩Home-Lab的小伙伴会使用远程桌面网关(Remote Desktop Gateway)来安全远程家庭内网的计算机,但由于国内电信法律法规的原因,普通家庭宽带并不能使用默认的443端口(TCP)和3391端口(UDP&…

qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别

qt-C笔记之QStringList、QList、QString、QChar、QList区别 —— 杭州 2024-01-30 凌晨0:27 参考博文&#xff1a;qt-C笔记之QStringList code review! 文章目录 qt-C笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别1.Qt的字符容器类1.QSt…

postgresql 查询缓慢原因分析

pg_stat_activity 最近发现系统运行缓慢&#xff0c;查询数据老是超时&#xff0c;于是排查下pg_stat_activity 系统表&#xff0c;看看有没有耗时的查询sql SELECT pid, state, query, query_start, backend_type FROM pg_stat_activity WHERE state active AND query LIK…

Android 使用高德地图

一、获取高德平台key 【1】基于application包名&sha1值在高德控制台获取key值&#xff0c;详情参考&#xff1a; 获取Key-创建工程-开发指南-Android 地图SDK | 高德地图API 【2】在manifest中声明权限 【3】将拿到的key值在manifest中进行声明 <!--允许程序打开网络…