File: //opt/BCLinux/bse/secure_check/c09_loginDefs
#!/bin/sh
#=======================================================
InsertSection "check the PASS_MAX_DAYS set in /etc/login.defs"
IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MAX_DAYS"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
Display --indent 2 --text "- PASS_MAX_DAYS value is unset... " --result WARNING --color RED
AddHP 0 1
fi
cat /etc/login.defs |grep -w "PASS_MAX_DAYS" | grep -v "#" | awk -F " " '{print $2}' |while read count
do
if [ -z $count ];then
Display --indent 2 --text "- PASS_MAX_DAYS value is unset... " --result WARNING --color RED
AddHP 0 1
elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
if [ $count -gt 90 ];then
#tips="密码最大有效期限为90天未正确设置";
#echo "$S4:$tips"
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_01: $(loadtext TXT_WRN_C09_01)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_01)"
Display --indent 2 --text "- PASS_MAX_DAYS value is not safe... " --result WARNING --color RED
AddHP 0 1
else
logtext "PASS_MAX_DAYS value is safe, checking ok"
Display --indent 2 --text "- Check the PASS_MAX_DAYS value... " --result OK --color GREEN
AddHP 1 1
fi
else
logtext "PASS_MAX_DAYS value is invalid"
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_02: $(loadtext TXT_WRN_C09_02)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_02)"
Display --indent 2 --text "- PASS_MAX_DAYS value is invalid... " --result WARNING --color RED
AddHP 0 1
fi
done
#=======================================================
InsertSection "check the PASS_MIN_DAYS set in /etc/login.defs"
IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MIN_DAYS"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_03: $(loadtext TXT_WRN_C09_03)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_03)"
Display --indent 2 --text "- PASS_MIN_DAYS value is unset... " --result WARNING --color RED
AddHP 0 1
else
cat /etc/login.defs |grep -w "PASS_MIN_DAYS" | grep -v "#" | awk -F " " '{print $2}' |while read count
do
if [ -z $count ];then
Display --indent 2 --text "- PASS_MIN_DAYS value is unset... " --result WARNING --color RED
AddHP 0 1
elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
if [ $count -lt 6 ];then
#tips="密码最小间隔期限为6天未正确设置";
#echo "$S4:$tips"
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_04: $(loadtext TXT_WRN_C09_04)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_04)"
Display --indent 2 --text "- PASS_MIN_DAYS value is not safe... " --result WARNING --color RED
AddHP 0 1
else
logtext "PASS_MIN_DAYS value is safe, checking ok"
Display --indent 2 --text "- Check the PASS_MIN_DAYS value... " --result OK --color GREEN
AddHP 1 1
fi
else
logtext "PASS_MIN_DAYS value is invalid"
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_05: $(loadtext TXT_WRN_C09_05)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_05)"
Display --indent 2 --text "- PASS_MIN_DAYS value is invalid... " --result WARNING --color RED
AddHP 0 1
fi
done
fi
#=======================================================
InsertSection "check the PASS_MIN_LEN set in /etc/login.defs"
IS_EXIST=`cat /etc/login.defs | grep -w "PASS_MIN_LEN"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_06: $(loadtext TXT_WRN_C09_06)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_06)"
Display --indent 2 --text "- PASS_MIN_LEN value is unset... " --result WARNING --color RED
AddHP 0 1
fi
cat /etc/login.defs |grep -w "PASS_MIN_LEN" | grep -v "#" | awk -F " " '{print $2}' |while read count
do
if [ -z $count ];then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_07: $loadtext TXT_WRN_C09_07)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_07)"
Display --indent 2 --text "- PASS_MIN_LEN value is unset... " --result WARNING --color RED
AddHP 0 1
elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
if [ $count -lt 8 ];then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_08: $(loadtext TXT_WRN_C09_08)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_08)"
Display --indent 2 --text "- PASS_MIN_LEN value is not safe... " --result WARNING --color RED
AddHP 0 1
else
logtext "PASS_MIN_LEN value is safe, checking ok"
Display --indent 2 --text "- Check the PASS_MIN_LEN value... " --result OK --color GREEN
AddHP 1 1
fi
else
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_09: $(loadtext TXT_WRN_C09_09)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_09)"
logtext "PASS_MIN_LEN value is invalid"
Display --indent 2 --text "- PASS_MIN_LEN value is invalid... " --result WARNING --color RED
AddHP 0 1
fi
done
#=======================================================
InsertSection "check the PASS_WARN_AGE set in /etc/login.defs"
IS_EXIST=`cat /etc/login.defs | grep -w "PASS_WARN_AGE"|grep -v "#" | wc -l`
if [ "${IS_EXIST}" = "0" ] ; then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_10: $(loadtext TXT_WRN_C09_10)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_10)"
Display --indent 2 --text "- PASS_WARN_AGE value is unset... " --result WARNING --color RED
AddHP 0 1
else
cat /etc/login.defs |grep -w "PASS_WARN_AGE" | grep -v "#" | awk -F " " '{print $2}' |while read count
do
if [ -z $count ];then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_11: $(loadtext TXT_WRN_C09_11)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_11)"
Display --indent 2 --text "- PASS_WARN_AGE value is unset... " --result WARNING --color RED
AddHP 0 1
elif [ -z `echo $count | sed 's/[0-9]//g'` ];then
if [ $count -lt 30 ];then
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_12: $(loadtext TXT_WRN_C09_12)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_12)"
Display --indent 2 --text "- PASS_WARN_AGE value is not safe... " --result WARNING --color RED
AddHP 0 1
else
logtext "PASS_WARN_AGE value is safe, checking ok"
Display --indent 2 --text "- Check the PASS_WARN_AGE value... " --result OK --color GREEN
AddHP 1 1
fi
else
echo "c09" >> $RESULT_FILE
echo "" >> $RESULT_FILE
logtext "WRN_C09_13: $(loadtext TXT_WRN_C09_13)"
logtext "Suggestion: $(loadtext TXT_SUG_C09_13)"
logtext "PASS_WARN_AGE value is invalid"
Display --indent 2 --text "- PASS_WARN_AGE value is invalid... " --result WARNING --color RED
AddHP 0 1
fi
done
fi