diff options
-rw-r--r-- | contrib/README | 2 | ||||
-rw-r--r-- | contrib/yp_nomail.sh | 78 |
2 files changed, 80 insertions, 0 deletions
diff --git a/contrib/README b/contrib/README index 32ec834a9..df68202a4 100644 --- a/contrib/README +++ b/contrib/README @@ -16,3 +16,5 @@ This directory includes: README.Mailif -- Readme describing the mail interface. bugmail_help.html -- User help page for the mail interface. + yp_nomail.sh -- script you can run via cron that regularly updates + the nomail file for terminated employees diff --git a/contrib/yp_nomail.sh b/contrib/yp_nomail.sh new file mode 100644 index 000000000..36bbc82f7 --- /dev/null +++ b/contrib/yp_nomail.sh @@ -0,0 +1,78 @@ +#!/bin/sh +# -*- Mode: ksh -*- +############################################################################## +# $Id: yp_nomail.sh,v 1.1 2000/09/12 23:50:31 cyeh%bluemartini.com Exp $ +# yp_nomail +# +# Our mail admins got annoyed when bugzilla kept sending email +# to people who'd had bugzilla entries and left the company. They +# were no longer in the list of valid email users so it'd bounce. +# Maintaining the 'data/nomail' file was a pain. Luckily, our UNIX +# admins list all the users that ever were, but the people who've left +# have a distinct marker in their password file. For example: +# +# fired:*LK*:2053:1010:You're Fired Dude:/home/loser:/bin/false +# +# This script takes advantage of the "*LK*" convention seen via +# ypcat passwd and dumps those people into the nomail file. Any +# manual additions are kept in a "nomail.(domainname)" file and +# appended to the list of yp lockouts every night via Cron +# +# 58 23 * * * /export/bugzilla/contrib/yp_nomail.sh > /dev/null 2>&1 +# +# Tak ( Mark Takacs ) 08/2000 +# +# XXX: Maybe should crosscheck w/bugzilla users? +############################################################################## + +#### +# Configure this section to suite yer installation +#### + +DOMAIN=`domainname` +MOZILLA_HOME="/export/mozilla" +BUGZILLA_HOME="${MOZILLA_HOME}/bugzilla" +NOMAIL_DIR="${BUGZILLA_HOME}/data" +NOMAIL="${NOMAIL_DIR}/nomail" +NOMAIL_ETIME="${NOMAIL}.${DOMAIN}" +NOMAIL_YP="${NOMAIL}.yp" +FIRED_FLAG="\*LK\*" + +YPCAT="/usr/bin/ypcat" +GREP="/usr/bin/grep" +SORT="/usr/bin/sort" + +########################## no more config needed ################# + +# This dir comes w/Bugzilla. WAY too paranoid +if [ ! -d ${NOMAIL_DIR} ] ; then + echo "Creating $date_dir" + mkdir -p ${NOMAIL_DIR} +fi + +# +# Do some (more) paranoid checking +# +touch ${NOMAIL} +if [ ! -w ${NOMAIL} ] ; then + echo "Can't write nomail file: ${NOMAIL} -- exiting" + exit +fi +if [ ! -r ${NOMAIL_ETIME} ] ; then + echo "Can't access custom nomail file: ${NOMAIL_ETIME} -- skipping" + NOMAIL_ETIME="" +fi + +# +# add all the people with '*LK*' password to the nomail list +# XXX: maybe I should customize the *LK* string. Doh. +# + +LOCKOUT=`$YPCAT passwd | $GREP "${FIRED_FLAG}" | cut -d: -f1 | sort > ${NOMAIL_YP}` +`cat ${NOMAIL_YP} ${NOMAIL_ETIME} > ${NOMAIL}` + +exit + + +# end + |