凌峰创科服务平台

Linux下FTP服务器搭建步骤是怎样的?

在Linux系统中搭建FTP服务器通常使用vsftpd(Very Secure FTP Daemon)软件,它以安全性高、性能稳定著称,以下是详细搭建步骤:

Linux下FTP服务器搭建步骤是怎样的?-图1
(图片来源网络,侵删)

更新系统软件包列表并安装vsftpd,以Ubuntu/Debian系统为例,执行sudo apt update && sudo apt install vsftpd -y;对于CentOS/RHEL系统,使用sudo yum update && sudo yum install vsftpd -y,安装完成后,启动服务并设置开机自启:sudo systemctl start vsftpdsudo systemctl enable vsftpd

接下来配置vsftpd,核心配置文件位于/etc/vsftpd.conf,建议先备份原文件:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak,然后使用sudo nano /etc/vsftpd.conf编辑文件,关键参数设置如下:

参数 说明
anonymous_enable NO 禁止匿名访问,提升安全性
local_enable YES 允许本地用户登录
write_enable YES 启用写权限
chroot_local_user YES 限制用户只能访问自家目录
allow_writeable_chroot YES 允许被限制在主目录的用户写入
pasv_min_port 60000 被动模式最小端口
pasv_max_port 61000 被动模式最大端口
user_sub_token $USER 动态匹配用户名
local_root /home/$USER 用户主目录路径

配置完成后,创建FTP用户并设置密码,例如创建用户ftpusersudo useradd -m -s /bin/bash ftpusersudo passwd ftpuser,若需限制用户仅能通过FTP访问,可修改其shell为/usr/sbin/nologinsudo usermod -s /usr/sbin/nologin ftpuser

防火墙设置是关键步骤,在Ubuntu中执行sudo ufw allow 20/tcpsudo ufw allow 21/tcp及被动模式端口范围sudo ufw allow 60000:61000/tcp;CentOS中使用sudo firewall-cmd --permanent --add-service=ftpsudo firewall-cmd --permanent --add-port=60000-61000/tcp,最后重载防火墙sudo firewall-cmd --reload

Linux下FTP服务器搭建步骤是怎样的?-图2
(图片来源网络,侵删)

重启vsftpd服务使配置生效:sudo systemctl restart vsftpd,使用netstat -tlnp | grep ftp检查端口监听状态,或通过客户端工具(如FileZilla)测试连接,若遇到问题,可查看日志sudo tail -f /var/log/vsftpd.log排查。

相关问答FAQs

  1. Q: 如何限制FTP用户只能访问指定目录,无法切换到上级目录?
    A: 在vsftpd.conf中确保chroot_local_user=YES已启用,同时检查allow_writeable_chroot=YES(若vsftpd版本高于3.2.0),对于旧版本,需在用户主目录创建.ftpchroot文件或设置chroot_list_file参数指定用户列表文件。

  2. Q: FTP连接时提示“530 Login incorrect”如何解决?
    A: 首先确认用户名密码正确,检查/etc/vsftpd.conflocal_enable=YES是否开启,若使用虚拟用户,需确保pam_service_name=vsftpd.pam配置正确,并验证PAM认证文件/etc/pam.d/vsftpd是否存在且未被注释,检查用户是否被列入/etc/vsftpd.ftpusers(禁止登录用户列表)或/etc/vsftpd.user_list(根据配置决定是否禁止)。

    Linux下FTP服务器搭建步骤是怎样的?-图3
    (图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇