ubuntu

如何通过Ubuntu FTP服务器实现文件共享

小樊
44
2025-10-21 14:56:17
栏目: 云计算

一、安装vsftpd(Ubuntu默认推荐FTP服务器)
打开终端,依次执行以下命令更新软件包列表并安装vsftpd:

sudo apt update
sudo apt install vsftpd

安装完成后,vsftpd会自动启动;若未启动,可通过sudo systemctl start vsftpd手动启动,并用sudo systemctl enable vsftpd设置开机自启。

二、配置vsftpd.conf(核心设置)
编辑vsftpd的主配置文件(需root权限):

sudo nano /etc/vsftpd.conf

修改或添加以下关键配置项(按需调整):

修改完成后,按Ctrl+O保存文件,Ctrl+X退出编辑器。

三、创建专用FTP用户并设置权限
为避免使用root账户登录FTP(存在安全风险),建议创建专用用户:

sudo adduser ftpuser

按照提示设置密码(建议使用强密码)及其他信息(如姓名、电话等,可跳过)。
设置用户主目录权限(确保用户对其主目录有读写权限):

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

(注:若需更严格的权限控制,可将用户添加到ftp组,并通过/etc/vsftpd.chroot_list文件管理允许访问的用户列表。

四、配置防火墙(允许FTP流量通过)
若服务器启用了UFW防火墙(Ubuntu默认防火墙),需开放FTP相关端口:

sudo ufw allow 21/tcp       # FTP控制端口(默认21)
sudo ufw allow 10000:10100/tcp  # 被动模式端口范围(需与vsftpd.conf中的设置一致)
sudo ufw reload             # 重新加载防火墙规则,使更改生效

(注:若使用iptables防火墙,可执行sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT等命令开放端口。

五、测试FTP连接
使用FTP客户端(如FileZilla、WinSCP或终端命令ftp)连接服务器:

连接成功后,尝试上传(如从本地复制文件到FTP服务器)、下载(如从FTP服务器复制文件到本地)及删除文件,验证功能是否正常。

六、增强安全性(可选但推荐)

  1. 启用FTPS(FTP over SSL/TLS)
    生成SSL证书(如使用Let’s Encrypt免费证书),编辑vsftpd.conf添加:
    ssl_enable=YES
    rsa_cert_file=/etc/ssl/private/vsftpd.crt
    rsa_private_key_file=/etc/ssl/private/vsftpd.key
    
    重启vsftpd服务:sudo systemctl restart vsftpd
  2. 限制特定IP访问
    在vsftpd.conf中添加allow_writeable_chroot=YES,并创建/etc/vsftpd.chroot_list文件,写入允许访问的IP地址(每行一个),设置chroot_list_enable=YES

0
看了该问题的人还看了