вторник, 24 февраля 2009 г.

lenny + bind9 + ldap

Кажется разобрался c проблемой bind9 и ldap. Разработчики OpenSuse используют для bind9 патч вот от сюда http://bind9-ldap.bayour.com/
Поступим и мы так же. Я взял патч версии release 1.0

#cd /usr/src/
#apt-get source bind9
#cd bind9*
#wget -c http://bind9-ldap.bayour.com/bind-sdb-ldap-1.0.tar.gz
#tar zxvf bind-sdb-ldap-1.0.tar.gz
#cp ./bind-sdb-ldap-1.0/ldapdb.c ./bin/named
#cp ./bind-sdb-ldap-1.0/ldapdb.h ./bin/named/include

Дальше отредактируем vim ./bin/named/Makefile.in:
#
# Add database drivers here.
#
DBDRIVER_OBJS = ldapdb.@O@
DBDRIVER_SRCS = ldapdb.c
DBDRIVER_INCLUDES = -I/usr/local/include
DBDRIVER_LIBS = -L/usr/local/lib -lldap -llber -lresolv

И отредактируем последний файлик vim ./bin/named/main.c:
После строчки "#include "xxdb.h"" добавляем:

#include
После "xxdb_init();" добавим:

ldapdb_init();


А после "xxdb_clear();":

ldapdb_clear();


И собираем:
#./configure && make && make install


По хорошему в configure надо было задать префиксы путей, но я пока собираю просто для тестов, да и snapshot в VMware только сделал =)
#rm /usr/sbin/named && rm /usr/sbin/named-checkconf && rm /usr/sbin/named-checkzone
#ln -s /usr/local/sbin/named /usr/sbin/named
#ln -s /usr/local/sbin/named-checkconf /usr/sbin/named-checkconf
#ln -s /usr/local/sbin/named-checkzone /usr/sbin/named-checkzone
#ln -s /etc/bind/named.conf /etc/named.conf
#ln -s /etc/bind/rndc.key /etc/rndc.key


И добавим строчку в конфиг squid'a :
pid-file "/var/run/bind/run/named.pid";

#/etc/init.d/bind9 restart
И должно заработать. Если нет - смотрим логи. Сейчас могут не совпадать только пути и это легко исправить.

воскресенье, 22 февраля 2009 г.

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 13

Эта часть полностью скопированна из оригинального текста.
Но здесь все понятно и думаю трудностей не вызовет.
192.168.50.237 - аналогично 192.168.1.3, pdc.adsl.com = pdc.lxf.su

MMC – Знакомство с web интерфейсом.


Если всё успешно прошло, то вы можете зайти через web интерфейс к консоли управления по адресу https://192.168.50.237 (в моём случае). Позже когда мы настроим dns сервер, то сможем зайти по адресу http://pdc.adsl.com он перенаправит нас на https (для этого и делали редикет).
Вход в панель управления происходит через пользователя root. В моём случае Логин root пароль example.

Уменьшено: 87% от [ 585 на 345 ] — нажмите для просмотра полного изображения


Познакомьтесь с интерфейсом mmc. Как мы говорили чуть выше, панель разделена на плагины, которые мы настраивали. Кстати если вы входите через IE, то там есть небольшие проблемы с отображением страниц (ещё бы).

Уменьшено: 85% от [ 600 на 371 ] — нажмите для просмотра полного изображения


Вверху жмём на ссылку переключения в режим ЭКСПЕРТА! В этом режиме доступен журнал с логами (там можно быстро смотреть ошибки), а так же доступны несколько ключевых функций (такие например как указание перемещаемых профилей у юзера и т.д. )

Сейчас необходимо настроить DNS зону, службу DHCP, псевдоним blocked для squid и добавить нового пользователя.

Настраиваем DNS Zone: В mmc переходим в «Сеть => Добавить DNS зону => и заполняем»:
Код
FQDN DNS-зоны - adsl.com
Описание - любое.
Имя сервера имен - pdc (имя хоста вашего сервера)
IP-адрес сервера имен - 192.168.50.237 (ip адрес сервера)

Сетевой адрес - 192.168.50.0 (ваша сеть)
Маска подсети - 24 (у меня)
Also manage a reverse DNS zone - галочка
Также создать связанную DHCP-подсеть - галочка


Теперь добавим псевдоним к нашему серверу, для редикета.
Псевдоним: В mmc переходив в «Сеть => DNS зоны =>Посмотреть записи зоны (иконка лупы) => Изменить запись (иконка блокнотика) => В Hostname alias вписываем: blocked и затем Добавить, затем Подтвердить.»

Теперь настроим DHCP подсеть. Что бы юзеры получали автоматические сетевые настройки.
Настройка DHCP: В mmc переходим в «Сеть => DHCP подсети => Изменить подсеть (иконка блокнотика) => и заполняем»:
Код
#Адрес DHCP-подсети 192.168.50.0
Маска -24
Описание - adsl.com
Авторитетный галочка
#DHCP options related to clients network parameters
Broadcast address - 192.168.50.255
Имя домена - adsl.com

Маршрутизаторы - 192.168.50.235
Сервера доменных имен - 192.168.50.237 (если у вас в сети есть ещё dns сервера, можно указать ещё)
Серверы NTPNetwork - 192.168.50.237
Серверы WINS
WINS разрешения и метод - Auto
#Другие параметры DHCP
Initial boot file name
Path to the root filesystem
Следующий сервер
Имя TFTP-сервера
#DHCP client lease time (in seconds)
Minimum lease time - 3600
Default lease time - 57600
Maximum lease time - 605800
Dynamic pool for non-registered DHCP clients - галочка

Начало IP-диапазона - 192.168.50.100 (по вашему желанию)
Конец IP-диапазона - 192.168.50.199 (по вашему желанию)


После заполнения жмём «подтвердить». Далее идём в «Сеть => Управления службами сети» и включаем там DHCP службу. (если она включена то перезапускаем её).

Далее заходим в раздел "Почта" и создаём почтовый домен (имя домена должно быть идентично samba домену.) adsl.com

Настройка служб готова. В принципе домен теперь полностью работоспособен. Осталось несколько штрихов. Это включить почтовый ящик администратора и завести первого юзера.

Включаем почтовый ящик для админа: переходим в mmc «Пользователи => Список => на против акаунта администратора щёлкаем «Изменить (иконка блокнотика)». Откроется панель редактирования профиля. В графе "Почтовый ящик" вписываем Administrator@adsl.com, затем в самом низу нужно внести следеющие изменения: поставить галочку на «Доступность почты» и поставить на против размера квоты почтового ящика галочку «неограниченно». Далее «Подтвердить».

Добавляем первого юзера в домен:

Вообще добавить можно и в ручную. Но раз уж мы выбрали удобство управления доменом в качестве консоли mmc, то будем заводить юзеров через неё:

Идём в Пользователи=>Добавить => и заполняем - Я приведу только несколько параметры которые заполнить обязательно нужно. Остальные параметры можно и не заполнять (на ваше усмотрение):

Код
Имя пользователя - maks
Пароль - password
Подтвердите пароль - password
Имя - Maksim
Имя - HidX
Почтовый адрес - maks@adsl.com
Доступность SAMBA галочка
Доступность почты галочка
Квота почтового ящика (kB) – 10240
Сброс почты - maks


Отмечу что я не заполнял красные поля (Путь к профилю пользователя Открытие сессии скрипта Путь основного каталога Подключить основной каталог на сетевом диске Домашний каталог Создать домашнюю папку Оболочка входа в систему Общее имя Preferred name to be used) т.к. они в принципе заполнятся сами после создания юзера.

Ну вот и всё. Домен настроен и функционирует. Первый пользователь создан. Сетевые службы работают. Теперь пришло время внести какую нибудь рабочую станцию (или потестить на виртуальной машине) в наш новый домен.

Что бы завести машину в наш домен (на примере Xp SP3 pro):
• Включить на рабочей станции DHCP и получить автоматические настройки. (или можно вбить их в ручную, первичный DNS сервер обязательно должен быть ip адрес нашего домена!!!).
• Войти в свойства «Моего компьютера» и перейти на вкладку «Имя компьютера». Затем нажать кнопку «Изменить»
• В открывшемся окошечке ввести наш новый домен adsl (в моём случае). И нажать кнопку «Ок»
• Когда предложат ввести логин и пароль. Вводим имя и пароль от пользователя Administrator (в моём случае пароль будет
example) т.к. именно этот пользователь может регистрировать машины в домене. Жмём Ок. Должна появиться надпись «Добро пожаловать в домен adsl.

Теперь перезагружаемся и входим в систему от нашего первого тестового юзера. Проверяем подключилась ли личная папка пользователя (в разделе Мой Компьютер), проверяем права юзера (он не должен иметь доступ к системным настройкам, например не сможет сменить ip адрес или отключить сеть). Далее пробуем зайти на шару сервера \\PDC-SRV-ADSL . Важно знать что профиль при первом входе в систему сохранится только после первого выхода из системы, нужно так же это проверить.

Ну вот вроде и всё. Дальше будем заниматься работой над ошибками, написанием и добавлением модулей для mmс. И самое главное это созданием групповых политик для настройки рабочих станций пользователей. А так же я продемонстрирую работу самой консоли mmc и работу домена и рабочих станций в целом. Всё это будет описываться в других сообщениях. Удачи smile.gif
Эскизы прикрепленных изображений
Уменьшено до 86%
Прикрепленное изображение
692 x 432 (171.07 килобайт)
Уменьшено до 92%
Прикрепленное изображение
1194 x 684 (229.8 килобайт)
Уменьшено до 92%
Прикрепленное изображение
1194 x 684 (244.41 килобайт)
Уменьшено до 92%
Прикрепленное изображение
1194 x 546 (269.67 килобайт)


Уменьшено до 92%
Прикрепленное изображение
1194 x 546 (198.9 килобайт)
Уменьшено до 92%
Прикрепленное изображение
1216 x 550 (238.29 килобайт)

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 12

MMC

Грубо говоря отделяет нас от нашей цели (MDS - кто уже забыл =) ) - последний шаг.

Настроим web интерфейс управления MMC. Создадим два виртуальных хоста, http и https. (http нужен для перенаправления на https).

Добавим следующие строки в:
#vim /etc/apache2/sites-available/http


ServerName pdc.lxf.su

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}



Теперь тоже и для https:
#vim /etc/apache2/sites-available/https
NameVirtualHost 192.168.1.3:443



ServerName pdc.lxf.su
ServerAdmin Administrator@lxf.su
DocumentRoot /usr/share/mmc/

SSLEngine on
SSLCertificateKeyFile ssl/server.key
SSLCertificateFile ssl/server.crt
SSLProtocol all
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL


AllowOverride None
Order allow,deny
Allow from 192.168.1.0/24
php_flag short_open_tag on
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128


ErrorLog /var/log/apache2/mmc_error.log
CustomLog /var/log/apache2/mmc_access.log combined
LogLevel warn



Включаем модули апача - http, https, rewrite и ssl.

#a2ensite http
#a2ensite https
#a2enmod rewrite
#a2enmod ssl


#/etc/init.d/apache2 restart


Настраиваем плагины MMC:

Плагин BASE:
#vim /etc/mmc/plugins/base.ini
[ldap]
# LDAP we are connected to
host = 127.0.0.1
# LDAP base DN
baseDN = dc=lxf, dc=su
# Users location in the LDAP
baseUsersDN = ou=Users, %(basedn)s
# Groups location in the LDAP
baseGroupsDN = ou=Groups, %(basedn)s
# Computers Locations
baseComputersDN = ou=Computers, %(basedn)s
# LDAP manager
rootName = cn=admin, %(basedn)s
password = example
# If enabled, the MMC will create/move/delete the home of the users
# Else will do nothing, but only write user informations into LDAP
userHomeAction = 1
# Skeleton directory to populate a new home directory
skelDir = /etc/skel
# If set, all new users will belong to this group when created
defaultUserGroup = Domain Users
# Default home directory for users
defaultHomeDir = /home
# user uid number start
uidStart = 10000
# group gid number start
gidStart = 10000
# LDAP log file path
logfile = /var/log/ldap.log
# FDS log file path
# logfile = /opt/fedora-ds/slapd-hostname/logs/access

# you can specify here where you can authorized creation of your homedir
# default is your defaultHomeDir
# example:
# authorizedHomeDir = /home, /home2, /mnt/depot/newhome

[backup-tools]
# Path of the backup tools
path = /usr/lib/mmc/backup-tools
# Where are put the archives
destpath = /home/samba/archives

# vim /etc/mmc/plugins/mail.ini
[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 1
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=lxf, dc=su

[userdefault]

# For Postfix delivery
mailbox = %homeDirectory%/Maildir/
# For Dovecot delivery
# mailbox = maildir:%homeDirectory%/Maildir/
# Default quota (200 MBytes) set for user
mailuserquota = 204800



# vim /etc/mmc/plugins/network.ini
[main]
disable = 0
[dhcp]
dn = ou=DHCP,dc=lxf,dc=su
pidfile = /var/run/dhcpd.pid
init = /etc/init.d/dhcp3-server
logfile = /var/log/daemon.log
leases = /var/lib/dhcp3/dhcpd.leases
[dns]
dn = ou=DNS,dc=lxf,dc=su
pidfile = /var/run/bind/run/named.pid
init = /etc/init.d/bind9
logfile = /var/log/daemon.log
bindroot = /etc/bind/
binduser = bind
bindgroup = bind
#этой строчки нет в оригинальной конфигурации, но она нужна
# dnsreader = DNS Reader
# dnsreaderpassword = DNSReaderPasswordpdc:/etc/mmc/plugins#

#vim /etc/mmc/plugins/samba.ini

[main]
disable = 0
# Computers Locations
baseComputersDN = ou=Computers, dc=lxf, dc=su
sambaConfFile = /etc/samba/smb.conf
sambaInitScript = /etc/init.d/samba
sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so
# Default SAMBA shares location
defaultSharesPath = /home/samba
# You can specify authorized paths for share creation
# Default value is the defaultSharesPath value
# authorizedSharePaths = /shares, /opt, /srv

# Default value when adding samba attributes to an user
# DELETE means the attibute is removed from the user LDAP entry
[userDefault]
sambaPwdMustChange = DELETE

# /etc/init.d/mmc-agent restart
Restarting Mandriva Management Console XML-RPC Agent: mmc-agent 2.3.2 starting...
Using Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
Using Python Twisted 8.1.0
Running as euid = 0, egid = 0
Importing available MMC plugins
Created OU ou=System,dc=lxf,dc=su
Registering authenticator baseldap / base.BaseLdapAuthenticator
Registering authenticator externalldap / mmc.plugins.base.externalldap.ExternalLdapAuthenticator
Registering provisioner externalldap / mmc.plugins.base.externalldap.ExternalLdapProvisioner
Plugin base loaded, API version: 7:0:3 build(743)
Created OU ou=DHCP,dc=lxf,dc=su
Created OU ou=DNS,dc=lxf,dc=su
Created DHCP config object
The server 'pdc.lxf.su' has been set as the primary DHCP server
Plugin network loaded, API version: 2:0:0 build(743)
Created OU ou=mailDomains, dc=lxf, dc=su
Plugin mail loaded, API version: 6:1:4 build(743)
/var/lib/python-support/python2.5/mmc/support/mmctools.py:353: PotentialZombieWarning: spawnProcess called, but the SIGCHLD handler is not installed. This probably means you have not yet called reactor.run, or called reactor.run(installSignalHandler=0). You will probably never see this process finish, and it may become a zombie process.
reactor.spawnProcess(shProcess, "/bin/sh", ['/bin/sh','-c',cmd],env=os.environ)
Looks like NSCD is installed on your system. You should not run NSCD on a SAMBA server.
Plugin samba loaded, API version: 5:2:4 build(748)
Plugin proxy loaded, API version: 1:0:0 build(743)
MMC plugins activation stage 2
Selecting authenticator baseldap / base.BaseLdapAuthenticator
Authenticator baseldap successfully validated
Selecting provisioners: None
Selecting computer manager: none
SSL enabled, but peer verification is disabled.
Listening to XML-RPC requests
done.

В целом система (ММС) запустилась. Но есть ошибки. Ими займусь позже.
Перезапускаем bind9

# /etc/init.d/bind9 restart

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 11

CUPS

Для принтеров HP можно установить дополнительные пакеты (если что-то не поддерживается, сходить на - http://foo2zjs.rkkda.com/):

#aptitude install hplip libusb-dev python-dev python-reportlab libcupsys2-dev libjpeg62-dev libsnmp9-dev lsb-core

Настраиваем Cups для нашей локалки:

#vim /etc/cups/cupsd.conf
Заменим в этом файле:
Listen localhost:631 заменим на Listen 192.168.1.3:631


Далее ищем:
#Restrict access to the server...

Order allow,deny
Allow localhost

# Restrict access to the admin pages...

Encryption Required
Order allow,deny
Allow localhost

# Restrict access to configuration files...

AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost


И меняем на:

# Restrict access to the server...

Order allow,deny
Allow localhost
Allow 192.168.1.0/24

# Restrict access to the admin pages...

Encryption Required
Order allow,deny
Allow localhost
Allow 192.168.1.0/24

# Restrict access to configuration files...

AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.1.0/24


#/etc/init.d/cups restart

Настройка сервера печати закончена. После добавления нового принтера в Cups, необходимо добавить его в самбу, что бы юзеры тоже имели доступ к нему. Добавляем командой:
#cupsaddsmb -a

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 10

BIND

Переходим к неменее важному процессу настройки Bind – dns сервера.
И тут пока еще не рещенная проблема.

Копируем настройки по умолчанию в папку bind.

# cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/

Меняем точку старта slapd

# update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Пропишем localhost в качестве dns сервера в resolv.conf


#vim /etc/resolv.conf
#Мой DNS
nameserver 127.0.0.1
#DNS моего провайдера
nameserver 217.25.209.2



DHCP

Настраиваем DHCP сервер. Используем mmc конфиг dhcp сервера.

#cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
#vim /etc/dhcp3/dhcpd.conf

ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=lxf, dc=su";
ldap-password "example";
ldap-base-dn "dc=lxf, dc=su";
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";


SQUID

Настройка немного специфическая. Авторизации тут пока нет. Интернет будет раздавать только для локальной сети.

Так же мы настроим SquidGuard, он будет резать нежелательные сайты. Начнём со SquidGuard. Перенесём файл конфигурации по умолчанию в папку squid и создадим файл базы данных.

#cp /usr/share/doc/python-mmc-base/contrib/proxy/squidGuard.conf /etc/squid/
#touch /var/lib/squidguard/db/bad.destdomainlist

Редактируем конфиг squidguard'a:

#vim /etc/squid/squidGuard.conf
Заменим значение redirect, на свое:
redirect http://blocked.lxf.su/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u

Настроим прокси сервер Squid.
Для начала скопируем конфиг по умолчанию и очистим его от комментариев для удобства редактирования:


#cd /etc/squid/
#mv squid.conf squid.conf.orig
#cat squid.conf.orig | egrep "^[^#]" > squid.conf

Приступим:
#vim squid.conf
acl all src all
acl manager proto cache_object
redirect_program /usr/bin/squidGuard
acl our_networks src 192.168.1.0/24
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 3128
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow our_networks
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# http_access allow localhost
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid


#/etc/init.d/squid restart

Теперь настроим редикет. Что бы когда юзер зайдёт на запрещённый сайт ему бы вылезала спец страница с ошибкой:


#mkdir /var/www/squidguard/
#zcat /usr/share/doc/squidguard/examples/squidGuard.cgi.gz > /var/www/squidguard/squidGuard.cgi
#chmod +x /var/www/squidguard/squidGuard.cgi

После этого создадим файл виртуально хоста:

#vim /etc/apache2/sites-available/http
Добавим следующее:
NameVirtualHost 192.168.1.3:80



ServerName blocked.lxf.su
ServerAdmin Administrator@lxf.com
DocumentRoot /var/www/squidguard/

AddHandler cgi-script .cgi


AllowOverride None
Options ExecCGI
Order allow,deny
Allow from 192.168.1.0/24


ErrorLog /var/log/apache2/squidguard_error.log
CustomLog /var/log/apache2/squidguard_access.log combined
LogLevel warn




Настройка Web- интерфейсов.


Для начала создадим специальный SSL сертификат который будут использовать сервер печати Cups и консоль управления доменом MMC:

#mkdir /etc/apache2/ssl/

Система предложит заполнить сертификат. Ответим на вопросы. Можно просто жать ENTER.
#openssl req -new -x509 -keyout /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.crt -days 365 -nodes

#chmod 600 /etc/apache2/ssl/server.key

#cp /etc/apache2/ssl/* /etc/cups/ssl/


Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 9

ClamAV and SpamAssassin

Настраиваем антивирус и антиспам:

#vim etc/amavis/conf.d/15-content_filter_mode

use strict;
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1;


#vim /etc/amavis/conf.d/50-user
use strict;
$pax='pax';
1;


Добавляем clamav в группу amavis. И рестартим демоны clamav и amavis:

#vim adduser clamav amavis
#vim /etc/init.d/amavis restart
#vim /etc/init.d/clamav-daemon restart
#vim /etc/init.d/clamav-freshclam restart

Приступаем к Spamassassin.

#vim /etc/spamassassin/local.cf
добавим в самом начале строки:
# dcc
use_dcc 1
dcc_path /usr/bin/dccproc
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf
#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1


#vim /etc/spamassassin/v310.pre
Здесь должны быть раскомментированы следующие строчки:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor
loadplugin Mail::SpamAssassin::Plugin::Razor2
loadplugin Mail::SpamAssassin::Plugin::SpamCop
loadplugin Mail::SpamAssassin::Plugin::AWL
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags


Настроим spamassassin, для запуска его как демон:

#vim /etc/default/spamassassin
ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
PIDFILE="/var/run/spamd.pid"
#NICE="--nicelevel 15"
CRON=0


Перезапустим spamassassin и amavis:

#/etc/init.d/spamassassin start
#/etc/init.d/amavis restart


Антивирус и антиспам готов. Сейчас настроим проверку папки с профилями юзеров, антиврусом ClamAV. Для этого добавим в crontab(в конце файла):

#vim /etc/crontab
0 9,19 * * * root clamdscan /home/samba/profiles

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 8

Сейчас настроим дополднения к postfix - IMAP, POP3 сервер, а так же квоты. Для этого используем Devcot.

#echo "" > /etc/dovecot/dovecot.conf
#vim /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s
listen = 0.0.0.0
login_greeting = lxf.su mailserver ready.
mail_location = maildir:~/Maildir
disable_plaintext_auth = no
ssl_cert_file = /etc/ssl/certs/mail.pem
ssl_key_file = /etc/ssl/private/mail.key
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log
# IMAP configuration
protocol imap {
mail_plugins = quota imap_quota
}
# POP3 configuration
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}

# LDA configuration
protocol lda {
postmaster_address = postmaster
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = quota
}

# LDAP authentication

auth default {
mechanisms = plain login

passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}

userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}

socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = dovecot
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}

#echo "" > /etc/dovecot/dovecot-ldap.conf
#vim /etc/dovecot/dovecot-ldap.conf
hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=lxf,dc=su
scope = subtree
user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage
user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
default_pass_scheme = CRYPT
user_global_gid = mail


Задаем права для dovecot и рестартим его:
#dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver
#/etc/init.d/dovecot restart

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 7

ПОЧТА продолжение

С настройками безопасности и аутентификацией закончили. Настраиваем Postfix. Настройка базовая. Добавим только поддержку виртуальных доменов. Копируем файл конфигурации предложенный MMC:

#cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains/* /etc/postfix/

Теперь отредактируем главный файл конфигурации. Он будет выглядеть примерно так:

#vim /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_at_myorigin = yes
append_dot_mydomain = no

myhostname = pdc.lxf.su
#alias_maps = hash:/etc/aliases
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = pdc.lxf.su,lxf.su,localhost.localdomain,localhost
mail_destination_recipient_limit = 1
mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN"
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
luser_relay =

# Virtual Domains Control
virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cf
virtual_mailbox_base = /
virtual_alias_domains =
virtual_minimum_uid = 100
virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cf
virtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf

# Use Maildir
home_mailbox = Maildir/
# Wait until the RCPT TO command before evaluating restrictions
smtpd_delay_reject = yes
# Basics Restrictions
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
# Requirements for the connecting server
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client list.dsbl.org,
permit
# Requirements for the HELO statement
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_invalid_hostname,
permit
# Requirements for the sender address
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
# Requirement for the recipient address
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
permit
# Enable SASL authentication for the smtpd daemon
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# Fix for outlook
broken_sasl_auth_clients = yes
# Reject anonymous connections
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
# SSL/TLS
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_cert_file = /etc/ssl/certs/mail.pem
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
# Amavis
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings


Затем отредактируем оставшиеся файлы. Заменяем в них строчку «search_base» на:
search_base = ou=Users,dc=lxf,dc=su

#vim /etc/postfix/ldap-accounts.cf
#vim /etc/postfix/ldap-domains.cf
#vim /etc/postfix/ldap-maildrop.cf
#vim /etc/postfix/ldap-uid.cf
#vim /etc/postfix/ldap-aliases.cf
#vim /etc/postfix/ldap-gid.cf
#vim /etc/postfix/ldap-transport.cf


Последняя настройка postfix - редактируем:
#vim /etc/postfix/master.cf
В этом файле после строчки #smtps добавим:
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# Dovecot
dovecot unix - n n - - pipe
flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient
# Mail to Amavis
amavis unix - - - - 10 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
# Mail from Amavis
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks


Все, перезапускаем postfix:
# /etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.

суббота, 21 февраля 2009 г.

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 6

ПОЧТА

Настроим протокол SSL. Создаем конфиг:
# vi /etc/ssl/mail.cnf
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
prompt = no
string_mask = nombstr
x509_extensions = server_cert
[ req_distinguished_name ]
countryName = RU
stateOrProvinceName = Omskaya oblast
localityName = Omsk
organizationName = lxf OOO
organizationalUnitName = IT
commonName = pdc.lxf.su
emailAddress = postmaster@lxf.su
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"

Создадим SSL сертификат и установим на него правильные права:
# openssl req -x509 -new -config /etc/ssl/mail.cnf -out /etc/ssl/certs/mail.pem -keyout /etc/ssl/private/mail.key -days 365 -nodes -batch
Generating a 2048 bit RSA private key
....................................................................................................................+++
....+++
writing new private key to '/etc/ssl/private/mail.key'
-----
# chmod 600 /etc/ssl/private/mail.key

Далее, настраиваем пакет SASL. Его настройка нужна для Postfix. Т.к. он использует его для аутентификации юзеров в LDAP.

# mkdir -p /var/spool/postfix/var/run/saslauthd/

Исправим следующие строчки в:
# vim /etc/default/saslauthd

START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

# vim /etc/saslauthd.conf
ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=lxf,dc=su
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))

# vim /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login

Добавляем юзера postfix в группу sasl. И перезапускаем sasl:


# adduser postfix sasl
# /etc/init.d/saslauthd restart

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 5

Создаем конфигурационные файлы для smbldap-tools:
# vim /etc/smbldap-tools/smbldap_bind.conf
slaveDN="cn=admin,dc=lxf,dc=su"
slavePw="example"
masterDN="cn=admin,dc=lxf,dc=su"
masterPw="example"

В следующий файлик надо будет вставить наши данные и SID, который получили пару шагов назад:
SID="
S-1-2-51-6367416939-3848486559-4512677050"
sambaDomain="IT"
ldapTLS="0"
suffix="dc=lxf,dc=su"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=IT,${suffix}"
scope="sub"
hash_encrypt="SSHA"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\\PDC-IT\%U"
userProfile="\\PDC-IT\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="lxf.su"
smbpasswd="/usr/bin/smbpasswd"


Задаем права на файлы:
# chmod 0644 /etc/smbldap-tools/smbldap.conf
# chmod 0600 /etc/smbldap-tools/smbldap_bind.conf

Теперь заполнеям ldap базу и создаем аккаунт администратора (Administrator):
# smbldap-populate -m 512 -a Administrator
Populating LDAP directory for domain IT (
S-1-2-51-6367416939-3848486559-4512677050)
(using builtin directory structure)

entry dc=lxf,dc=su already exist.
adding new entry: ou=Users,dc=lxf,dc=su
adding new entry: ou=Groups,dc=lxf,dc=su
adding new entry: ou=Computers,dc=lxf,dc=su
adding new entry: ou=Idmap,dc=lxf,dc=su
adding new entry: uid=Administrator,ou=Users,dc=lxf,dc=su
adding new entry: uid=nobody,ou=Users,dc=lxf,dc=su
adding new entry: cn=Domain Admins,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Domain Users,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Domain Guests,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Domain Computers,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Administrators,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Account Operators,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Print Operators,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Backup Operators,ou=Groups,dc=lxf,dc=su
adding new entry: cn=Replicators,ou=Groups,dc=lxf,dc=su
entry sambaDomainName=IT,dc=lxf,dc=su already exist. Updating it...

Please provide a password for the domain Administrator:
Changing UNIX and samba passwords for Administrator
New password:
Retype new password:

В двух послених строчках думаю все понятно - задаем пароль. Я как и везде выбрал example.

Так же добавим Administrator в Domain Users:
#
smbldap-usermod -u 3000 -G "Domain Users" Administrator

Заменим /etc/nsswitch.conf на предложенный MMC:
#cp /usr/share/doc/python-mmc-base/contrib/ldap/nsswitch.conf /etc/nsswitch.conf


И создадим каталоги описанные в smb.conf:
# mkdir -p /home/samba/shares/public/
# mkdir /home/samba/netlogon/
# mkdir /home/samba/profiles/
# mkdir /home/samba/partage/
# mkdir /home/samba/archives/

Поправим права доступа:
# chmod 777 /var/spool/samba/ /home/samba/shares/public/
# chmod 755 /home/samba/netlogon/
# chmod 770 /home/samba/profiles/ /home/samba/partage/
# chmod 700 /home/samba/archives/


PAM LDAP

Добавляем поддержку ldap в PAM. После редакции необходимых нам файлов, они должны выглядеть так:
# cat /etc/pam.d/common-account
account required pam_unix.so
account sufficient pam_ldap.so

# cat /etc/pam.d/common-auth
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so

# cat /etc/pam.d/common-password
password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password sufficient pam_ldap.so use_first_pass use_authtok
password required pam_deny.so

# cat /etc/pam.d/common-session
session required pam_unix.so
session optional pam_ldap.so

Теперь reboot
ОБЯЗАТЕЛЬНО!

Теперь можно сделать то, что в оригинальной документации написанно раньше, но без настройки взоимодействия PAM и ldap - точно не работает:
# chown -R :"Domain Users" /home/samba/

Теперь надо дать право Domain Admins добавлять машины в домен:


# net -U Administrator rpc rights grant 'IT\Domain Admins' SeMachineAccountPrivilege
Enter Administrator's password:
Successfully granted rights.


На этом настройка домена закончилась. Поздравляю!

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 4

SAMBA

# /etc/init.d/samba stop
Stopping Samba daemons: nmbd smbd.

Копируем конфиги от MMC:

# cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/


Редактируем:
# vim /etc/samba/smb.conf
==============
[global]
workgroup = IT
netbiosname = PDC-IT
preferred master = yes
os level = 65
wins support = yes
enable privileges = yes
timeserver = yes
socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
log level = 3
null passwords = yes
security = user
# unix charset = ISO8859-1
name resolve order = bcast host
domain logons = yes
domain master = yes
printing = cups
printcap name = cups
logon path = \\%N\profiles\%U
logon script = logon.bat
logon drive = H:
map acl inherit = yes
nt acl support = yes
passdb backend = ldapsam:ldap://127.0.0.1/
obey pam restrictions = no
ldap admin dn = cn=admin,dc=lxf,dc=su
ldap suffix = dc=lxf,dc=su
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
ldap passwd sync = yes
# ldap delete dn = yes
passwd program = /usr/sbin/smbldap-passwd -u %u
passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n
add user script = /usr/sbin/smbldap-useradd -m "%u"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add machine script = /usr/lib/mmc/add_machine_script '%u'
delete user script = /usr/sbin/smbldap-userdel "%u"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
acl group control = yes


[homes]
comment = Home directories
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
hide files = /Maildir/

[public]
comment = Public share
path = /home/samba/shares/public
browseable = yes
public = yes
writeable = yes

[archives]
comment = Backup share
path = /home/samba/archives
browseable = yes
public = no
writeable = no

[printers]
comment = Printers
path = /tmp
browseable = no
public = yes
guest ok = yes
writeable = no
printable = yes

[print$]
comment = Drivers
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = Administrator,root,@lpadmin

[netlogon]
path = /home/samba/netlogon
public = yes
writeable = yes
browseable = no

[profiles]
path = /home/samba/profiles
writeable = yes
create mask = 0700
directory mask = 0700
browseable = no
hide files = /desktop.ini/ntuser.ini/NTUSER.*/

[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes

[www]
path = /usr/share/mmc
writeable = yes
admin users = Administrator, ADSL\Administrator
create mask = 0777
directory mask = 0777
browseable = no
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
==============

Тестируем:
# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[public]"
Processing section "[archives]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[netlogon]"
Processing section "[profiles]"
Processing section "[partage]"
Processing section "[www]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions


Все ок.

Даем самбе права на чтение ldap.
# smbpasswd -w example
Setting stored password for "cn=admin,dc=lxf,dc=su" in secrets.tdb

Получаем SID:
# net getlocalsid IT
SID for domain ADSL is: S-1-2-51-6367416939-3848486559-4512677050

Проверим регистрацию SID в ldap:
# slapcat | grep sambaDomainName
dn: sambaDomainName=IT,dc=lxf,dc=su
sambaDomainName: IT

# /etc/init.d/samba start
Starting Samba daemons: nmbd smbd.

C самбой - все!

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 3

Переходим к конфигурации домена:

Пререносим схемы MMC для использования в ldap:
#cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/
#cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz > /etc/ldap/schema/printer.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz > /etc/ldap/schema/dnszone.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema


Прописываем схемы в конфиге ldap:
ниже уже прописанных схем (include /etc/ldap/schema/inetorgperson.schema) вставляем следующее:


# vim /etc/ldap/slapd.conf
include /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/printer.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema

А вот эта строчка указанная в оригинальной документации(для etch) у меня не за работала - писала ошибку. Поэтому мы ее НЕ прописываем:

Schemacheck on

Далее получаем админский пароль от LDAP в шифрованном виде. Шифруем с помощью SSHA.
# slappasswd -s example

{SSHA}u1wI00I0/oe5R+3I7g5WBu230jDMQNGX

Теперь заменим строку "# rootdn "cn=admin,dc=lxf,dc=su"" на:
# vim /etc/ldap/slapd.conf
rootdn "cn=admin,dc=lxf,dc=su"
rootpw
{SSHA}u1wI00I0/oe5R+3I7g5WBu230jDMQNGX

В этом же файле ищем # Indexing options for database #1 нижеё строка index objectClass eq удаляем её. В место неё вставляем следующее:
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq


Здесь же ищем строку access to attrs=userPassword,shadowLastChange и изменяем её на:
access to attrs=userPassword,sambaLMPassword,sambaNTPassword


И последнее изменение в строчке "loglevel none":
loglevel 256

Добавим в сымый конец файла /etc/ldap/ldap.conf две строчки:
# vim /etc/ldap/ldap.conf
host 127.0.0.1
base dc=lxf,dc=su


C ldap - законченно! Рестартим его:
# /etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: slapd.

Выдержка из оригинальной документации:
==============
Да, кстати по поводу журналов в mmc. Мы так же должны добавить в файл /etc/syslog.conf следующее (Где то в середине, я думаю вы поймёте куда добавлять):

Код
local4.* /var/log/ldap.log
==============
В lenny по такой метод не сработает, делаем по другому, добавляем после строчки "user.* -/var/log/user.log" в
# vim /etc/rsyslog.conf
local4.* /var/log/ldap.log

Затем создаем этот файл:
# touch /var/log/ldap.log
# chmod 0640 /var/log/ldap.log
# chgrp openldap /var/log/ldap.log
# /etc/init.d/rsyslog restart
# /etc/init.d/slapd restart
И смотрим /var/log/ldap.log, если записи о событиях появиись - все ОК.

Mandriva Directory Server (MDS) + VMware Server 2 + Debian lenny Часть 2

Добавляем репозитории:
# vim /etc/apt/sources.list
===========
# Mandriva Directory Server
deb http://mds.mandriva.org/pub/mds/debian etch main

# Debian Etch Backports
deb http://www.backports.org/debian lenny-backports main
===========

#aptitude update
===========
Reading package lists... Done
W: GPG error: http://www.backports.org lenny-backports Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8E8B2116BA136C
W: You may want to run apt-get update to correct these problems
===========
Это можно проигнорировать.

Далее включаем поддержку ACL:
#vim /etc/fstab
/dev/sda1 / ext3 acl,errors=remount-ro 0 1
(или того раздела где у вас будут храниться шары самбы)
#mount -o remount /

Проверяем:
#mount -l
/dev/sda1 on / type ext3 (rw,acl,errors=remount-ro)

Устанавливаем NTP-сервер:
#aptitude install ntp

Далее устанавливаем необходимые пакеты для запуска MDS (от списка указанного в оригинальной документации отличается следующим:
unzoo - это теперь включенно в aview, libsasl2 - это теперь libsasl2-2, и добавил phpldapadmin):

#aptitude install fontconfig hpijs-ppds linuxprinting.org-ppds make mkisofs arj spamassassin libnet-dns-perl razor pyzor slapd ldap-utils libnss-ldap libpam-ldap dhcp3-server dhcp3-server-ldap bind9 samba smbclient smbldap-tools cupsys cupsys-client foomatic-db-engine foomatic-db foomatic-db-hpijs foomatic-db-gutenprint foomatic-filters foomatic-filters-ppds phpldapadmin aview amavisd-new libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl lzop nomarch zoo clamav clamav-daemon gzip bzip2 unzip unrar-free python-mmc-mail python-mmc-network python-mmc-proxy python-mmc-samba postfix postfix-ldap sasl2-bin libsasl2-2 libsasl2-modules mmc-web-base mmc-web-mail mmc-web-network mmc-web-proxy mmc-web-samba mmc-agent python-mmc-plugins-tools python-mmc-base

По ходу установки нас просят:
  • Workgroup\Domain name - IT
  • Modify smb.conf to use WINS settings from DHCP - No
  • slapd Administrator password: example
  • LDAP server Uniform Resource Identifier: ldap://127.0.0.1/
  • Distinguished name of the search base: dc=lxf,dc=su
  • LDAP version to use: 3
  • LDAP account for root: cn=admin,dc=lxf,dc=su
  • LDAP root account password: example
  • Make local root Database admin: Yes
  • Does the LDAP database require login? - No
  • LDAP account for root: cn=admin,dc=lxf,dc=su
  • При установке postfix - Internet site, name - pdc.lxf.su (еще попутно будет удален exim4)
Теперь устанавливаем dovecot (из репозитория lenny, а не etch):

#aptitude install -t lenny-backports dovecot-common dovecot-imapd dovecot-pop3d

dcc-client так и не появился в репозиториях Debian, бирем из Ubuntu:
#cd /tmp
#wget -c http://www.ftp.uni-erlangen.de/pub/mirrors/ubuntu/pool/universe/d/dcc/dcc-client_1.2.74-2_i386.deb
#wget -c http://ftp.oleane.net/pub/ubuntu/pool/universe/d/dcc/dcc-common_1.2.74-2_i386.deb


Устанавливаем их:
#dpkg -i dcc-client_1.2.74-2_i386.deb dcc-common_1.2.74-2_i386.deb