Linux云服务器搭建FTP服务完整指南
在云服务器上搭建FTP服务是企业文件传输的经典解决方案。本文将详细介绍如何在Linux云服务器上搭建稳定可靠的FTP服务。
一、准备工作
在开始前,请确保:
- 已购买Linux云服务器(推荐CentOS/Ubuntu)
- 拥有root或sudo权限
- 服务器防火墙已开放21端口(FTP默认端口)
- 服务器安全组已配置相应规则
二、安装FTP服务软件
Linux系统常用的FTP服务器软件是vsftpd(Very Secure FTP Daemon)。
1. 安装vsftpd
# CentOS/RHEL系统 sudo yum install vsftpd -y # Ubuntu/Debian系统 sudo apt-get install vsftpd -y
2. 启动服务并设置开机自启
sudo systemctl start vsftpd sudo systemctl enable vsftpd
三、配置vsftpd
配置文件位于/etc/vsftpd/vsftpd.conf,建议修改前先备份:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
常用配置选项:
anonymous_enable=NO # 禁止匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 允许写入权限 local_umask=022 # 默认文件权限 dirmessage_enable=YES # 启用目录消息 xferlog_enable=YES # 启用传输日志 connect_from_port_20=YES # 使用20端口传输数据 xferlog_std_format=YES # 标准日志格式 listen=NO # 独立运行模式 listen_ipv6=YES # 启用IPv6 pam_service_name=vsftpd # PAM认证服务名 userlist_enable=YES # 启用用户列表 tcp_wrappers=YES # 使用TCP Wrappers
四、用户管理
1. 创建FTP专用用户
sudo useradd -m ftpuser -s /sbin/nologin sudo passwd ftpuser
2. 限制用户访问目录
编辑/etc/vsftpd/vsftpd.conf添加:
chroot_local_user=YES allow_writeable_chroot=YES
然后重启服务:
sudo systemctl restart vsftpd
五、防火墙设置
# CentOS 7+使用firewalld sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload # Ubuntu使用ufw sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 30000:31000/tcp # 被动模式端口范围
六、测试FTP服务
可以使用FileZilla等FTP客户端测试连接,或使用命令行:
ftp your_server_ip
输入用户名和密码后,应能看到连接成功的提示。
七、高级配置
1. 被动模式配置
pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 pasv_address=your_server_ip
2. SSL/TLS加密
ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES rsa_cert_file=/etc/ssl/certs/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.key
通过以上步骤,您已经成功在Linux云服务器上搭建了安全可靠的FTP服务。建议定期检查日志文件/var/log/vsftpd.log,并保持软件更新以确保安全。