Сорри.В первом посте ошибкане authdaemonrc а authldaprc.
>Slackware 10.1
>postfix+maildrop+courier-imap+ldap+Auth-in-Active_Directory+ almost-every-thing-your-want
>
>Без winbind, pam, и пр.
>
>Очень кратко:
>
>
>Postfix:
>
>master.cf
>
>maildrop unix - n
> n
> - -
> pipe
> flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
>
>main.cf
>
>virtual_gid_maps static:5000
>virtual_mailbox_base /var/virtual/mail/virtualdomain.com/
>virtual_mailbox_limit 0
>virtual_mailbox_maps ldap:ldapvirtual
>virtual_minimum_uid 500
>virtual_transport maildrop
>virtual_uid_maps static:5000
>
>ldapvirtual_server_host = 192.168.0.1
>ldapvirtual_server_port = 389
>ldapvirtual_bind = yes
>ldapvirtual_bind_dn = CN=BindName, CN=Users, DC=virtualdomain, DC=com
>ldapvirtual_bind_pw = passwd
>ldapvirtual_search_base = CN=Users, DC=virtualdomain, DC=com
>ldapvirtual_query_filter = (&(mail=%s)(sAMAccountName=%u))
>ldapvirtual_result_attribute = sAMAccountName
>ldapvirtual_domain = virtualdomain.com
>
>Courier IMAP
>
>authdaemonrc
>
>LDAP_SERVER
> 192.168.0.1
>LDAP_PORT
> 389
>LDAP_PROTOCOL_VERSION 3
>LDAP_BASEDN
> CN=Users,DC=virtualdomain,DC=com
>LDAP_BINDDN
> CN=Bindname, CN=Users, DC=virtual, DC=com
>LDAP_BINDPW
> passwd
>LDAP_TIMEOUT
>5
>LDAP_AUTHBIND 1
>
>LDAP_MAIL
> mail
>LDAP_FILTER (objectClass=user)
>LDAP_DOMAIN
> virtualdomain.com
>LDAP_GLOB_UID vmail
>
>LDAP_GLOB_GID vmail
>
>LDAP_HOMEDIR
>sAMAccountName
>LDAP_MAILROOT /var/virtual/mail/virtualdomain.com
>
>LDAP_MAILDIR
>./Maildir
>LDAP_MAILDIRQUOTA info
>LDAP_FULLNAME cn
>
>LDAP_CLEARPW
>clearPassword
>LDAP_CRYPTPW
>userPassword
>LDAP_DEREF
> never
>LDAP_TLS
> 0
>
>
>
>>Встала предомной задача, сделать почтовый сервер у себя в конторе для внутреннего
>>испльзования и сделал :).
>>Есть у меня что-то типа опсания моих действий. Хочу выложить его чтобы
>>другие могли в будующем пользоваться. Но в том виде как оно
>>есть выкладывать стыдно, как-то все коряво. Посоветуйте как мне все это
>>формить чтобы этим моим черновиком можно было пользоваться как неким руководством
>>:)
>>
>>Текст привожу ниже:
>>Общие параметры
>>Сервер:
>>ОС: Fedora Core 3
>>FQDN: k1-210.domain
>>Выполняемые функции: Почтовый сервер для внутреннего использования + Веб-интерфейс к почте
>>Требования к почтовому серверу:
>>• Почта пользователей храниться на сервере (так проще делать Backup)
>>• Не создавать пользователей дважды (Сначала в Active Directory потом на почтовом
>>сервере)
>>• Нужно чтобы имя пользователя и пароль на вход в Windows подходил
>>и для почтового сервера, если пользователь сменил пароль в Windows, то
>>пароль на почтовом сервере тоже должен смениться
>>• В именах пользователей в AD присутствуют точки например: a.ivanov (так сложилось
>>исторически)
>>•
>>• Нужно чтобы у пользователей была возможность самостоятельно перенаправить почту на другой
>>ящик.
>>• Вся переписка должна проверяться на вирусы
>>• Хочеться иметь возможность использовать «Группы распространения» в Active Directory как почтовые
>>псевдонимы
>>• Желательно чтобы был WEB интерфейс для пользователей
>>Глядя на выше перечисленные требования я остановил свой выбор на следующих программах:
>>
>>Дистрибутив: FC3
>>• первое что попалось под руку
>>В качестве почтового сервера cyrus-imapd:
>>• Это первое на что я наткнулся и что отвечало моим
>>требованиям
>>• Есть возможность работать с почтой прямо на сервере (IMAP)
>>• Есть возможность создавать ящики пользователям автоматически при первом входе или поступления
>>письма через lmtp
>>• Можно создавать Sieve скрипты которые позволяют управлять письмами (автоматически сортировать по
>>папкам, перенаправлять на другой ящик и т.д. и т.п.)
>>В качестве MTA postfix:
>>• Мне с ним проще работать чем с каким-либо другим MTA
>>• Можно общаться с AD как с LDAP сервером (проверять наличие пользователя,
>>использовать «Группы распространения» в качестве почтовых псевдонимов.
>>• Можно подключить ClamAv для проверки писем на вирусы
>>В качестве WEB интерфейса Squirrelmail
>>• Нашел в Google список вещей которые могут работать как web интерфейс
>>к почте. SquirrelMail получилось настроить с первого раза
>>Аутентификация через Winbind
>>Параметры установки системы
>>Установка пакетов и дополнительных программ
>>Делаем минимальную установку
>>После установки обновляемся до последних версий с помощью yum –y update
>>Доставляем нужные пакеты и удаляем мешающие
>>/var/log/yum.log:
>>Sep 14 10:49:06 Installed: desktop-file-utils.i386 0.9-2
>>Sep 14 11:43:23 Installed: mc.i386 1:4.6.1-1.FC3
>>Sep 14 12:05:08 Installed: postfix.i386 2:2.1.5-5
>>Sep 14 12:14:28 Installed: samba-common.i386 3.0.10-1.fc3
>>Sep 14 12:14:28 Installed: samba-client.i386 3.0.10-1.fc3
>>Sep 14 12:27:29 Installed: cyrus-imapd.i386 2.2.12-1.1.fc3
>>Sep 14 12:29:16 Installed: perl-Cyrus.i386 2.2.12-1.1.fc3
>>Sep 14 12:29:16 Installed: cyrus-imapd-murder.i386 2.2.12-1.1.fc3
>>Sep 14 12:29:16 Installed: cyrus-imapd-nntp.i386 2.2.12-1.1.fc3
>>Sep 14 12:29:16 Installed: cyrus-imapd-utils.i386 2.2.12-1.1.fc3
>>Sep 14 12:37:10 Installed: apr.i386 0.9.4-24.2
>>Sep 14 12:37:10 Installed: libidn.i386 0.5.6-1
>>Sep 14 12:37:10 Installed: curl.i386 7.12.3-3.fc3
>>Sep 14 12:37:10 Installed: apr-util.i386 0.9.4-17
>>Sep 14 12:37:10 Installed: libc-client.i386 2002e-8
>>Sep 14 12:37:11 Installed: httpd.i386 2.0.53-3.3
>>Sep 14 12:37:12 Installed: php.i386 4.3.11-2.7
>>Sep 14 12:37:12 Installed: php-pear.i386 4.3.11-2.7
>>Sep 14 12:37:12 Installed: httpd-suexec.i386 2.0.53-3.3
>>Sep 14 12:37:14 Installed: squirrelmail.noarch 1.4.6-0.cvs20050812.1.fc3
>>Sep 14 12:37:14 Installed: php-imap.i386 4.3.11-2.7
>>Sep 14 17:35:36 Installed: openldap-clients.i386 2.2.13-2
>>Sep 14 18:16:25 Installed: cyrus-sasl-gssapi.i386 2.1.19-3
>>Sep 16 11:15:05 Installed: rpm-build.i386 4.3.2-21
>>Sep 16 12:16:14 Installed: php-mbstring.i386 4.3.11-2.7
>>Sep 16 19:41:26 Installed: openldap-clients.i386 2.2.13-2
>>Sep 18 10:21:04 Installed: autoconf.noarch 2.59-5
>>Sep 18 10:21:06 Installed: automake.noarch 1.9.2-3
>>Sep 18 10:43:21 Installed: ntp.i386 4.2.0.a.20040617-5.FC3
>>Sep 18 12:18:50 Installed: fetchmail.i386 6.2.5-7.fc3.1
>>Sep 14 12:05:20 Erased: sendmail
>>Вытыскиваем последнии версии, собираем и устанавливаем следующие пограммы:
>>+clamav
>>+clamsmtpd
>>Настройка программ
>>Настройка Почтовой подсистемы
>>Файл /etc/postfix/main.cf (параметры отличающиеся от параметров по умолчанию):
>>alias_maps hash:/etc/aliases
>>content_filter scan:127.0.0.1:10025
>>mailbox_transport cyrus
>>fallback_transport lmtp:unix:/var/lib/imap/socket/lmtp
>>local_recipient_maps ldap:/etc/postfix/ldap_local_recipient_maps.conf
>>mydestination $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, k1-210.$mydomain, kant-mail5.$mydomain
>>mynetworks 192.168.0.0/16, 127.0.0.0/8
>>myorigin $myhostname
>>relayhost smtp.domain
>>virtual_alias_maps ldap:/etc/postfix/ldap_aliases.conf
>>
>>/etc/postfix/ldap_local_recipient_maps.conf
>>server_host = domain
>>server_port = 389
>>search_base = dc=domain
>>timeout = 2
>>query_filter = (&(objectClass=user)(samAccountName=%u))
>>result_attribute = samAccountName
>>scope = sub
>>bind = yes
>>bind_dn =cn=postfix,cn=Users,dc=domain
>>bind_pw =secret
>>version = 3
>>
>>/etc/postfix/ldap_aliases.conf
>>server_host = domain
>>server_port = 389
>>search_base = dc= domain
>>timeout = 3
>>query_filter = (&(mail=%s)(sAMAccountType=268435457))
>>result_filter = %u
>>result_attribute = userPrincipalName
>>special_result_attribute = member
>>scope = sub
>>bind = yes
>>bind_dn =cn=postfix,cn=Users,dc= domain
>>bind_pw =secret
>>version = 3
>>
>>В /etc/postfix/master.cf добавлеям строчки
>># AV scan filter (used by content_filter)
>>scan unix -
>> - n
>> -
>> 16 smtp -o smtp_send_xforward_command=yes
>>
>># For injecting mail back into postfix from the filter
>>127.0.0.1:10026 inet n
>>- n
>> - 16
>> smtpd
>> -o content_filter=
>> -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
>> -o smtpd_helo_restrictions=
>> -o smtpd_client_restrictions=
>> -o smtpd_sender_restrictions=
>> -o smtpd_recipient_restrictions=permit_mynetworks,reject
>> -o mynetworks_style=host
>> -o smtpd_authorized_xforward_hosts=127.0.0.0/8
>>
>>Файл /etc/cyrus.conf
>># standard standalone server implementation
>>
>>START {
>> # do not delete this entry!
>> recover cmd="ctl_cyrusdb -r"
>>
>> # this is only necessary if using idled for IMAP
>>IDLE
>> idled cmd="idled"
>>
>>}
>>
>># UNIX sockets start with a slash and are put into /var/lib/imap/sockets
>>
>>SERVICES {
>> # add or remove based on preferences
>> imap
>>cmd="imapd" listen="imap" prefork=5
>> imaps cmd="imapd
>>-s" listen="imaps" prefork=1
>> pop3
>>cmd="pop3d" listen="pop3" prefork=3
>> pop3s cmd="pop3d
>>-s" listen="pop3s" prefork=1
>> sieve cmd="timsieved"
>>listen="sieve" prefork=0
>>
>> # these are only necessary if receiving/exporting usenet via NNTP
>>
>># nntp cmd="nntpd"
>>listen="nntp" prefork=3
>># nntps
>> cmd="nntpd -s" listen="nntps" prefork=1
>>
>> # at least one LMTP is required for delivery
>># lmtp cmd="lmtpd"
>>listen="lmtp" prefork=0
>> lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
>>
>> # this is only necessary if using notifications
>># notify cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp"
>>prefork=1
>>}
>>
>>EVENTS {
>> # this is required
>> checkpoint cmd="ctl_cyrusdb -c" period=30
>>
>> # this is only necessary if using duplicate delivery suppression,
>>
>> # Sieve or NNTP
>> delprune cmd="cyr_expire -E 3" at=0400
>>
>>
>> # this is only necessary if caching TLS sessions
>> tlsprune cmd="tls_prune" at=0400
>>}
>>
>>Файл /etc/imapd.conf
>>configdirectory: /var/lib/imap
>>partition-default: /var/spool/imap
>>admins: cyrus root
>>sievedir: /var/lib/imap/sieve
>>sendmail: /usr/sbin/sendmail
>>hashimapspool: true
>>sasl_pwcheck_method: saslauthd
>>sasl_mech_list: PLAIN
>>autocreatequota: 10000
>>createonpost: yes
>>autocreateinboxfolders: Sent|Drafts|Trash
>>autosubscribeinboxfolders: Sent|Drafts|Trash
>>allowusermoves: 1
>>unixhierarchysep: yes
>>quotawarn: 90
>>quotawarnkb: 2048
>>username_tolower: 1
>>Настройка авторизации и аутентификации
>>Авторизацию пользоавтелей делаем через winbind
>>/etc/samba/smb.conf
>>[global]
>> dos charset = CP866
>>
>> unix charset = UTF8
>>
>> workgroup = domain
>> realm = DOMAIN
>> server string = Samba
>>server (v.%v) on %L
>> security = ADS
>> min passwd length =
>>0
>> map to guest =
>>Bad Password
>> null passwords = Yes
>>
>> log file = /var/log/samba/%m.log
>>
>> max log size =
>>0
>> announce version = 5.0
>>(2195)
>> time server = Yes
>>
>> socket options = TCP_NODELAY
>>SO_RCVBUF=8192 SO_SNDBUF=8192
>> wins server = 192.168.0.3
>>
>> ldap ssl = no
>>
>> default service = pub
>>
>> idmap uid = 10000-20000
>>
>> idmap gid = 10000-20000
>>
>> template homedir = /home/%U
>>
>> winbind use default domain
>>= Yes
>> username = samba
>>
>>Файл /etc/krb5.conf
>>[logging]
>> default = FILE:/var/log/krb5libs.log
>> kdc = FILE:/var/log/krb5kdc.log
>> admin_server = FILE:/var/log/kadmind.log
>>
>>[libdefaults]
>> default_realm = DOMAIN
>> dns_lookup_realm = false
>> dns_lookup_kdc = false
>>
>>[realms]
>> DOMAIN = {
>> kdc = domain:88
>> admin_server = domain:749
>> default_domain = domain
>> }
>>
>>[domain_realm]
>> .domain = DOMAIN
>> domain = DOMAIN
>>
>>[kdc]
>> profile = /var/kerberos/krb5kdc/kdc.conf
>>
>>[appdefaults]
>> pam = {
>> debug = false
>> ticket_lifetime = 36000
>> renew_lifetime = 36000
>> forwardable = true
>> krb4_convert = false
>> }
>>
>>Файл /etc/pam.d/system-auth.winbind
>>auth required
>> /lib/security/$ISA/pam_env.so
>>auth sufficient
>>/lib/security/$ISA/pam_winbind.so
>>auth sufficient
>>/lib/security/$ISA/pam_unix.so use_first_pass likeauth nullok
>>auth required
>> /lib/security/$ISA/pam_deny.so
>>account sufficient /lib/security/$ISA/pam_winbind.so
>>account required /lib/security/$ISA/pam_unix.so
>>
>>account sufficient /lib/security/$ISA/pam_succeed_if.so uid <
>>100 quiet
>>account required /lib/security/$ISA/pam_permit.so
>>
>>password requisite /lib/security/$ISA/pam_cracklib.so retry=3
>>password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5
>>shadow
>>password required /lib/security/$ISA/pam_deny.so
>>session required /lib/security/$ISA/pam_limits.so
>>
>>session required /lib/security/$ISA/pam_unix.so
>>
>>
>>Файл /etc/sysconfig/saslauthd
>>и пишем там строчку
>>MECH=pam
>>
>>Файл /etc/pam.d/imap
>>auth required
>>pam_stack.so service=system-auth.winbind
>>account required pam_stack.so service=system-auth.winbind
>>Файл /etc/pam.d/sieve
>>auth required
>>pam_stack.so service=system-auth.winbind
>>account required pam_stack.so service=system-auth.winbind
>>Файл /etc/pam.d/pop
>>auth required
>>pam_stack.so service=system-auth.winbind
>>account required pam_stack.so service=system-auth.winbind
>>Файл /etc/pam.d/lmtp
>>auth required
>>pam_stack.so service=system-auth.winbind
>>account required pam_stack.so service=system-auth.winbind