在 Ubuntu 上监控 FTP 服务器,通常取决于你用的是哪种 FTP 服务(最常用的是 vsftpd,也可能是 ProFTPD / Pure-FTPd)。下面以 vsftpd 为主,给你一套从“基础查看”到“持续监控”的实用方案。
systemctl status vsftpd
或(旧版本)
service vsftpd status
ss -tunlp | grep 21
# 或
netstat -tunlp | grep 21
ftpwho
(vsftpd 默认不支持,ProFTPD 支持;vsftpd 可用下面方式)
ss -tnp | grep :21
或
lsof -i :21
ps aux | grep vsftpd
/var/log/vsftpd.log
若没有,检查:
/var/log/syslog
tail -f /var/log/vsftpd.log
编辑配置文件:
sudo vim /etc/vsftpd.conf
确保有以下内容:
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
重启服务:
sudo systemctl restart vsftpd
sudo apt install fail2ban
配置文件:
/etc/fail2ban/jail.local
示例:
[vsftpd]
enabled = true
port = 21
logpath = /var/log/vsftpd.log
maxretry = 5
#!/bin/bash
if ! systemctl is-active --quiet vsftpd; then
echo "FTP server down!" | mail -s "FTP Alert" admin@xxx.com
systemctl restart vsftpd
fi
加入 crontab:
* * * * * /opt/ftp_monitor.sh
ftpwho、/var/log/proftpd/pure-ftpwho如果你能告诉我:
我可以直接给你定制监控方案。