diff -up logwatch-7.3.6/scripts/services/sshd.pom logwatch-7.3.6/scripts/services/sshd
--- logwatch-7.3.6/scripts/services/sshd.pom 2007-10-12 12:21:26.000000000 +0200
+++ logwatch-7.3.6/scripts/services/sshd 2007-10-12 13:01:22.000000000 +0200
@@ -172,6 +172,8 @@ my %KrbErr = ();
my @BadRSA = ();
my @Scanned = ();
my %OtherList = ();
+my %ChmodErr = ();
+my %ChownErr = ();
my $sftpRequests = 0;
my $NetworkErrors = 0;
@@ -355,6 +357,11 @@ while (defined(my $ThisLine = <STDIN>))
$KrbErr{"error removing file " . $Error}++;
} elsif ( my ($Pom,$Error) = ($ThisLine =~ /pam_krb5(\[\d*\]): error resolving user name '[^ ]*' to uid\/gid pai/)) {
$KrbErr{"error resolving user name '$Error' to uid\/gid pai"}++;
+ # error: chmod /dev/pts/0 0666 failed: Permission denied
+ } elsif (my ($File,$Perm,$Why) = ($ThisLine =~ /error: chmod (.*) (.*) failed: (.*)/)) {
+ $ChmodErr{"$File,$Perm,$Why"}++;
+ } elsif (my ($File,$From,$To,$Why) = ($ThisLine =~ /error: chown (.*) (.*) (.*) failed: (.*)/)) {
+ $ChownErr{"$File,$From,$To,$Why"}++;
} else {
# Report any unmatched entries...
unless ($ThisLine =~ /fwd X11 connect/) {
@@ -637,6 +644,23 @@ if ($sftpRequests > 0) {
print "\nSFTP subsystem requests: $sftpRequests Time(s)\n";
}
+if (keys %ChmodErr) {
+ print "\nChmod errors:\n";
+ foreach (keys %ChmodErr) {
+ my ($File,$Perm,$Why)= split ",";
+ print " " . $File . " " . $Perm . " failed(" . $Why . "): ". $ChmodErr{"$File,$Perm,$Why"} . " Time(s)\n";
+ }
+}
+
+if (keys %ChownErr) {
+ print "\nChown errors:\n";
+ foreach (keys %ChownErr) {
+ my ($File,$From,$To,$Why)= split ",";
+ print " " . $File . " " . $From . " " .$To . " failed(" . $Why . "): ". $ChmodErr{"$File,$From,$To,$Why"} . " Time(s)\n";
+ }
+}
+
+
if (keys %OtherList) {
print "\n**Unmatched Entries**\n";
print "$_ : $OtherList{$_} time(s)\n" foreach keys %OtherList;