欢迎光临余姚市救护车出租网
详情描述

1. 安装VSFTPD

sudo apt update
sudo apt install vsftpd

2. 备份原始配置文件

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

3. 配置VSFTPD

编辑配置文件:

sudo nano /etc/vsftpd.conf

以下是常见的配置选项(根据需要修改):

# 允许本地用户登录
local_enable=YES

# 允许写入权限
write_enable=YES

# 本地用户创建文件的umask
local_umask=022

# 禁止匿名登录(安全考虑)
anonymous_enable=NO

# 限制用户只能访问其主目录(推荐启用)
chroot_local_user=YES
allow_writeable_chroot=YES

# 使用被动模式
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

# 日志设置
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

# 使用独立模式运行
listen=YES
listen_ipv6=NO

4. 创建FTP用户(可选)

# 创建新用户(不分配登录shell,只能用于FTP)
sudo useradd -m -s /bin/bash ftpuser
sudo passwd ftpuser

# 或者限制用户只能访问特定目录
sudo useradd -m -d /var/ftp -s /usr/sbin/nologin ftpuser
sudo chown -R ftpuser:ftpuser /var/ftp

5. 配置防火墙(如果使用UFW)

# 允许FTP端口
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload

6. 重启服务

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

7. 测试连接

# 本地测试
ftp localhost

# 使用FileZilla或其他FTP客户端连接
# 主机: 服务器IP地址
# 用户名/密码: 设置的FTP用户凭据
# 端口: 21

常见问题解决:

1. 连接超时或失败

  • 检查防火墙设置
  • 确认服务器是否在监听端口:
    sudo netstat -tulpn | grep :21

2. 无法上传文件

  • 确保write_enable=YES
  • 检查目录权限:
    sudo chmod 755 /home/ftpuser
    sudo chown ftpuser:ftpuser /home/ftpuser

3. 启用SSL/TLS加密(可选)

# 生成SSL证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

在配置文件中添加:

ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

4. 限制用户访问特定目录

使用chroot_local_user=YES并创建用户列表:

sudo nano /etc/vsftpd.user_list
# 添加允许的用户名,每行一个

在配置文件中添加:

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO  # 仅列表中的用户可以访问

检查服务状态

sudo systemctl status vsftpd
sudo journalctl -u vsftpd -f  # 查看实时日志

这样就完成了VSFTPD服务器的基本搭建。根据实际需求调整配置参数。