Son aktivite 6 months ago

root bu gisti düzenledi 6 years ago. Düzenlemeye git

1 file changed, 0 insertions, 0 deletions

Boş dosya

waja bu gisti düzenledi 7 years ago. Düzenlemeye git

1 file changed, 52 insertions

createsasluser.sh(dosya oluşturuldu)

@@ -0,0 +1,52 @@
1 + #!/bin/bash
2 +
3 + [ -f /etc/dehydrated/hook.sh ] && . /etc/dehydrated/hook.sh
4 +
5 + SASLDBFILE="/var/spool/postfix/etc/sasldb2"
6 + SASLDBPASSWD="$(/usr/bin/which saslpasswd2)"
7 + SASLDBLISTUSER="$(/usr/bin/which sasldblistusers2)"
8 + LOGFILE="/var/log/sasl/createsasluser.log"
9 + RSYNC="$(/usr/bin/which rsync)"
10 + PWGEN="$(/usr/bin/which pwgen)"
11 + DEFAULTDOMAIN="$(head -1 /etc/dehydrated/domains.txt | awk {'print $1'})"
12 + SYNC="1"
13 +
14 + while [[ ! ${USERNAME} || -z "${USERNAME}" ]]; do
15 + read -p 'Username: ' USERNAME
16 + done
17 + while [[ ! ${DOMAIN} || -z "${DOMAIN}" ]]; do
18 + read -e -i "${DEFAULTDOMAIN}" -p "Domain: " DOMAIN
19 + DOMAIN=${DOMAIN:-$DEFAULTDOMAIN}
20 + done
21 + PASSAUTO="$(${PWGEN} -nc 14 -1)"
22 + while [[ ! ${PASSWD} || -z "${PASSWD}" ]]; do
23 + read -e -i "$PASSAUTO" -p "Password: " PASSWD
24 + done
25 +
26 + if [ $(${SASLDBLISTUSER} -f ${SASLDBFILE}| grep "^${USERNAME}@${DOMAIN}"| wc -l) -gt 0 ]; then
27 + echo "User ${USERNAME}@${DOMAIN} does already exist"
28 + echo 1
29 + fi
30 +
31 + log() {
32 + [ ! -d "$(dirname ${LOGFILE})" ] && mkdir $(dirname ${LOGFILE})
33 + echo -e "$(date +"%Y-%m-%d %T") Created user ${USERNAME}@${DOMAIN} with Password: ${PASSWD}" >> ${LOGFILE} &&\
34 + chmod 600 ${LOGFILE}
35 + }
36 +
37 + banner(){
38 + echo ""; echo "The new user credentials"; echo "------------------------"
39 + echo "Hostname: ${DOMAIN}"
40 + echo "Username: ${USERNAME}@${DOMAIN}"
41 + echo "Password: ${PASSWD}"
42 + echo "Protocol: Submission (Port 587), StartSSL mandatory"
43 + }
44 +
45 + echo ${PASSWD} | ${SASLDBPASSWD} -p -c -f ${SASLDBFILE} -u ${DOMAIN} ${USERNAME} && \
46 + chmod 0660 ${SASLDBFILE} && \
47 + chown root:sasl ${SASLDBFILE} && \
48 + log && banner && \
49 + [ "${SYNC}" = "1" ] && \
50 + for HOST in ${HOSTS}; do
51 + ${RSYNC} --delete -aze 'ssh' ${SASLDBFILE} ${HOST}:${SASLDBFILE}
52 + done
Daha yeni Daha eski