FTP学习笔记

Sunmy Lv5
  1. 安装 vsftpd
    首先,安装 vsftpd(非常安全的 FTP 守护进程):
1
2
sudo apt update
sudo apt install vsftpd
  1. 配置 vsftpd
1
2
3
4
5
6
7
8
9
10
11
12
sudo nano /etc/vsftpd.conf
# 确保以下选项被取消注释(去掉#号):
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
# 为了解决中文乱码,添加或修改以下行:
utf8_filesystem=YES
use_localtime=YES
allow_writeable_chroot=YES
  1. 设置用户和目录权限
    创建一个 FTP 用户并设置密码:
1
2
sudo adduser ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
  1. 重启 vsftpd 服务
    修改配置后,需要重启 vsftpd 服务:
1
sudo systemctl restart vsftpd
  1. 解决中文乱码问题
    在客户端上,如果仍然遇到中文文件名乱码的问题,可以在 FTP 客户端(如 FileZilla)中设置编码为 UTF-8。
  2. 允许防火墙通过 FTP
    如果你的服务器上启用了防火墙,请确保 FTP 端口(通常是 21)被允许通过:
1
2
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp # 如果使用被动模式
  1. 创建一个子目录
1
2
3
4
sudo mkdir /home/ftpuser/ftp
sudo chown root:root /home/ftpuser
sudo chmod 755 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

8.更新 vsftpd 配置

1
2
# 如果你在 /etc/vsftpd.conf 中没有设置 user_sub_token,可以添加以下行以便在 chroot 中使用:
user_sub_token=$USER
  1. 重新启动 vsftpd
    配置完成后,重新启动 vsftpd 服务:
1
sudo systemctl restart vsftpd
  1. 测试 FTP 连接
    再次尝试使用 FTP 客户端连接到服务器,并验证能否上传文件。
    在子目录中上传中文文件,确保它们的名称能正确显示。
  • 标题: FTP学习笔记
  • 作者: Sunmy
  • 创建于 : 2025-04-30 11:56:57
  • 更新于 : 2025-06-29 21:05:24
  • 链接: https://ldspdvsun.github.io/cmchvp8g4002vh0gb9t5m17nh/
  • 版权声明: 版权所有 © Sunmy,禁止转载。
评论
目录
FTP学习笔记