ubuntu安装vsftpd

1. 安装并启动

bash 复制代码
apt update
apt install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd

2. 准备目录

bash 复制代码
mkdir -p /opt/ftp
chmod 755 /opt/ftp

3. 创建 FTP 用户

建议不要直接用 root 登录 FTP。

bash 复制代码
useradd -d /opt/ftp -s /usr/sbin/nologin ftpuser
passwd ftpuser
chown ftpuser:ftpuser /opt/ftp

如果后面登录报 530 Login incorrect,再检查 /etc/shells 里是否有 /usr/sbin/nologin,没有就补一行。

4. 修改配置

bash 复制代码
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
nano /etc/vsftpd.conf

关键配置改成这样:

ini 复制代码
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/opt/ftp
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100

保存后重启:

bash 复制代码
systemctl restart vsftpd

5. 放行端口

如果有防火墙:

bash 复制代码
ufw allow 21/tcp
ufw allow 40000:40100/tcp
ufw reload

6. 测试

bash 复制代码
ftp 127.0.0.1

输入用户名 ftpuser 和刚才设置的密码。登录后根目录就是 /opt/ftp。

注意

  • 如果提示 500 OOPS: writable root inside chroot,把 /opt/ftp 权限改成 755,或者把 allow_writeable_chroot=YES 确认已开启。
  • 如果这台机器在公网,FTP 是明文传输,长期用建议改用 SFTP,直接用 SSH 账号登录,不需要额外装服务。

相关推荐
蜗牛一步步往上爬14 分钟前
第六章 BMC常用的调试工具
服务器
小李不困还能学22 分钟前
VSCode_RemoteSSH_一直卡在下载服务器_解决教程
服务器·ide·vscode
瑞雪兆丰年兮22 分钟前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
wuyk5553 小时前
Spider-第03讲-HTTP速通与读懂响应
网络·爬虫·网络协议·http
知已难寻12 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙12 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
星恒随风19 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
梦到啥说啥19 小时前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
Shanks.1 天前
2026 远程控制软件实测:ToDesk / 向日葵 / RustDesk / TeamViewer 在跨城与弱网下的真实差距
网络·远程工作·软件需求