Cyrus-SASL и хранение паролей в зашифрованном виде

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
begemoto
рядовой
Сообщения: 12
Зарегистрирован: 2008-01-13 13:20:33

Cyrus-SASL и хранение паролей в зашифрованном виде

Непрочитанное сообщение begemoto » 2008-04-19 12:44:23

Добрый день. Столкнулся с такой проблемой. Ставлю Postfix с авторизацией через Cyrus-SASL. Система - FreeBSD 6.2. В качестве back-end для SASL использую BerkleyDB.
По умолчанию SASL хранит пароли в базе в открытом виде. При этом к файлу базы права заданы на чтение для группы mail, в которую входит и postfix и cyrus. А это совсем не секьюрно!
Для исправления этого - ставлю патч отсюда: http://frost.ath.cx/software/cyrus-sasl-patches/

И все бы ничего, но теперь, при создания пользователя командой saslpasswd2 пароль необходимо указывать в зашифрованном виде. Патченный SASL понимает зашифрованные пароли следующих видов (со страницы патча):

Код: Выделить всё

crypt - passwords are stored as modular crypt hashes (md5 or blowfish crypt) 
crypt_trad - passwords are stored as des crypt hashes (2 character salt crypt)


Собственно вопрос, как из шела сгенерить зашифрованный пароль, который поймет патч?
Пытался делать

Код: Выделить всё

perl -e 'print crypt(123,"");'
но функции crypt нужен второй аргумент, а где его взять?
Насколько я разобрался, в случае использования mySQL в качестве back-end, там применяется евойная функция encrypt(), которому тоже необходим второй аргумент.
Посмотрел сам патч - там все просто, но в качестве второго аргумента функции crypt, используются первые 12 или 16 символов уже зашифрованого пароля функцией crypt. Заколдованный круг получается!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/