在云服务器上打开ftp服务-踩坑及心得
作者:小教学发布时间:2023-10-03分类:程序开发学习浏览:80
导读:我们产生这个需求的原因是因为打算搭建一个博客,选择了使用wordpress框架。然后,在安装插件的过程中,需要使用FTP服务进行操作。于是,我们决定搞清楚这个过程,并在其中遇到的困...
我们产生这个需求的原因是因为打算搭建一个博客,选择了使用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
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版