Vsftpd(Very Secure FTP Daemon)是一款在 Linux 系统上广泛使用的 FTP 服务器软件,以其安全性和高性能著称。以下为你详细介绍在不同 Linux 发行版上部署 Vsftpd 的步骤。
环境准备
- 确保服务器已经联网,能够正常下载软件包。
- 以具有管理员权限的用户(如 root)身份进行操作。
以下是部署Vsftpd(Very Secure FTP Daemon)的详细步骤:
1. 安装 Vsftpd
根据系统类型选择命令:
Debian/Ubuntu:
sudo apt update sudo apt install vsftpd
CentOS/RHEL:
sudo yum install vsftpd
2. 配置 Vsftpd
编辑配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
常用配置选项(按需修改):
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传文件
write_enable=YES
# 限制用户到自家目录(防逃逸)
chroot_local_user=YES
allow_writeable_chroot=YES
# 被动模式配置(推荐)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
# 如果服务器在NAT后,需指定公网IP
pasv_address=你的公网IP
# 日志记录
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
3. 重启 Vsftpd 服务
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd # 设置开机自启
4. 防火墙配置
开放FTP相关端口:
UFW (Ubuntu):
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 30000:31000/tcp # 被动模式端口范围
Firewalld (CentOS/RHEL):
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --permanent --add-port=30000-31000/tcp sudo firewall-cmd --reload
5. 创建FTP用户
新建用户(例如
ftpuser
):sudo useradd -m ftpuser # -m 创建家目录 sudo passwd ftpuser # 设置密码
限制用户仅用于FTP(可选):
sudo usermod -s /sbin/nologin ftpuser
6. 测试连接
使用FTP客户端(如FileZilla)或命令行测试:
ftp 服务器IP
# 输入用户名和密码
7. 常见问题解决
连接超时/失败:
- 检查防火墙/SELinux设置。
- 确保
pasv_address
正确(如服务器有公网IP)。
上传权限错误:
- 确保用户家目录有写权限:
sudo chmod -R 755 /home/ftpuser
- 检查
write_enable=YES
是否启用。
- 确保用户家目录有写权限:
SELinux 问题(CentOS/RHEL):
sudo setsebool -P ftpd_full_access on
8. 高级安全配置(可选)
启用SSL/TLS(FTPS):
在配置文件中添加:
ini
ssl_enable=YES rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
限制用户列表:
ini
userlist_enable=YES userlist_file=/etc/vsftpd.user_list # 每行一个允许的用户名 userlist_deny=NO
完成以上步骤后,Vsftpd应正常运行。根据需求调整配置,并确保遵循安全最佳实践。