私は、vsftpdからのsyslogエントリをlogwatchで圧縮しようとしています。
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator
... many many times
に
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator : 125 time(s)
どうやってやるの?
ログウォッチをアップグレードします。新しいログウォッチスクリプトは自動的にそれを行います。
使用しているLinux/Unixのバージョンとディストリビューション、およびlogwatchのバージョンは何ですか? Redhat 4 --logwatch 5.2.2を実行していますが、vsftpスクリプト(/etc/log.d/scripts/services/vsftp)には次のものがあります。
if (keys %FailedLogins) {
print "\nFailed FTP Logins:\n";
foreach $ThisOne (keys %FailedLogins) {
print $ThisOne . $FailedLogins{$ThisOne} . " Time(s)\n";
}
}
スクリプトの前半では、各ユーザーの失敗を合計しています。
uniqがこれを行います。フォーマットを制御できるとは思いませんが、awkで簡単に修正できます。
#echo -e "two\ntwo\none\ntwo\ntwo" | uniq -c 2 two 1 one 2 two
私はあなたがあなたの例に持っていないタイムスタンプを気にしないと仮定しています。