使用 vsftpd 搭建 CentOS FTP 服务器是一个相对简单的过程。以下是详细的步骤指南:
首先,确保你的 CentOS 系统已经更新到最新状态:
sudo yum update -y
然后安装 vsftpd:
sudo yum install vsftpd -y
安装完成后,启动 vsftpd 服务并设置开机自启动:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
接下来,编辑 vsftpd 的配置文件 /etc/vsftpd/vsftpd.conf:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
允许本地用户登录:
local_enable=YES
允许写操作:
write_enable=YES
允许匿名用户登录(可选):
anonymous_enable=YES
设置匿名用户的主目录(可选):
anon_root=/var/ftp
启用被动模式(如果需要通过防火墙访问):
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
允许用户上传文件:
chroot_local_user=YES
allow_writeable_chroot=YES
如果你使用的是 firewalld,需要开放 FTP 端口:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=1024-1048/tcp
sudo firewall-cmd --reload
如果你使用的是 iptables,需要添加相应的规则:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT
sudo service iptables save
创建一个用于 FTP 访问的用户:
sudo adduser ftpuser
sudo passwd ftpuser
按照提示设置密码。
使用 FTP 客户端(如 FileZilla)连接到你的服务器,输入以下信息:
如果一切配置正确,你应该能够成功连接并访问 FTP 服务器。
确保 /var/ftp 目录存在并且可写:
sudo mkdir -p /var/ftp
sudo chown ftpuser:ftpuser /var/ftp
如果你希望限制某些用户访问 FTP,可以在 /etc/vsftpd/user_list 文件中添加用户名,并在配置文件中启用 userlist_enable 和 userlist_deny 选项。
通过以上步骤,你应该能够成功搭建一个基本的 CentOS FTP 服务器。根据你的具体需求,可能还需要进行进一步的配置和优化。