欢迎光临护送网
详情描述

vsftpd(最常用)和ProFTPD两种主流方案的详细步骤:

方案一:使用 vsftpd(推荐)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 配置 vsftpd

备份原始配置文件:

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

编辑配置文件:

sudo nano /etc/vsftpd.conf

3. 常用配置选项

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

# 允许写入操作
write_enable=YES

# 设置本地用户的umask
local_umask=022

# 允许匿名登录(可选)
anonymous_enable=NO

# 禁止匿名用户上传(如果启用匿名登录)
anon_upload_enable=NO

# 限制用户只能访问其家目录
chroot_local_user=YES
allow_writeable_chroot=YES

# 被动模式设置(适合防火墙/NAT后)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=你的公网IP地址

# 使用SSL/TLS(可选)
ssl_enable=NO  # 如需启用SSL,设为YES并配置证书

4. 创建FTP用户

创建专用FTP用户(非登录用户):

sudo useradd -m ftpuser -s /usr/sbin/nologin
sudo passwd ftpuser

或使用现有系统用户:

# 允许现有用户登录FTP
sudo usermod -s /bin/bash 用户名

5. 启动和启用服务

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
sudo systemctl status vsftpd

6. 防火墙设置

如果使用UFW防火墙:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp  # 被动模式端口范围

方案二:使用 ProFTPD

1. 安装 ProFTPD

sudo apt install proftpd

安装过程中选择:

  • Standalone:独立运行模式
  • inetd:由inetd管理(适用于低负载)

2. 基本配置

编辑主配置文件:

sudo nano /etc/proftpd/proftpd.conf

添加或修改以下内容:

ServerName "Your FTP Server"
ServerType standalone
DefaultRoot ~  # 限制用户到其家目录
RequireValidShell off  # 允许无shell用户登录

3. 创建用户

# 创建用户组
sudo groupadd ftpgroup

# 创建用户(无登录权限)
sudo useradd -g ftpgroup -d /var/ftp -s /bin/false ftpuser
sudo passwd ftpuser

# 设置目录权限
sudo chown -R ftpuser:ftpgroup /var/ftp
sudo chmod -R 755 /var/ftp

4. 启动服务

sudo systemctl restart proftpd
sudo systemctl enable proftpd

客户端连接测试

Linux/Mac客户端:

ftp 服务器IP地址
# 或使用lftp(功能更强)
lftp ftp://用户名@服务器IP地址

Windows客户端:

  • 文件资源管理器:ftp://服务器IP地址
  • 使用FileZilla、WinSCP等专业FTP客户端

安全建议

使用SFTP替代FTP(FTP传输不加密):

# SFTP已随SSH服务器自动启用
sudo apt install openssh-server

配置TLS/SSL加密(vsftpd):

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

然后在配置文件中启用SSL。

限制用户访问

  • 使用 userlist_enable=YES 控制允许/拒绝的用户
  • 配置 userlist_file=/etc/vsftpd.userlist

日志监控

# 查看vsftpd日志
sudo tail -f /var/log/vsftpd.log

常见问题解决

连接超时:检查防火墙设置 登录失败:确认用户shell在/etc/shells无法上传文件:检查目录权限和配置中的write_enable 被动模式问题:正确配置pasv_address(公网IP)

更安全的替代方案

考虑到FTP协议的不安全性,建议考虑:

  • SFTP:基于SSH的文件传输
  • FTPS:FTP over SSL/TLS
  • rsync:增量文件同步

注意:FTP协议默认不加密,生产环境建议使用SFTP或配置SSL/TLS加密。

相关帖子
对于不熟悉技术的老人,如何为他们设置简单有效的手机防盗功能?
对于不熟悉技术的老人,如何为他们设置简单有效的手机防盗功能?
人才引进中的“柔性引才”模式,在2026年会以哪些更灵活的形式出现并应用?
人才引进中的“柔性引才”模式,在2026年会以哪些更灵活的形式出现并应用?
目前国内外有哪些值得关注的、非医疗领域的脑机接口初创公司?
目前国内外有哪些值得关注的、非医疗领域的脑机接口初创公司?
2026年,拥有多个技能证书或跨领域复合技能的人才薪酬会更占优势吗?
2026年,拥有多个技能证书或跨领域复合技能的人才薪酬会更占优势吗?
虚拟偶像与真人偶像的粉丝生态和互动模式,存在哪些根本性的不同?
虚拟偶像与真人偶像的粉丝生态和互动模式,存在哪些根本性的不同?
白城市救护车租赁价格-急救车出租,车内设备齐全
白城市救护车租赁价格-急救车出租,车内设备齐全
2026年,哪些地区已经支持新生儿出生登记的“跨省通办”服务?
2026年,哪些地区已经支持新生儿出生登记的“跨省通办”服务?
低物欲到底是活得通透还是在自我安慰,普通人试着过一个月到底会怎样?
低物欲到底是活得通透还是在自我安慰,普通人试着过一个月到底会怎样?
0–3岁居家照护里,怎么把“安全底线”先搭好,再谈早教和规矩?
0–3岁居家照护里,怎么把“安全底线”先搭好,再谈早教和规矩?
从“嫁对人”到“怀个球都被骂”,这一路是不是早该醒醒了?
从“嫁对人”到“怀个球都被骂”,这一路是不是早该醒醒了?
民法典实施后公证遗嘱不再优先,自家手写遗嘱能不能推翻公证?
民法典实施后公证遗嘱不再优先,自家手写遗嘱能不能推翻公证?
松原市私人救护车转运病人服务-响应速度,随叫随到
松原市私人救护车转运病人服务-响应速度,随叫随到
担保合同单独签署流程,区分主合同与担保合同的签约先后顺序
担保合同单独签署流程,区分主合同与担保合同的签约先后顺序
贷款利息怎么精准计算,套用通用公式算出月供与全程总利息
贷款利息怎么精准计算,套用通用公式算出月供与全程总利息
2026年春节京东推
2026年春节京东推"顺路提",返乡路上高铁站自提咖啡真的能省时间吗?
高层住宅燃气公司有强制安检,自己用电炊具是不是能少点麻烦事?
高层住宅燃气公司有强制安检,自己用电炊具是不是能少点麻烦事?
西安市企业建站@网站建设公司,服务可靠
西安市企业建站@网站建设公司,服务可靠
在2026年,线上开庭审理离婚案件已成为常态,当事人需要注意哪些事项?
在2026年,线上开庭审理离婚案件已成为常态,当事人需要注意哪些事项?
作为消费者,在选购具备自动驾驶功能的车辆时,应重点了解哪些责任相关的条款?
作为消费者,在选购具备自动驾驶功能的车辆时,应重点了解哪些责任相关的条款?
汽车抵押贷款额度如何计算?结合评估知识看懂定价核心依据
汽车抵押贷款额度如何计算?结合评估知识看懂定价核心依据