在CentOS上配置VSFTP(Very Secure FTP Daemon)涉及多个步骤,包括安装、基本配置、用户管理和权限设置。以下是一个详细的指南:
首先,确保你的系统是最新的,然后安装VSFTP:
sudo yum update -y
sudo yum install vsftpd -y
安装完成后,启动VSFTP服务并设置为开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
编辑VSFTP的配置文件 /etc/vsftpd/vsftpd.conf
:
sudo vim /etc/vsftpd/vsftpd.conf
进行以下配置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner="Welcome to my test FTP server."
创建一个新用户并设置其主目录:
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
sudo passwd ftpuser
按照提示设置密码。
设置用户主目录的权限:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
对于更高级的安全性,可以使用虚拟用户。首先,创建一个用户数据库文件:
sudo vim /etc/vsftpd/vu.txt
添加用户名和密码,例如:
admin admin
upload upload
download download
将明文文件转换为数据库文件:
db_load -T -t hash -f /etc/vsftpd/vu.txt /etc/vsftpd/vu.db
sudo rm /etc/vsftpd/vu.txt
修改数据库文件权限:
sudo chmod 600 /etc/vsftpd/vu.db
创建PAM文件以支持虚拟用户:
sudo vim /etc/pam.d/vsftpd
添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/vu.db
account required pam_userdb.so db=/etc/vsftpd/vu.db
为每个虚拟用户创建目录并设置权限:
sudo mkdir /var/ftp/upload
sudo mkdir /var/ftp/download
sudo chown ftpuser:ftpuser /var/ftp/upload
sudo chown ftpuser:ftpuser /var/ftp/download
sudo chmod 755 /var/ftp/upload
sudo chmod 755 /var/ftp/download
为每个虚拟用户创建权限文件:
sudo vim /etc/vsftpd/vu_perm/upload
sudo vim /etc/vsftpd/vu_perm/download
设置相应的权限,例如:
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/ftp/upload
对于下载用户:
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_root=/var/ftp/download
完成配置后,重启VSFTP服务以应用更改:
sudo systemctl restart vsftpd
如果使用防火墙,确保开放FTP所需的端口:
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=990/tcp
sudo firewall-cmd --permanent --add-port=40000:50000/tcp
sudo firewall-cmd --reload
以上步骤涵盖了在CentOS上安装、配置VSFTP的基本流程,包括用户管理和权限设置。根据具体需求,可以进一步调整配置以满足安全性和功能性的要求。