>>А NOLOGIN в приглашении не говорит ли нам что работа с getpwnam
>>
>>не применяется? Еще может быть неправильный shell у юзера.
>
>
>У юзера shell -> sh
>Тобишь полноценный шелл.
>А что такое getpwnam? Поподробнее можно.
1)
- pkg_delete imap-uw*
- pkg_delete cclient*
проверить чтобы от cclient не осталось headers и libraries в /usr/local/include[lib]
ldconfig -r | grep libc-client - должно быть пусто
2) установить cclient
cd /usr/ports/mail/cclient
make WITH_SSL_AND_PLAINTEXT=yes
прим: или с какими нравится ключами, например WITHOUT_SSL=yes
headers будут в /usr/local/include/c-client/
а файл portversion.h будет содержать версию и тип сборки (SSL)
[alone]~ > cat /usr/local/include/c-client/portrevision.h
#define CCLIENT_PORTVERSION "2002"
#define CCLIENT_SSLENABLED "yes"
[alone]~ >
make clean
3) установить imap-uw с учетом того как была установлена библиотека c-client (в данном конкретном случае):
cd /usr/ports/mail/imap-uw
make WITH_SSL_AND_PLAINTEXT=yes WITH_NETSCAPE_BRAIN_DAMAGE=yes WITH_ENTOURAGE_BRAIN_DAMAGE=yes
make cert (сгенерить сертификаты, можно вручную, здесь в архивах я расписывал как) - сертификаты будут в /usr/local/certs
make install
вставляем в /etc/pam.conf:
...
# Mail services
#imap auth required pam_unix.so try_first_pass
#pop3 auth required pam_unix.so try_first_pass
#--lavr for Mail/IMAP-UW
imap auth required pam_unix.so
imap account required pam_unix.so try_first_pass
imap session required pam_deny.so
pop3 auth required pam_unix.so
pop3 account required pam_unix.so try_first_pass
pop3 session required pam_deny.so
...
вставляем в /etc/inetd.conf
...
pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d
imap4 stream tcp nowait root /usr/local/libexec/imapd imapd
#pop3s/imaps SSL
pop3s stream tcp nowait root /usr/local/libexec/ipop3d ipop3d
imaps stream tcp nowait root /usr/local/libexec/imapd imapd
...
...
kill -HUP `cat /var/run/inetd.pid` (выдаем сигнал SIGHUP inetd демону чтобы он перечитал свою конфигурацию)
make clean
4) проверяем
- смотрим порты nmap'ом или sockstat (man sockstat)
nmap -v localhost
whereis nmap
cd /usr/ports/security/nmap
make
make install
make clean
- проверяем telnet'ом pop3/imap
- проверяем imaps/pop3s:
openssl s_client -connect localhost:993 -state -debug
openssl s_client -connect localhost:995 -state -debug
после соединения можем вводить команды imap или pop3 протоколов
прохождение авторизации смотрим в /var/log/maillog
Все.
TWIG(PHP based WebMail):
прим: предварительно необходимо собрать apache с ssl и mod_php4 с
поддержкой imap-uw и/или imap-uw-ssl
cd /usr/ports/russian/apache_modssl
make
make certificate TYPE=custom
make install
cd /usr/ports/www/mod_php4
make
make install
Настраиваем Apache, после чего:
http://twig.screwdriver.net/download/twig-2.7.7.tar.gz
устанавливаем, создаем как написано mysql базу, настраиваем конфиги
(в случае если все на одной машине localhost):
config.inc.php3:
...
$config["imap_servertype"] = "php-imap";
$config["imap_server"] = "localhost";
$config["imap_port"] = "993/imap/ssl/novalidate-cert";
...
dbconfig.inc.php3:
...
$dbconfig["sqlserver"] = "localhost";
...
и тд и тп
apache/httpd.conf (исключительно под себя, одно из имен alone.jinr.ru,
для которой сгенерены самоподписные сертификаты в apache (modssl):
...
#--twig
<VirtualHost 159.93.17.129:443>
ServerName alone.jinr.dubna.su
DocumentRoot /usr/local/www/data/alone
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXP56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /usr/local/etc/apache/alone.jinr.dubna.su/ssl.crt/server.c
rt
SSLCertificateKeyFile /usr/local/etc/apache/alone.jinr.dubna.su/ssl.key/serve
r.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/usr/local/www/data/alone">
Options Indexes FollowSymLinks MultiViews Includes
CharsetRecodeMultipartForms Off
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache/ssl_request.log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
...
# Added Lavr for TWIG
<Directory "/usr/local/www/data/unix1.jinr.ru/twig">
Options Indexes FollowSymLinks MultiViews Includes
CharsetRecodeMultipartForms Off
AllowOverride None
Order allow,deny
Allow from all
</Directory>
...
Прим: в TWIG'е есть проблемка, если MTA выдает prompt более одной
строки, один из вызовов php через smtp дуреет, либо править его,
либо в MTA сделать prompt(приглашение) одной строкой.
Все приводилось с учетом поддержки SSL, собрать можно и без SSL,
флаг WITHOUT_SSL=yes сперва в cclient, потом в imap-uw