首页主机资讯如何通过Ubuntu FTP服务器实现文件共享

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

时间2025-10-22 00:14:03发布访客分类主机资讯浏览427
导读:一、安装vsftpd(Ubuntu默认推荐FTP服务器) 打开终端,依次执行以下命令更新软件包列表并安装vsftpd: sudo apt update sudo apt install vsftpd 安装完成后,vsftpd会自动启动;若...

一、安装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

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

  • 基础安全与访问控制
    anonymous_enable=NO(禁止匿名用户登录,避免未授权访问);
    local_enable=YES(允许本地系统用户登录FTP);
    write_enable=YES(允许用户上传、删除文件);
    chroot_local_user=YES(将用户限制在自己的主目录,防止越权访问服务器其他文件);
    allow_writeable_chroot=YES(允许chroot目录可写,解决“chroot目录不可写”的报错)。
  • 被动模式设置(可选,解决客户端连接问题)
    pasv_enable=YES(启用被动模式,适用于NAT或防火墙环境);
    pasv_min_port=10000(设置被动模式最小端口);
    pasv_max_port=10100(设置被动模式最大端口,需与防火墙规则匹配)。

修改完成后,按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)连接服务器:

  • 主机:输入服务器IP地址(如192.168.1.100);
  • 用户名ftpuser(步骤三创建的用户);
  • 密码:步骤三设置的密码;
  • 端口21(默认FTP端口,若修改了vsftpd.conf中的listen_port,需填写对应端口)。

连接成功后,尝试上传(如从本地复制文件到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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何通过Ubuntu FTP服务器实现文件共享
本文地址: https://pptw.com/jishu/731743.html
GitLab在Debian上的自动化测试如何配置 GitLab在Debian上的协作与沟通如何实现

游客 回复需填写必要信息