在云服务器上打开ftp服务-踩坑及心得

news/2024/7/9 23:05:11 标签: 服务器, 数据库, postgresql

我们产生这个需求的原因是因为打算搭建一个博客,选择了使用wordpress框架。然后,在安装插件的过程中,需要使用FTP服务进行操作。于是,我们决定搞清楚这个过程,并在其中遇到的困难进行记录。

一、安装vsftpd

# 安装
sudo apt-get install vsftpd

# 设置开机自启
systemctl enable vsftpd

# 启动ftp服务
systemctl start vsftpd

# 查看ftp状态
sudo service vsftpd status

如果看到下面的状态,说明启动成功

● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-10-02 18:59:13 CST; 15min ago
    Process: 1178111 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
   Main PID: 1178112 (vsftpd)
      Tasks: 3 (limit: 3942)
     Memory: 1.8M
        CPU: 202ms
     CGroup: /system.slice/vsftpd.service
             ├─1178112 /usr/sbin/vsftpd /etc/vsftpd.conf
             ├─1181349 /usr/sbin/vsftpd /etc/vsftpd.conf
             └─1181351 /usr/sbin/vsftpd /etc/vsftpd.conf

Oct 02 18:59:13 VM-24-9-ubuntu systemd[1]: Starting vsftpd FTP server...
Oct 02 18:59:13 VM-24-9-ubuntu systemd[1]: Started vsftpd FTP server.

主要看状态,Active: active (running) 代表正在运行。

二、创建ftp用户,并给权限

# 创建用户,此时系统自动创建了用户组ftpuser
useradd ftpuser

# 设置用户密码
passwd ftpuser

# 创建ftp文件夹
mkdir /home/ftpuser

# 给ftp文件夹权限
chown -R ftpuser:ftpuser /home/ftpuser

# 这里要想要方便省事的话,但是不推荐这么做
# chmod -R 777 /home/ftpuser

三、配置vsftpd

打开 vsftpd.conf 文件

sudo vim /etc/vsftpd.conf

改为以下配置

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
listen=YES

local_root=/var/ftp/test
allow_writeable_chroot=YES
pasv_enable=YES            # 这里选择被动模式
pasv_address=xxx.xx.xxx.xx # 修改云服务器公网 IP
pasv_min_port=40000        # 被动模式需要的开放端口
pasv_max_port=40005

执行以下命令,创建并编辑 chroot_list 文件。

vim /etc/vsftpd/chroot_list

将需要ftp权限的用户添加进去,一行一个

保存退出后重启服务

systemctl restart vsftpd

四、开放端口

这里是我踩得坑,明明都一切正常就是不行,最后发现没有开放端口,这里的端口不仅是服务器中的ufw端口,还有云服务器本身的端口。

首先我们打开ufw也就是linux本身的防火墙

sudo ufw allow 21/tcp

由于我们在被动模式使用了40000-40005号端口,我们也需要打开

sudo ufw allow 40000/tcp
sudo ufw allow 40001/tcp
sudo ufw allow 40002/tcp
sudo ufw allow 40003/tcp
sudo ufw allow 40004/tcp
sudo ufw allow 40005/tcp

其次我们需要再云服务器的安全策略中打开这些端口

请添加图片描述

五、测试

可以看到已经可以连接,如果可以连接,但是无法显示文件大概率是权限或者端口开放问题

请添加图片描述

六、参考

腾讯云的教程 https://cloud.tencent.com/document/product/213/10912

vsftp文档 https://wiki.ubuntu.org.cn/Vsftpd


http://www.niftyadmin.cn/n/5063453.html

相关文章

B2901A 是德科技keysight精密型电源

181/2461/8938Agilent B2901A精密源/测量单元(SMU)是一款单通道、紧凑且经济高效的台式SMU,能够采集和测量电压和电流。它功能多样,可以轻松、高精度地执行I/V(电流与电压)测量。四象限源和测量功能的集成使I/V测量简单易行,无需配置多种仪器…

Netgear R6700v3 1.0.4.102(CVE-2021-27239)

漏洞信息 此漏洞允许网络相邻攻击者在受影响的NETGEAR R6400和R6700固件版本1.0.4.98路由器上执行任意代码。利用此漏洞不需要身份验证。该漏洞存在于upnpd服务中,upnpd服务默认监听UDP 1900端口。SSDP消息中精心制作的MX报头字段可能会触发固定长度的基于堆栈的缓…

Java编程技巧:分类

1、表结构 字段名称字段类型字段解释idvarchar主键idnamevarchar分类名称sequenceint同级排序parentvarchar父级分类id,一级分类的父级分类id为0pathvarchar分类id路径,中间用英文逗号,分隔,方便使用find_in_set函数搜索namePathvarchar分类…

简单走近ChatGPT

目录 一、ChatGPT整体背景认知 (一)ChatGPT引起关注的原因 (二)与其他公司的竞争情况 二、NLP学习范式的发展 (一)规则和机器学习时期 (二)基于神经网络的监督学习时期 &…

数据结构-快速排序-C语言实现

引言:快速排序作为一种非常经典且高效的排序算法,无论是工作还是面试中广泛用到,作为一种分治思想,需要熟悉递归思想。下面来讲讲快速排序的实现和改进。 老规矩,先用图解来理解一下:(这里使用快…

Ubuntu系统初始设置

更换国内源 安装截图工具 安装中文输入法 安装QQ 参考: 安装双系统win10Ubuntu20.04LTS(详细到我自己都害怕) 引导方式磁盘分区方法UEFIGPTLegancyMBR 安装网络助手 sudo apt install net-tools 安装VS Code 使用从官网下载.deb安装包…

使用sqlmap获取数据步骤

文章目录 1.使用sqlmap获取所有数据库2.使用sqlmap获取当前连接数据库3.使用sqlmap获取当前数据库下所有表名4.使用sqlmap获取当前数据库下某个表下所有列名5.使用sqlmap获取当前数据库下某个表下指定字段的数据6.测试当前用户是否是管理员7.使用burpsqlmap批量检测8.脱库命令9…

UE5.1编辑器拓展【三、脚本化资产行为,删除无引用资产】

目录 需要考虑的问题 重定向的修复函数 代码: 删除无引用资产 代码 需要添加的头文件和模块 在我们删除资产的时候,会发现,有些资产在删除的时候会出现有被什么什么引用,还有的是没有被引用。 而我们如果直接选择一片去进行…