home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/bin/perl
-
- $PIPE = "|/usr/lib/sendmail -oi -t";
- #$PIPE = "|/bin/cat";
-
- $SIG{'PIPE'} = 'plumber';
- sub plumber { die "$0: broken PIPE talking to sendmail!\n"; }
-
-
- while (<>) {
- next unless /^Problem/;
- chop;
- split;
- for ( @_ ) { s/.*://; }
-
- $nullpw = /null passwd/;
-
- ($user,$host,$passwd) =
- $nullpw ? ($_[2], $_[3], ' ')
- : ($_[1], $_[2], $_[3]);
-
- printf "user %-8s has passwd %-8s on host %s\n",
- $user, $passwd, $host;
-
- next if $user =~ /uucp/;
-
- open PIPE || die "$0: couldn't open $PIPE: $!\n";
-
- printf PIPE "From: Security Auditor <daemon>\n";
- printf PIPE "To: %s\n", $user;
-
- if ($nullpw) {
- printf PIPE "Subject: Your missing passwd on %s\n\n", $host;
-
- printf PIPE "On the machine named \"%s\", your password has not\n",
- $host;
- printf PIPE "yet been set. This lets anyone login as you without\n";
- printf PIPE "having to present password, so please try to\n";
- } else {
- printf PIPE "Subject: Your trivial passwd on %s\n\n", $host;
-
- printf PIPE "On the machine named \"%s\", your passwd is \"%s\".\n",
- $host, $passwd;
- printf PIPE "This is considered very easy to guess, so please\n";
- }
- printf PIPE "fix it at your earliest possible convenience.\n";
- printf PIPE "\nOtherwise your account may soon be de-activated!\n";
- printf PIPE "\nThanks,\n\n--daemon\n";
- close PIPE;
- }
-