在Ubuntu上设置和监控FTP服务器(如vsftpd)涉及几个步骤,包括安装服务器、配置日志记录以及监控服务器的性能和活动。以下是详细的步骤指南:
首先,确保你的系统是最新的:
sudo apt update
sudo apt upgrade
然后安装vsftpd:
sudo apt install vsftpd
编辑vsftpd的配置文件 /etc/vsftpd.conf:
sudo nano /etc/vsftpd.conf
确保以下配置项被正确设置:
listen=YES:启用监听模式。listen_ipv6=NO:禁用IPv6支持(如果不需要)。anonymous_enable=NO:禁止匿名用户登录。local_enable=YES:允许本地用户登录。write_enable=YES:允许写操作。chroot_local_user=YES:将本地用户限制在其主目录中。allow_writeable_chroot=YES:允许chroot目录可写。保存并退出编辑器。
vsftpd的日志记录可以通过修改 /etc/rsyslog.d/50-default.conf 文件来配置。编辑该文件:
sudo nano /etc/rsyslog.d/50-default.conf
找到以下行并取消注释(删除行首的 #):
auth,authpriv.*                 /var/log/auth.log
然后重启rsyslog服务以应用更改:
sudo systemctl restart rsyslog
tail 命令实时查看日志你可以使用 tail 命令实时查看FTP日志:
sudo tail -f /var/log/auth.log
grep 过滤日志如果你只想查看特定用户的登录信息,可以使用 grep:
sudo grep 'ftp' /var/log/auth.log
netstat 或 ss 查看FTP连接你可以使用 netstat 或 ss 命令查看当前的FTP连接:
sudo netstat -tuln | grep ftp
或者
sudo ss -tuln | grep ftp
lsof 查看打开的文件你可以使用 lsof 命令查看FTP服务器打开的文件:
sudo lsof -i :21
top 或 htop 监控系统资源你可以使用 top 或 htop 命令监控系统的CPU和内存使用情况:
sudo top
或者
sudo htop
为了防止日志文件过大,可以设置定时任务进行日志轮转。编辑 /etc/logrotate.d/vsftpd 文件:
sudo nano /etc/logrotate.d/vsftpd
添加以下内容:
/var/log/auth.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 root adm
}
保存并退出编辑器。
通过以上步骤,你可以在Ubuntu上设置和监控FTP服务器,并确保日志记录和系统资源的有效管理。