web-dev-qa-db-ja.com

logwatchを使用したvsftpd障害のグループ化

私は、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)

どうやってやるの?

3
Robert Munteanu

ログウォッチをアップグレードします。新しいログウォッチスクリプトは自動的にそれを行います。

1

使用している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";
   }
}

スクリプトの前半では、各ユーザーの失敗を合計しています。

1
Swoogan

uniqがこれを行います。フォーマットを制御できるとは思いませんが、awkで簡単に修正できます。

#echo -e "two\ntwo\none\ntwo\ntwo" | uniq -c 
 2 two 
 1 one 
 2 two 

私はあなたがあなたの例に持っていないタイムスタンプを気にしないと仮定しています。

0
David Pashley