Hello,
I wrote a small script for userconf (part of linuxconf, the
redhat-system-manager), which will update some qmail-entries each time a
user is created/deleted.
What it'll do:
- create/delete a new entry in /var/qmail/users/mailnames to automatically
send redirect mail for [EMAIL PROTECTED] to the useraccount
- create/delete an entry in .qmail-alle (may be changed) for messages to
all users of the machine.
- create/delete a link from $HOME/Mailbox to /var/spool/mail/$USER for older
pop/imap/mail-clients
To install:
- copy somewhere, make a link from useradd.local to userdel.local
- configure userconf to execute user(add|del).local after creating/deleting
an account
Any comments are welcome!
Regards
Mirko
#!/bin/sh
. /usr/lib/linuxconf/lib/accountcmd.sh
PATH="/var/qmail/bin:$PATH"
mCMD="$(basename $0)"
HOMEDIR="/$HOMEDIR"
ALIAS_ALL=/var/qmail/alias/.qmail-alle
F_ASSIGN=/var/qmail/users/assign
F_MAILNS=/var/qmail/users/mailnames
F_PASSWD=/etc/passwd
NAME_ALIAS=$(echo "$NAME" | sed 's/\ /\./')
{
case "$mCMD" in
useradd.local)
echo " ""Create alias: $NAME_ALIAS -> $USERID"
echo "$USERID:$USERID:$NAME_ALIAS" >> $F_MAILNS
echo " ""Create $ALIAS_ALL-entry: $USERID"
echo $USERID >> $ALIAS_ALL
echo " ""Create link $HOMEDIR/Mailbox ->
/var/spool/mail/$USERID"
ln -sf $HOMEDIR/Mailbox /var/spool/mail/$USERID
chown alias.nofiles $ALIAS_PATH/.*
;;
userdel.local)
echo " ""Delete alias: $NAME_ALIAS"
sed '/^'$USERID':/d' $F_MAILNS > $F_MAILNS.tmp && {
cp -f $F_MAILNS.tmp $F_MAILNS
rm -f $F_MAILNS.tmp
}
echo " ""Delete $ALIAS_ALL-entry: $USERID"
sed '/^'"$USERID"'$/d' $ALIAS_ALL > $ALIAS_ALL.tmp && {
cp -f $ALIAS_ALL.tmp $ALIAS_ALL
rm -f $ALIAS_ALL.tmp
}
echo " ""Delete mail-link /var/spool/mail/$USERID"
rm -f /var/spool/mail/$USERID
;;
esac
qmail-pw2u < $F_PASSWD > $F_ASSIGN
qmail-newu
}
exit 0