在 Linux 系统下安装 vsftp 的步骤如下:
更新系统包列表:
对于基于 Debian 的系统(如 Ubuntu),使用以下命令:
sudo apt update
对于基于 RHEL 的系统(如 CentOS、Fedora),使用以下命令:
sudo yum update
安装 vsftp:
使用包管理器安装 vsftp 软件包。在 Debian/Ubuntu 系统上,使用以下命令:
sudo apt install vsftpd
在 CentOS/RHEL 系统上,使用以下命令:
sudo yum install vsftpd
配置 vsftp:
安装完成后,编辑 vsftp 的主要配置文件,通常位于 /etc/vsftpd.conf。使用文本编辑器打开文件,例如使用 nano:
sudo nano /etc/vsftpd.conf
根据需要进行相应的设置。以下是一些常见的配置项:
anonymous_enable=YES 或 anonymous_enable=NO:允许或禁止匿名访问。local_enable=YES:允许本地用户登录。write_enable=YES:允许本地用户上传文件。chroot_local_user=YES:将用户限制在其主目录中。ssl_enable=YES:启用 SSL/TLS 加密。rsa_cert_file 和 rsa_private_key_file:指定 SSL 证书和密钥文件的路径。保存并关闭文件。
配置虚拟用户(可选):
如果需要使用虚拟用户,可以创建一个虚拟用户文件并进行配置。
创建虚拟用户文件:
sudo touch /etc/vsftpd/virtual_users
添加用户信息:
echo "user1\npassword1" | sudo tee -a /etc/vsftpd/virtual_users
生成用户数据库:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users /etc/vsftpd/virtual_users.dbd
配置 PAM 认证:
编辑 /etc/pam.d/vsftpd 文件,添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
重启 vsftp 服务:
使配置生效,重启 vsftp 服务。在 Debian/Ubuntu 系统上:
sudo systemctl restart vsftpd
在 CentOS/RHEL 系统上:
sudo systemctl restart vsftpd.service
设置防火墙规则(如使用 ufw):
允许 FTP 端口(默认 21)和被动模式端口范围通过防火墙:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # SFTP 端口
sudo ufw enable
测试 FTP 连接:
使用 FTP 客户端连接服务器,验证配置是否生效。例如,使用 FileZilla:
如果一切正常,你应该能够成功登录并上传、下载文件。