DirectAdmin - это удобная панель управления хостингом. Легкость в настройке, легкость в использовании!
ДиректАдмин - это самая быстрая и нересурсоемкая панель из всех существующих коммерческих панелей управления для хостинга. Бесплатные и регулярные обновления версии панели DirectAdmin на протяжении всего времени ее использования заметно выделяют ее среди других.



Групповая смена паролей от почтовых ящиков

25.05.14 03:02

Если по каким-то причинам понадобилось сменить пароли сразу для всех почтовых ящиков на домене, то здесь приводится скрипт, позволящий это сделать быстро.

ВНИМАНИЕ: На данный момент скрипт поддерживает только дефолтный формат файла почтовых паролей *.

И вот собственно сам скрипт (минимальная версия с минимальным функционалом):

#!/bin/bash
##
## Версия 0.1 @dahelp.ru, 2014-05-25
##

passlen=16;

print_usage()
{
    echo "Usage $0 <domain>";
}

gen_pass()
{
    openssl rand -base64 32 | sha256sum | base64 | head -c $passlen ; echo
}

if [ "$1" == "" ]; then
    print_usage;
    exit 1;
else
    domain=$1;
fi;

if [ ! -d "/etc/virtual/$domain" ]; then
    echo "[ERROR] Domain $domain was not found";
else
    echo "[OK] Domain $domain was found";
fi;

if [ ! -f "/etc/virtual/$domain/passwd" ]; then
    echo "[ERROR] Password file for domain $domain was not found";
else
    echo "[OK] Password file for domain $domain was found";
    cp -fp "/etc/virtual/$domain/passwd" "/etc/virtual/$domain/passwd~";
fi;

rm -f "/etc/virtual/$domain/passwd~new" >/dev/null 2>&1;

for line in `cat /etc/virtual/$domain/passwd`;
do
{
    #echo $line;
    email=`echo $line | cut -d\: -f1`;
    oldpass=`echo $line | cut -d\: -f2`;
    newpass=`gen_pass`;
    f3=`echo $line | cut -d\: -f3`;
    f4=`echo $line | cut -d\: -f4`;
    f5=`echo $line | cut -d\: -f5`;
    f6=`echo $line | cut -d\: -f6`;
    f7=`echo $line | cut -d\: -f7`;
    echo "Login: $email@$domain Password: $newpass";
    hash=`openssl passwd -1 $newpass`;
    newline="$email:$hash:$f3:$f4:$f5:$f6:$f7";
    echo $newline >> "/etc/virtual/$domain/passwd~new";
}
done;

if [ -f "/etc/virtual/$domain/passwd~new" ]; then
    cp -p "/etc/virtual/$domain/passwd~new" "/etc/virtual/$domain/passwd";
    chmod 600 "/etc/virtual/$domain/passwd";
    chown mail:mail "/etc/virtual/$domain/passwd";
    rm -f "/etc/virtual/$domain/passwd~new" >/dev/null 2>&1;
fi;

exit 0;

Сохраняем все в bulk_change_email_pass.sh, выставляем права на запуск не менее 700 и запускаем  скрипт:

./bulk_change_email_pass.sh dahelp.ru

Где вместо dahelp.ru указываем свой домен, пароли от почтовых ящиков на котором вы хотите сменить.  В процессе выполнения скрипта новые пары логин-пароль будут выведены в консоль. Если на домене много почтовых аккаунтов, то вывод лучше всего перенаправить в файл:

./bulk_change_email_pass.sh dahelp.ru > ~/email_passwords.txt

* Поддержка квот должна быть выключена. А строка в файле паролей для каждого виртуального аккаунта должна выглядеть примерно так:

fred:$1$SdbJQZ6r$R5FmKrayU3FvPksLTd.7X0:501:12::/home/username/imap/domain.com/fred/bin/false

Т.е. параметр add_userdb_quota должен быть выставлен в 0 (add_userdb_quota=0). Добавить в скрипт поддержку квот ничего сложного, если это потребуется можно сделать и самостоятельно. 





Рубрики: Почта Dovecot Безопасность Exim


« На какие ОС можно установить Directadmin?  | В начало |  Включение поддержки квот в Dovecot »



Вам нужна помощь или консультация по данному руководству?! Задайте свой вопрос на форуме. Вам нужен профессионал?! Воспользуйтесь услугами системного администратора для работ по вашему серверу. Мы поможем вам с переездом, настройкой, оптимизацией сервисов, равно как и с другими вопросами по части Linux/Unix.







   Все права на панель управления Directadmin принадлежат разработчику © DirectAdmin, JBMC Software, Canada
   К вашим услугам плагины для Директадмин - панели управления хостингом
   Лучшее предложение по установке, поддержке Directadmin на CentOS/RedHat, Debian/Ubuntu, FreeBSD.
   Профессиональное абонентское обслуживание серверов: выделенных и виртуальных на базе Linux/Unix.
   Услуги системного администратора по настройке WEB сервера Apache (NGINX), DNS службы, POP3 (IMAP) и SMTP, FTP.
 Copyright, 2017 © DAHELP.RU, all rights reserved.
Работает на Amiro CMS - Free