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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小红书论文刷新 SOTA:人体动作预测再升级,能精准到指尖

想象一下,你在玩一款 VR 游戏,准备伸手拿起一个虚拟杯子喝水。‍​​‌​‌​‎‎ 在传统的交互系统中,这通常需要你按下控制器上的特定按钮。但如果游戏集成了 EAI 框架,这一过程将变得无比自然。当你的手缓缓接近虚拟杯子时&…

数据库基础知识(一)

数据库基础知识(一) 一、数据库基本概念 1.1 数据 数据(Data)是指对客观事物进行描述并可以鉴别的符号,这 些符号是可识别的、抽象的。它不仅指狭义上的数字,而是有多 种表现形式:字母、文…

如何开通GitHub Copilot

GitHub Copilot 是由GitHub 和OpenAI共同开发的人工智能代码辅助工具,可以自动地生成高质量代码片段、上下文信息等。 通过自然语言处理和机器学习技术,能够通过分析程序员编写的代码、注释和上下文信息,自动生成代码,减轻程序员的…

在线摸头GIF生成系统源码

在线摸头GIF在线生成器html网页源码,可以点击选择文件按钮,或者直接将图片拖入,即可生成导出

Python爬虫---Scrapy框架---CrawlSpider

CrawlSpider 1. CrawlSpider继承自scrapy.Spider 2. CrawlSpider可以定义规则,再解析html内容的时候,可以根据链接规则提取出指定的链接,然后再向这些链接发送请求,所以,如果有需要跟进链接的需求,意思就是…

Code - VQ-VAE (Vector Quantised Variational AutoEncoder) 的实现源码

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/135936848 VQ-VAE,即Vector Quantized Variational AutoEncoder,向量量化变分自编码器。VQ-VAE 的创新之处是引入了一个向…

ArcGIS学习(二)属性表的基本操作

ArcGIS学习(二)属性表的基本操作 1.查看属性表 ArcGIS是处理空间数据的平台。对于空间数据,大家可以理解成它是由两个部分构成:1.一个是空间形体,也就是点、线、面三种。线又可以分为直线、曲线,面又分为圆形、正方形、不规则形体等;2.另外一个部分是空间形体所附带的…

Unix/Linux上的五种IO模型

a.阻塞 blocking 调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作。 注意:阻塞并不是函数的行为,而是跟文件描述符有关。通…

离谱题 3236:练39.1 书香阁座位

3236正常写法 #include<bits/stdc.h> using namespace std; int main() {int sum,a,b;a1;b10;sumb;cout<<a<<" "<<b;cout<<" "<<sum<<endl;do{a;b2;sumx;cout<<a<<" "<<b<<&…

uniapp本地存储日志

uniapp本地存储日志 背景实现代码实现使用查看生成log读取 注意事项尾巴 背景 我们的APP开发完成之后&#xff0c;在我们测试环境或者自测的时候都好好的&#xff0c;但是发布到生产环境客户使用总会出现一些奇奇怪怪的问题。这时候因为没在开发环境&#xff0c;我们无法查看到…

力扣hot100 买卖股票的最佳时机 贪心 经典题

Problem: 121. 买卖股票的最佳时机 文章目录 思路复杂度Code 思路 假设今天卖出&#xff0c;那怎么样收益最大呢&#xff1f;之前买入价是最低的 复杂度 ⏰ 时间复杂度: &#xff1a; O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( 1 ) O(1) O(1) Code class Solut…

c++之IO流

1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据&#xff0c;并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。 注意宽度输出和精度输出控制。C语言借助了相应的缓…

tsmc12: m0po max length问题(H384.M0_PO.L.1)

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 在pt eco之后会有一些m0po max length问题出现,大部分问题都可以通过替换decap来解决,少部分由于局部density过高,需要手动调整。

2023强网杯复现

强网先锋 SpeedUp 要求2的27次方的阶乘的逐位之和 在A244060 - OEIS 然后我们将4495662081进行sha256加密 就得到了flag flag{bbdee5c548fddfc76617c562952a3a3b03d423985c095521a8661d248fad3797} MISC easyfuzz 通过尝试输入字符串判断该程序对输入字符的验证规则为9…

【C++】类和对象之构造函数、析构函数、拷贝构造函数(二)

前言&#xff1a;在上一篇我们对于C中类和对象有了一个初步的了解&#xff0c;今天我们将进一步的学习&#xff0c;今天我们目标是对构造函数、析构函数、拷贝构造函数进行一个初步学习在后面也会进一步的学习&#xff0c;一起加油呐&#xff01; &#x1f496; 博主CSDN主页:卫…

代码随想录 Leetcode669. 修剪二叉搜索树

题目&#xff1a; 代码(首刷看解析 2024年1月31日&#xff09;&#xff1a; class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if (!root) return root;if (root->val < low) {TreeNode* node trimBST(root->right,low,high);return…

Flutter canvas 画一条波浪线 进度条

之前用 Flutter Canvas 画过一个三角三角形&#xff0c;html 的 Canvas 也画过一次类似的&#xff0c; 今天用 Flutter Canvas 试了下 感觉差不多&#xff1a; html 版本 大致效果如下&#xff1a; 思路和 html 实现的类似&#xff1a; 也就是找出点的位置&#xff0c;使用二阶…

山东第四次文物普查启动,全面开展不可移动文物预防性保护

一、山东进行全面普查不可移动文物资源 近日&#xff0c;山东省政府下发了《关于做好第四次全国文物普查工作通知》&#xff0c;根据调查充分摸清山东不可移动文物资源状况。这是我国时隔16年再次启动文物普查&#xff0c;也是“十四五”期内最大的文物保护行动&#xff0c;以…

Memcached缓存服务器

目录 简介 NoSQL的优点和缺点 下面扩展一下关系型数据库和非关系型数据库的区别 Memcached 特点 原理 配置与安装 Memcached我们直接使用yum安装就可以了 安装后启动 修改配置文件 测试 开发端安装telnet 进行远程连接memcached&#xff0c;端口探测 以下显示为连接…

香蕉派BPI-M7 瑞芯微RK3588 人工智能开源硬件开发板公开发售

香蕉派(Banana Pi) BPI-M7瑞芯微K3588开源硬件单板计算机公开销售&#xff0c;支持WiFi 6和BT5.2&#xff0c;硬件有3个版本:8G Ram64G eMMC, 16G Ram128 eMMC和32G Ram128 eMMC 香蕉派BPI-M7采用睿芯最新旗舰RK3588八核64位处理器&#xff0c;最高频率为2.4GHz, 6 TOPS NPU&…