温馨提示×

配置Linux ftpserver步骤是啥

小樊
40
2026-07-17 20:07:22
栏目: 智能运维

在 Linux 上配置 FTP 服务器(以最常见的 vsftpd 为例),一般流程如下。如果你指的是 FTPS(FTP over SSL/TLS),我也会在后面补充。


一、安装 vsftpd

CentOS / Rocky / Alma

yum install -y vsftpd

Ubuntu / Debian

apt update
apt install -y vsftpd

二、启动并设置开机自启

systemctl start vsftpd
systemctl enable vsftpd

检查状态:

systemctl status vsftpd

三、基础配置(/etc/vsftpd.conf)

编辑配置文件:

vim /etc/vsftpd.conf

常用基础配置

# 禁止匿名登录
anonymous_enable=NO

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

# 允许上传
write_enable=YES

# 本地用户 umask
local_umask=022

# 限制用户只能在自己家目录
chroot_local_user=YES

# 允许用户可写(vsftpd 3.x 必须)
allow_writeable_chroot=YES

# 日志
xferlog_enable=YES

保存后重启:

systemctl restart vsftpd

四、创建 FTP 用户

useradd -m ftpuser
passwd ftpuser

⚠️ root 默认不能登录 FTP,需要使用普通用户。


五、防火墙配置

firewalld(CentOS 7+)

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

iptables(老系统)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

六、SELinux 配置(CentOS/RHEL)

查看状态:

getenforce

如果是 Enforcing,执行:

setsebool -P ftp_home_dir on

七、测试 FTP

本地测试

ftp localhost

Windows

ftp 服务器IP

八、配置 FTPS(推荐,更安全)

1️⃣ 生成 SSL 证书

openssl req -x509 -nodes -days 365 \
-keyout /etc/vsftpd/vsftpd.key \
-out /etc/vsftpd/vsftpd.crt

2️⃣ 修改 vsftpd.conf

ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key
force_local_data_ssl=YES
force_local_logins_ssl=YES

重启:

systemctl restart vsftpd

九、常见问题

问题 原因
530 Login incorrect 用户名/密码错误,或 pam 配置
500 OOPS 目录权限或 chroot 配置
连接超时 防火墙 / 被动模式

十、建议(很重要)

生产环境不建议用 FTP,推荐:

  • SFTP(基于 SSH,更安全)
  • FTPS(FTP + SSL)

❌ FTP 明文传输,不安全


如果你告诉我:

  • ✅ 系统版本
  • ✅ 是否需要 FTPS
  • ✅ 是否用于生产环境

我可以给你 精确配置方案

0