本文介绍如何使用vsftpd和ProFTPD两种流行的FTP服务器软件配置虚拟用户。
方法一:使用vsftpd配置虚拟用户
-
安装vsftpd: 使用以下命令安装vsftpd服务器:
sudo apt-get update sudo apt-get install vsftpd
-
创建虚拟用户数据库: 创建并设置权限:
sudo touch /etc/vsftpd/virtual_users.txt sudo chmod 600 /etc/vsftpd/virtual_users.txt
-
添加虚拟用户: 在/etc/vsftpd/virtual_users.txt文件中添加虚拟用户,格式为用户名:密码,每行一个用户:
echo "user1:password1" | sudo tee -a /etc/vsftpd/virtual_users.txt echo "user2:password2" | sudo tee -a /etc/vsftpd/virtual_users.txt
-
配置PAM验证: 创建并编辑PAM配置文件/etc/pam.d/vsftpd-virtual:
sudo touch /etc/pam.d/vsftpd-virtual sudo chmod 644 /etc/pam.d/vsftpd-virtual
在/etc/pam.d/vsftpd-virtual中添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users account required pam_userdb.so db=/etc/vsftpd/virtual_users
-
修改vsftpd配置文件: 编辑/etc/vsftpd.conf,添加或修改以下配置:
guest_enable=YES guest_username=ftpuser virtual_use_local_privs=YES user_sub_token=$USER local_root=/home/$USER chroot_local_user=YES allow_writeable_chroot=YES pam_service_name=vsftpd-virtual
-
重启vsftpd服务:
sudo systemctl restart vsftpd
方法二:使用ProFTPD配置虚拟用户
-
安装ProFTPD: 使用以下命令安装ProFTPD服务器:
sudo apt-get update sudo apt-get install proftpd
-
创建虚拟用户数据库: 创建并设置权限:
sudo touch /etc/proftpd/virtual_users.txt sudo chmod 600 /etc/proftpd/virtual_users.txt
-
添加虚拟用户: 在/etc/proftpd/virtual_users.txt文件中添加虚拟用户,格式为用户名:密码,每行一个用户。
echo "user1:password1" | sudo tee -a /etc/proftpd/virtual_users.txt echo "user2:password2" | sudo tee -a /etc/proftpd/virtual_users.txt
-
配置PAM验证: 创建并编辑PAM配置文件/etc/pam.d/proftpd-virtual:
sudo touch /etc/pam.d/proftpd-virtual sudo chmod 644 /etc/pam.d/proftpd-virtual
在/etc/pam.d/proftpd-virtual中添加以下内容:
auth required pam_unix.so nullok_secure account required pam_unix.so
-
修改ProFTPD配置文件: 编辑/etc/proftpd/proftpd.conf文件,添加以下配置(请根据实际情况调整路径):
<IfModule mod_sql.c> SQLBackend sqlite3 SQLAuthTypes Plaintext SQLConnectInfo /etc/proftpd/virtual_users.db SQLUserInfo virtual_users txt </IfModule> <Directory /> <Limit ALL> AllowUser user1 AllowUser user2 </Limit> </Directory>
-
重启ProFTPD服务:
sudo systemctl restart proftpd
请根据您的实际环境和需求调整以上配置。 记住将user1:password1和user2:password2替换为您的实际用户名和密码。 配置完成后,请务必测试虚拟用户的连接是否成功。