>Ну уж точно не sendmail...
>Глянь http://xmailserver.org/
а при чем тут sendmail!?
было:
"сообщение от NeoHack on 25-qNW-02, 17:07 ()
как мне организовать постовый сервер так чтобы
не приходилось заводить account в master.passwd
для клиентов которые хотят иметь мыльник?"
использовадь для этого PAM, если используется
sendmail в качестве MTA, то вариант использовать
pam модули:
pam-mysql - и держать пользователей в базе
либо
pam_pwdfile - иметь пустышку account'а в master.passwd, с home-dir и shell-nologin
а в отдельном mail.passwd
username:passwd
ls -la /usr/ports/security | grep pam
если указанных модулей нет, скачать из свежих
портов, например:
cd /usr/ports/security
mv pam_name pam_name.old
wget -Y off -t 0 -r -c --cut-dirs=6 -nH ftp://ftp.FreeBSD.org/pub/FreeBSD/branches/-current/ports/security/pam_pwdfile
cd pam_pdwfile
make
make install
в случае sendmail и imap с maildir где-то
imap должен получать откуда-то $home, для
этого пользователю делается беспарольная пустышка
при заведении в master.passwd, это для варианта
pam_pwdfile, либо докрутить sources этого pam_pwdfile чтобы он имел полный формат master.passwd и брал из него не только авторизацию, но и все остальное
Или как вариант, перековырять встроенный pam -
добавить туда /path/my.passwd, пересобрать чтобы
модули имели имя отличное от уже присутствующих
модулей и использовать их для pop3/imap
пример с pam_pwdfile:
1. собираем cclient
2. собираем imap-uw или другой c поддержкой pam, если конечно требуемый source имеет поддержку pam
3 собираем pam_pwdfile
настраиваем:
создаем пустышку для пользователя test в master.passwd:
test:*:7777:1000:Test:/home/test:/sbin/nologin
без shell'а и пароля
правим /etc/pam.conf (пример для imap-uw)
#--lavr, comments original auth
#imap auth required pam_unix.so
imap auth required /usr/local/lib/pam_pwdfile.so pwdfile /usr/loc
al/private/mail.passwd
imap account required pam_unix.so try_first_pass
imap session required pam_deny.so
#--lavr, comments original auth
#pop3 auth required pam_unix.so
pop3 auth required /usr/local/lib/pam_pwdfile.so pwdfile /usr/loc
al/private/mail.passwd
pop3 account required pam_unix.so try_first_pass
pop3 session required pam_deny.so
создаем файл паролей для mail-users:
cd /usr/local
mkdir private
chmod 700 private
cd private
touch mail.passwd
chmod 600 mail.passwd
все, генерируем любым удобным средством заполнение
mail.passwd, а точнее в нашем(своем) генераторе
заведения пользователей, добавляем (only mail?)
и вставляем туда заведение пустышки и добавление
имени и пароля в /usr/local/private/mail.passwd
после чего проверяем авторизацию пользователя
test
telnet hostname 110
...
user test
pass пароль
ой Вань, все работает :)))