Debian FTP Server 目录列表功能管理
一 基础配置与启用
sudo apt update && sudo apt install vsftpdsudo systemctl start vsftpd && sudo systemctl enable vsftpdlocal_enable=YES、write_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESchroot_local_user=YES(若启用,且需可写可结合 allow_writeable_chroot=YES)sudo systemctl restart vsftpd二 常用目录列表相关参数
ls_recurse_enable=YES(允许 LIST -R;按需开启,深度递归可能影响性能)dirmessage_enable=YES(在目录放置 .message 文件可自定义显示内容)xferlog_enable=YES、xferlog_std_format=YES、log_ftp_protocol=NO(建议开启日志以定位“能登录但不出列表”等问题)local_enable=YESwrite_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESls_recurse_enable=NO(默认即可,除非明确需要 -R)三 权限与可见性控制
sudo chmod 755 /home/ftpusersudo chown ftpuser:ftpuser /home/ftpuser -Rchroot_local_user=YES,且需用户主目录可写,设置 allow_writeable_chroot=YES;更安全的做法是仅对“上传子目录”授予写权限,主目录保持不可写。anonymous_enable=YES),应将匿名根目录(如 /srv/ftp)权限设为 755,并对需要上传的子目录单独赋权,避免权限过宽。四 防火墙与被动模式端口
sudo ufw allow 21/tcppasv_min_port=10000、pasv_max_port=10100sudo ufw allow 10000:10100/tcp五 测试与排障
ftp localhost,登录后执行 ls 或 dir 查看是否出列表。/var/log/kern.log 的拒绝记录)、或客户端在被动模式下未放行端口段。pasv_min_port/pasv_max_port 与防火墙规则一致,并确认云安全组/边界防火墙已放行。