vpopmail 없이 qmail 만을 이용해서 사용할 때 그나마 좀 편리해지라고 삽질 해봤다.

#!/bin/bash
##################################################
DIR_BASE=/home/MailHome
QM_BIN_DIRMAKE=/var/qmail/bin/maildirmake
QM_DIR_NAME=Maildir
GID=mailusers
if (test -z $1); then
       echo "usage : $0 [mailuserid]"
else
       UID=$1
       DIR_HOME=${DIR_BASE}/${UID}
       DIR_USER_MAIL=${DIR_HOME}/${QM_DIR_NAME}
       useradd -g ${GID} -s /sbin/nologin -d ${DIR_HOME} ${UID}
       RETVAL=$?
       # when account create successfully
       if (test $RETVAL -eq 0); then
               rm -rf ${DIR_HOME}/.[a-zA-Z0-9]*
               ${QM_BIN_DIRMAKE} ${DIR_USER_MAIL}
               chown ${UID}.qmail -R ${DIR_USER_MAIL}
               chmod 770 -R ${DIR_USER_MAIL}
               passwd ${UID}
       fi
fi

추가 과정 :
쉘 접속이 불가능한 계정을 추가한다.
계정 추가에 성공하면:
해당 계정 홈디렉토리에 숨겨진 파일들을 지워버린다.
홈디렉토리 안에 Maildir 을 생성한다(qmail 메일 디렉토리)
생성한 메일디렉토리에 qmail 데몬이 접근할 수 있도록 한다.
추가한 계정의 패스워드를 정한다.

1. 사용자 추가
2. (아이디 중복 등) 사용자 추가에 실패시
3. 사용자 제거
Posted by freezn