Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
#!/bin/bash
# Written by NONO. http://www.asahi-net.or.jp/~aa4t-nngk/
#
# The directory in which you are going to install qmail. Change if using an unusual path.
QMAILDIR="/var/qmail"
# Set your favorite uid, gid number you want to begin with. Other ids will be calculated consequently.
NOFILESGID=600
ALIASUID=600
# Here we go!
QMLGID=`expr $NOFILESGID + 1`
QMAILD=`expr $ALIASUID + 1`
QMAILL=`expr $ALIASUID + 2`
QMAILP=`expr $ALIASUID + 3`
QMAILQ=`expr $ALIASUID + 4`
QMAILR=`expr $ALIASUID + 5`
QMAILS=`expr $ALIASUID + 6`
OPT="-m -k /dev/null -s /sbin/nologin"
if [ `id -u` != 0 ]; then
echo 'Error: only root can do this. Do "su -" before run this script !'
exit 1
fi
GIDS=($NOFILESGID $QMLGID)
UIDS=($ALIASUID $QMAILD $QMAILL $QMAILP $QMAILQ $QMAILR $QMAILS)
echo -n 'Testing existent gids....'
for I in $GIDS; do
RET=`cat /etc/group |egrep "^[^:]+:[^:]+:\$I"`
if [ "$RET" != "" ]; then
echo '[Error]'
echo " :gid $I already exists. Exiting.."
exit 1
fi
done
echo '[OK]'
echo -n 'Testing existent uids....'
for I in $UIDS; do
RET=`cat /etc/passwd |egrep "^[^:]+:[^:]+:\$I"`
if [ "$RET" != "" ]; then
echo '[Error]'
echo " :uid $I already exists. Exiting.."
exit 1
fi
done
echo '[OK]'
groupadd -g $NOFILESGID nofiles
groupadd -g $QMLGID qmail
[ -d $QMAILDIR ] || mkdir $QMAILDIR
useradd -u $ALIASUID -g nofiles -d ${QMAILDIR}/alias $OPT alias
useradd -u $QMAILD -g nofiles -d ${QMAILDIR} $OPT qmaild
useradd -u $QMAILL -g nofiles -d ${QMAILDIR} $OPT qmaill
useradd -u $QMAILP -g nofiles -d ${QMAILDIR} $OPT qmailp
useradd -u $QMAILQ -g qmail -d ${QMAILDIR} $OPT qmailq
useradd -u $QMAILR -g qmail -d ${QMAILDIR} $OPT qmailr
useradd -u $QMAILS -g qmail -d ${QMAILDIR} $OPT qmails
# Show result
echo '+++++ GIDs made +++++'
cat /etc/group |egrep '^(nofiles|qmail)'
echo '+++++ UIDs made +++++'
cat /etc/passwd |egrep '^(alias|qmail)'
# Done
exit 0