Такой себе маааленький простенький скрипт,позволяющий автоматизировать почти все действия по добавлению нового почтового ключа в opendkim. Идет как дополнение к предыдущей статье, и расчитан на те же настройки что приведены там.Скрипт сам добавляет записи куда надо и создает ключ,а так же отображает открытый ключ для добавление его в ТХТ запись доменного имени,а так же перезагружает демон opendkim для принятия новых настроек.
Просто создайте файл с любым именем,след.содержимым и дайте ему права на исполнение:
#!/bin/bash
if [ «$1» = «» ]; then
echo «Не верно указаны параметры. Формат: adddkim site.com»
exit
fi
ME=`whoami`
if [ «$ME» != ‘root’ ]; then
echo «Запустите с правами root!»
exit
fi
EC=»0″;
mkdir /etc/opendkim/$1
if [ «$?» != «0» ]; then
echo «Ошибка создания папки /etc/opendkim/$1. Прерываю выполнение»
EC=»1″
exit;
fi
opendkim-genkey -D /etc/opendkim/$1/ -d $1 -s default
if [ «$?» != «0» ]; then
echo «Ошибка создания ключей. Прерываю выполнение»
EC=»1″
exit;
fi
mv /etc/opendkim/$1/default.private /etc/opendkim/$1/default
if [ «$?» != «0» ]; then
echo «Ошибка переименования файла ключа. Прерываю выполнение»
EC=»1″
exit;
fi
chown -R opendkim:opendkim /etc/opendkim/$1
if [ «$?» != «0» ]; then
echo «Ошибка смены владельца папки и ключа. Продолжаю,но с ошибкой.»
EC=»2″
fi
echo «default._domainkey.$1 $1:default:/etc/opendkim/$1/default» >> /etc/opendkim/KeyTable
if [ «$?» != «0» ]; then
echo «Ошибка добавления в список KeyTable. Прерываю выполнение»
EC=»1″
exit;
fi
echo «*@$1 default._domainkey.$1» >> /etc/opendkim/SigningTable
if [ «$?» != «0» ]; then
echo «Ошибка добавления в список SigningTable. Прерываю выполнение»
EC=»1″
exit;
fi
echo «$1» >> /etc/opendkim/TrustedHosts
if [ «$?» != «0» ]; then
echo «Ошибка добавления в список TrustedHosts. Прерываю выполнение»
EC=»1″
exit;
fi
if [ $EC == «0» ]; then
echo «Запись успешно добавлена!»
cat /etc/opendkim/$1/default.txt
/etc/init.d/opendkim restart
fi
if [ $EC == «1» ]; then
echo «Завершено с критическими ошибками.Запись не добавлена!»
fi
if [ $EC == «2» ]; then
echo «Запись успешно добавлена,но в процессе возникли не критические ошибки!»
cat /etc/opendkim/$1/default.txt
/etc/init.d/opendkim restart
fi
Просто,но работает )))
З.ы,При копипасте отсюда,не забывайте про козлячий прикол вордпресса и кавычек.Отсюда они скопируются не такие как надо bash’у.Это если вдруг откажется работать скрипт)