92 lines
2.1 KiB
Bash
92 lines
2.1 KiB
Bash
|
|
#!/bin/sh -x
|
||
|
|
|
||
|
|
. /usr/home/web/default/petar.company/cfg_apps/petar/petar.cfg
|
||
|
|
|
||
|
|
ACTION=${1}
|
||
|
|
|
||
|
|
OK=" [ <font color=green>OK</font> ]"
|
||
|
|
KO=" [ <font red=green>KO</font> ]"
|
||
|
|
|
||
|
|
cd ${BASEDIR}
|
||
|
|
|
||
|
|
if [ ${ACTION} = "ADD" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
USER=${2}
|
||
|
|
PWD=${3}
|
||
|
|
SHELL=${4}
|
||
|
|
HOMEDIR=${5}
|
||
|
|
EMAIL=${6}
|
||
|
|
|
||
|
|
pw useradd -D -u ${UID} -g ${GID}
|
||
|
|
pw useradd ${USER} -s ${SHELL} -d ${HOMEDIR}/${USER} -c "${EMAIL}" -m
|
||
|
|
echo "${PWD}" | pw usermod -n ${USER} -h 0
|
||
|
|
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ ${ACTION} = "DEL" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
USER=${2}
|
||
|
|
|
||
|
|
pw useradd -D -u ${UID} -g ${GID}
|
||
|
|
pw userdel -r -n ${USER}
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ ${ACTION} = "PWD" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
USER=${2}
|
||
|
|
PWD=${3}
|
||
|
|
|
||
|
|
pw useradd -D -u ${UID} -g ${GID}
|
||
|
|
echo "${PWD}" | pw usermod -n ${USER} -h 0
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ ${ACTION} = "SHL" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
USER=${2}
|
||
|
|
SHELL=${3}
|
||
|
|
|
||
|
|
pw useradd -D -u ${UID} -g ${GID}
|
||
|
|
pw usermod -n ${USER} -s ${SHELL}
|
||
|
|
fi
|
||
|
|
|
||
|
|
# mail-restart
|
||
|
|
if [ ${ACTION} = "MAL" ] || [ ${ACTION} = "FWD" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
( echo -n "cp ${VIRT_FILE} ${VIRT_BAK}" && cp ${VIRT_FILE} ${VIRT_BAK} ) && echo ${OK} || echo ${KO}
|
||
|
|
( echo -n "cp ${LHN_FILE} ${LHN_BAK}" && cp ${LHN_FILE} ${LHN_BAK} ) && echo ${OK} || echo ${KO}
|
||
|
|
echo ""
|
||
|
|
( echo -n "cat ${VIRT_TOP} > ${VIRT_FILE}" && cat ${VIRT_TOP} > ${VIRT_FILE} ) && echo ${OK} || echo ${KO}
|
||
|
|
( echo -n "cat ${LHN_TOP} > ${LHN_FILE}" && cat ${LHN_TOP} > ${LHN_FILE} ) && echo ${OK} || echo ${KO}
|
||
|
|
|
||
|
|
if [ ${ACTION} = "MAL" ];
|
||
|
|
then
|
||
|
|
QUERY1="select email,login,domain from MAILUSER order by domain;";
|
||
|
|
QUERY2="select domain from MAILUSER;"
|
||
|
|
else
|
||
|
|
QUERY1="select email,fwdaddr,domain from FWDUSER order by domain;"
|
||
|
|
QUERY2="select domain from FWDUSER;"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
( echo -n "${QUERY1} > ${VIRT_FILE} " && /usr/local/bin/sqlite3 db/petar.db3 "${QUERY1}" | awk -F '|' 'BEGIN{print "#\n### Petar generated using petar.db3\n#"}{printf "%-30s %s\n", $1, $2 }' >> ${VIRT_FILE} ) && echo ${OK} || echo ${KO}
|
||
|
|
( echo -n "${QUERY2} > ${LHN_FILE}" && /usr/local/bin/sqlite3 db/petar.db3 "${QUERY2}" | sort | uniq > ${LHN_FILE} ) && echo ${OK} || echo ${KO}
|
||
|
|
fi
|
||
|
|
|
||
|
|
# mail-restart
|
||
|
|
if [ ${ACTION} = "SRV" ]
|
||
|
|
then
|
||
|
|
|
||
|
|
cd /etc/mail
|
||
|
|
make && echo ${OK} || echo ${KO}
|
||
|
|
echo ""
|
||
|
|
make install && echo ${OK} || echo ${KO}
|
||
|
|
echo ""
|
||
|
|
make restart && echo ${OK} || echo ${KO}
|
||
|
|
|
||
|
|
fi
|