#!/bin/sh
#
# This is Phil Moose's script for detecting problem entries
# in a password file.
#
#"ckpasswd" Check system password file for joe's, and /tmp's
# <moose@ctc.csustan.edu> 2/97
# Class: CS4750
#
cat /dev/null > /tmp/no.passwd
#
# Check passwd for "joes"
awk -F: '{ if ($2 == "") print $1,$5 }' /etc/passwd > /tmp/no.passwd
awk -F: '{ if ($2 == " ") print $1,$5 }' /etc/passwd >> /tmp/no.passwd
#
if [ -s /tmp/no.passwd ]; then 
   echo " Password File Security Risk!!! (joe's)"
   cat /tmp/no.passwd
   echo " " 
   rm -f /tmp/no.passwd
 else
   echo " Password File does not contain any joe's..."
   echo " "
fi
#----------------------------------------------------------------
# Check Password file for "/tmp"
cat /dev/null > /tmp/no.passwd
#
awk -F: '{ if ($7 == "/tmp") print $1,$5 }' /etc/passwd > /tmp/no.passwd
#
if [ -s /tmp/no.passwd ]; then 
   echo " Password File Security Risk!!! (Shell /tmp's)"
   cat /tmp/no.passwd
   echo " " 
   rm -f /tmp/no.passwd
 else
   echo " Password File does not contain Shell /tmp's..."
   echo " "
fi
#----------------------------------------------------------
# Checking for users with UID 0
cat /dev/null > /tmp/no.passwd
awk -F: '{ if ($3 == "0") print $1,$5 }' /etc/passwd > /tmp/no.passwd
if [ -s /tmp/no.passwd ]; then
   echo " Password File -- Users with UID 0"
   cat /tmp/no.passwd
   rm -f /tmp/no.passwd
   echo " "
fi 
#
#----------------------------------------------------------
# Checking Home Dir.'s for "/tmp"
cat /dev/null > /tmp/no.passwd
#
awk -F: '{ if ($6 == "/tmp") print $1,$5 }' /etc/passwd > /tmp/no.passwd
#
if [ -s /tmp/no.passwd ]; then
   echo " Password File Security Risk!!! (Home Dir. /tmp's)"
   cat /tmp/no.passwd
   echo " " 
   rm -f /tmp/no.passwd
 else
   echo " Password File does not contain Home Dir. /tmp's..."
   echo " "
   rm -f /tmp/no.passwd
fi    

