温馨提示×

centos ftpserver怎么安装

小樊
39
2026-10-17 16:36:36
栏目: 智能运维

在 CentOS 上搭建 FTP 服务器(FTPServer),最常用的是 vsftpd(Very Secure FTP Daemon)。下面以 CentOS 7 / 8 / Stream 为例,一步一步说明安装和配置方法。


一、安装 vsftpd

1. 更新系统(可选)

sudo yum update -y

2. 安装 vsftpd

sudo yum install vsftpd -y

二、启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

查看状态:

systemctl status vsftpd

三、基本配置(重要)

配置文件位置:

/etc/vsftpd/vsftpd.conf

备份原配置:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

示例(常用安全配置)

sudo vi /etc/vsftpd/vsftpd.conf

建议内容:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

修改后重启:

sudo systemctl restart vsftpd

四、创建 FTP 用户

sudo useradd ftpuser
sudo passwd ftpuser

限制用户只能 FTP(不能登录系统,可选):

sudo usermod -s /sbin/nologin ftpuser

设置家目录(可选):

sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

五、防火墙设置(非常重要)

1. 开放 21 端口

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload

2. 如果是被动模式(推荐)

在 vsftpd.conf 中加入:

pasv_min_port=30000
pasv_max_port=31000

防火墙开放端口:

sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

六、SELinux 设置(CentOS 常见问题)

查看状态:

getenforce

如果是 Enforcing,执行:

sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on

七、测试 FTP

本地测试

ftp localhost

客户端连接

  • 主机:服务器IP
  • 端口:21
  • 用户名 / 密码:刚才创建的

八、常见问题

1. 连接被拒绝

  • vsftpd 是否启动
  • 防火墙是否放行
  • SELinux 是否阻止

2. 无法上传文件

  • write_enable=YES
  • 目录权限是否正确

如果你需要:

  • CentOS 6 老版本
  • SFTP(基于 SSH)
  • FTPS(SSL 加密)
  • 匿名 FTP

可以告诉我,我可以给你对应配置示例。

0 踩