以下是Debian FTP(以vsftpd为例)与其他服务的集成方法:
sudo apt install vsftpd apache2 # 安装vsftpd和Apache
/etc/vsftpd.conf,设置本地用户根目录为Web根目录(如/var/www/html):local_root=/var/www/html
chroot_local_user=YES
sudo useradd -m -d /var/www/html ftpuser
sudo passwd ftpuser
sudo chown -R ftpuser:ftpuser /var/www/html
sudo chmod 755 /var/www/html
sudo ufw allow 21/tcp
sudo ufw allow 80/tcp
sudo ufw enable
sudo apt install proftpd-mysql
CREATE DATABASE ftpdb;
CREATE TABLE ftpusers (id INT, username VARCHAR(50), password VARCHAR(50));
INSERT INTO ftpusers VALUES (1, 'ftpuser', 'encrypted_password');
/etc/proftpd/proftpd.conf,启用MySQL认证:<IfModule mod_sql.c>
SQLBackend mysql
SQLConnectInfo ftpdb@localhost ftpuser ftppassword
SQLUserDB ftpusers
</IfModule>
sudo systemctl restart proftpd
sudo apt install openssh-server
sudo usermod -s /bin/bash ftpuser # 允许shell访问(可选)
sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
/etc/ssh/sshd_config,添加:Subsystem sftp internal-sftp
Match Group ftpgroup
ChrootDirectory /home/%u/ftp
ForceCommand internal-sftp
AllowTcpForwarding no
sudo systemctl restart ssh
chroot限制用户仅能访问指定目录,避免越权操作。ssl_enable=YES)或使用SFTP加密数据。ufw或iptables。/var/log/vsftpd.log或/var/log/auth.log,排查异常访问。具体集成方案可根据实际需求选择,参考官方文档进一步优化配置。