Home | History | Annotate | Line # | Download | only in skey
skeyaudit.sh revision 1.3
      1 #!/bin/sh
      2 #
      3 #	$NetBSD: skeyaudit.sh,v 1.3 2000/07/07 15:19:09 mjl Exp $
      4 #
      5 # This script will look thru the skeykeys file for
      6 # people with sequence numbers less than LOWLIMIT=12
      7 # and send them an e-mail reminder to use skeyinit soon
      8 # 
      9 
     10 AWK=/usr/bin/awk
     11 GREP=/usr/bin/grep
     12 ECHO=/bin/echo
     13 KEYDB=/etc/skeykeys
     14 LOWLIMIT=12
     15 ADMIN=root
     16 SUBJECT="Reminder: Run skeyinit"
     17 HOST=`/bin/hostname`
     18 
     19 
     20 if [ "$1" != "" ]
     21 then
     22  LOWLIMIT=$1
     23 fi
     24 
     25 
     26 # an skeykeys entry looks like
     27 #   jsw 0076 la13079          ba20a75528de9d3a
     28 #   #oot md5 0005 aspa26398        9432d570ff4421f0  Jul 07,2000 01:36:43
     29 #   mjl sha1 0099 alpha2           459a5dac23d20a90  Jul 07,2000 02:14:17
     30 # the sequence number is the second (or third) entry
     31 #
     32 
     33 SKEYS=`$AWK '/^#/ {next} {if($2 ~ /^[0-9]+$/) print $1,$2,$3; else print $1,$3,$4; }' $KEYDB`
     34 
     35 set -- ${SKEYS}
     36 
     37 while [ "X$1" != "X" ]; do
     38   USER=$1
     39   SEQ=$2
     40   KEY=$3
     41   shift 3
     42 echo "$USER -- $SEQ -- $KEY"
     43   if [ $SEQ -lt $LOWLIMIT ]; then
     44     if [ $SEQ -lt  3 ]; then
     45       SUBJECT="IMPORTANT action required"
     46     fi
     47     (
     48     $ECHO "You are nearing the end of your current S/Key sequence for account $i"
     49     $ECHO "on system $HOST."
     50     $ECHO ""
     51     $ECHO "Your S/key sequence number is now $SEQ.  When it reaches zero you"
     52     $ECHO "will no longer be able to use S/Key to login into the system.  "
     53     $ECHO " "
     54     $ECHO "Use \"skeyinit -s\" to reinitialize your sequence number."
     55     $ECHO ""
     56     ) | /usr/bin/Mail -s "$SUBJECT"  $USER $ADMIN
     57   fi
     58 done
     59