FileZilla本身是客户端,需配合FTP服务器使用。在CentOS上常用vsftpd,安装命令如下:
sudo yum update -y
sudo yum install vsftpd -y
安装完成后,启动vsftpd服务并设置为开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
ftpuser):sudo useradd -m ftpuser # -m参数自动创建家目录(/home/ftpuser)
sudo passwd ftpuser
sudo usermod -s /sbin/nologin ftpuser # 禁止用户登录shell
确保用户对其主目录有读、写、执行权限(755),避免权限过高导致安全问题:
sudo chown -R ftpuser:ftpuser /home/ftpuser # 将主目录所有者设为用户自身
sudo chmod -R 755 /home/ftpuser # 设置目录权限(所有者可读写执行,其他用户仅可读执行)
编辑vsftpd主配置文件(/etc/vsftpd/vsftpd.conf),添加或修改以下关键参数:
sudo vi /etc/vsftpd/vsftpd.conf
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES # 允许用户在自己的chroot目录中写入(避免权限冲突)
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50050
保存后重启vsftpd服务使配置生效:
sudo systemctl restart vsftpd
CentOS默认使用firewalld,需开放FTP端口(21)和被动模式端口范围(示例为50000-50050):
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=50000-50050/tcp
sudo firewall-cmd --reload
ftpuser及密码;cmds_allowed参数或FileZilla Server的“权限”选项卡设置(若使用FileZilla Server作为FTP服务端);anonymous_enable=NO)并定期更新FTP服务器软件。