- •Мегоубернастройка сервера ubuntu 10.04 lts
- •Установка и настройка текстовых браузеров (lynx, links2)
- •2. Конфигурируем сервер на использование ldap аутентификации
- •3. Заполняем нашу базу в ldap и настраиваем samba
- •4. Назначаем права администратору домена и добавляем сервер в домен
- •Postfix и куча примочек
- •Internet - сайт
- •Использованные источники
Мегоубернастройка сервера ubuntu 10.04 lts
Обозачения: Красным выделены команды, которые мы вводим в консоль
Синим выделен текст, который мы вводим в файл
Зеленым выделен текст, приблизительно который мы должны получить
Фиолетовым выделены мои комментарии
Черным выделено пошаговое описание
В данном мануале для редактирования файлов я использую редактор “nano”,
Все пароли – “admin”
Адрес - trest91.ru
Хост - nx2.trest91.ru
Все действия выполняются от рута (sudo –s)
Если вы гдето замечаете oban.trest91.ru (хост) или <mail_password> и все в таком духе, меняйте значения на свои, это автор очепятался, не вставив свои значения. Также мог перепутать цвета сообщения.
Bind9
apt-get install bind9 устанавливаем бинд
touch /var/lib/named/etc/bind/myzones.conf
chown bind:bind /var/lib/named/etc/bind/myzones.conf
nano /var/lib/named/etc/bind/myzones.conf
zone "trest91.ru" {
type master;
file "trest91.ru";
};
touch /var/lib/named/etc/bind/trest91.ru
chown bind:bind /var/lib/named/etc/bind/trest91.ru
nano /var/lib/named/etc/bind/trest91.ru
$ORIGIN trest91.ru.
$TTL 86400 ; 1 day
@ IN SOA localhost. root.localhost. (
2012051001 ; serial год/месяц/день/кол-во редакт-нии
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
@ IN NS localhost.
@ IN A 192.168.0.1
www IN CNAME trest91.ru.
rndc reload
nslookup trest91.ru 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: trest91.ru
Address: 195.189.108.74
Установка и настройка текстовых браузеров (lynx, links2)
Для начала установим понравившийся браузер. Я использовал оба, в линксе2 мне нравился удобный интерфейс, но lynx имеет некоторые удобные настройки, которые нам потом пригодятся. Тут опишу полезные команды и установку lynx
apt-get install lynx
lynx
G – перейти по ссылке (принимаем все куки)
O – опции (тут полезной строкой является Редактор – туда вписываем nano (советую это делать перед каждым началом работы) и применяем изменения). Данная операция позволяет открывать некоторые текстовые документы, в текстовом редакторе, для дальнейшего их сохранения и редактирования. Чтобы открыть данную область (работает не везде) нужно нажать CTRL+X+E
Настройка openldap, samba3 и возможность дальшейшей настройки и работы Gosa
скачиваем Gosa 2.6.13 с оф. сайта.
wget -P /tmp http://oss.gonicus.de/pub/gosa/gosa-combined-2.6.13.tar.bz2
Распаковываем содержимое архива
tar xjf /tmp/gosa-combined-2.6.13.tar.bz2 -C /tmp
Копируем в /usr/share/gosa
cp -R /tmp/gosa-combined-2.6.13 /usr/share/gosa
Создаём каталоги необходимые Gosa
mkdir /etc/gosa && mkdir /var/spool/gosa && mkdir /var/cache/gosa
Разрешим группе www-data запись в каталоги
chown root:www-data /var/spool/gosa && chmod 775 /var/spool/gosa
chown root:www-data /var/cache/gosa && chmod 770 /var/cache/gosa
Приступаем к настройке LDAP
Устанавливаем необходимые пакеты
apt-get install slapd ldap-utils
Подключаем базовые схемы
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/misc.ldif
Копируем схему samba в каталог /etc/ldap/schema
cp /usr/share/gosa/contrib/openldap/samba3.schema /etc/ldap/schema/
Схему samba3.schema необходимо перевести в формат ldif
cd /etc/ldap
nano schema_convert.conf
следующего содержания:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/samba3.schema
Затем создадим временный каталог и конвертируем в него схему
mkdir /tmp/ldif_output
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={6}samba3,cn=schema,cn=config" > /tmp/cn=samba3.ldif
Переходим в каталог с полученной схемой
cd /tmp/
nano cn=samba3.ldif
Редактируем заголовок:
было:
dn: cn={6}samba3,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: {6}samba3
стало:
dn: cn=samba3,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: samba3
В конце схемы удаляем строки примерно следующего содержания
structuralObjectClass: olcSchemaConfig
entryUUID: 7ffcc302-2474-102f-8b3e-d5fe493c556a
creatorsName: cn=config
createTimestamp: 20100715155056Z
entryCSN: 20100715155056.239425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20100715155056Z
То есть удаляем всё начиная с structuralObjectClass: и до конца файла.
Ну и на последок копируем и переименовываем файл схемы
cp /tmp/cn\=samba3.ldif /etc/ldap/schema/samba3.ldif
Далее необходимо подобным образом отредактировать все ldif файлы находящиеся в /usr/share/gosa/contrib/openldap/
cd /usr/share/gosa/contrib/openldap/
При редактировании схем Gosa НЕ ЗАБЫВАЙТЕ в первой строке по мимо удаления скобок с номером {13} дописывать ,cn=schema,cn=config иначе схемы Gosa не будут подключены что в дальнейшем приведёт к множеству ошибок.
Теперь копируем их в каталог /etc/ldap/schema
cp /usr/share/gosa/contrib/openldap/*.ldif /etc/ldap/schema/ && cp /usr/share/gosa/contrib/openldap/*.schema /etc/ldap/schema/
Подключаем схемы в следующем порядке
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/trust.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba3.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gosystem.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gofon.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goto.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goto-mime.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gosa-samba3.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gofax.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goserver.ldif
Порядок схем обязателен!!! Иначе работать не будет, на данный момент должно быть подключено 15 схем (0-14) в каталоге /etc/ldap/slapd.d/cn=config/cn=schema/
Если их нет, удаляем существующие и начинаем все заного.
cd /etc/ldap
nano db.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb.la
dn: olcDatabase={1}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=trest91,dc=ru
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=trest91,dc=ru
olcRootPW: тут пока ничё не вводим
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet,userPassword by dn="cn=admin,dc=trest91,dc=ru" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to dn.subtree="" by * read
olcAccess: to * by dn="cn=admin,dc=trest91,dc=ru" write by * read
Теперь вводим:
slappasswd -h {MD5} –s admin
{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
Полученную строку вводим в “olcRootPW:” в файле db.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f db.ldif
Устанавливаем пакет gnutls-bin
apt-get install gnutls-bin
Создаём ключ для Certificate Authority (CA)
sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
cd /etc/ssl && nano ca.info
cn = Trest
ca
cert_signing_key
Теперь создаём self-signed CA сертификат
certtool --generate-self-signed --load-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/ca.info --outfile /etc/ssl/certs/cacert.pem
Создаём закрытый ключ для нашего сервера
sh -c "certtool --generate-privkey > /etc/ssl/private/nx2_slapd_key.pem"
nano /etc/ssl/ldap01.info
organization = Trest
cn = nx2.trest91.ru
tls_www_server
encryption_key
signing_key
Создаём сертификат для сервера
certtool --generate-certificate --load-privkey /etc/ssl/private/nx2_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem --load-ca-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/nx2.info --outfile /etc/ssl/certs/nx2_slapd_cert.pem
ldapmodify -Y EXTERNAL -H ldapi:///
затем вставляем следующее:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
После чего жмём дважды enter должна появится надпись modifying entry «cn=config» и Ctrl+D для выхода.
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Теперь пользователь openldap должен иметь доступ к сертификату
adduser openldap ssl-cert && chgrp ssl-cert /etc/ssl/private/nx2_slapd_key.pem && chmod g+r /etc/ssl/private/nx2_slapd_key.pem
/etc/init.d/slapd restart
Если после перезагрузки ldap не запустился, а в syslog присутствует main: TLS init def ctx failed: -1, это ошибка конфигурации, проверьте содержимое файла /etc/ldap/slapd.d/cn=config.ldif правильно ли в нём указаны пути и названия сертификатов и убедитесь в том что группа ssl-cert имеет возможность читать закрытый ключ /etc/ssl/private/ldap01_slapd_key.pem
Теперь добавим индексы для samba
cd /etc/ldap
nano samba_indexes.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
ldapmodify -Y EXTERNAL -H ldapi:/// -f samba_indexes.ldif
Добавим индексы для gosa
nano gosa_indexes.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: mail eq,sub
olcDbIndex: gosaMailAlternateAddress,gosaMailForwardingAddress eq
olcDbIndex: cn,sn,givenName,ou pres,eq,sub
olcDbIndex: gosaSubtreeACL,gosaObject,gosaUser pres,eq
olcDbIndex: displayName eq
olcDbIndex: ipHostNumber eq
olcDbIndex: postfixMyDestinations eq
olcDbIndex: entryCSN eq
olcDbIndex: entryUUID eq
ldapmodify -Y EXTERNAL -H ldapi:/// -f gosa_indexes.ldif
nano /etc/ldap/ldap.conf
BASE dc=trest91,dc=ru
URI ldap://localhost ldaps://nx2.trest91.ru
TLS_CACERT /etc/ssl/certs/cacert.pem
/etc/init.d/slapd restart
Если при этом slapd на перезагрузится, а команда slaptest выдаст
config error processing olcDatabase={2}hdb,cn=config: <olcSuffix> namingContext "dc=example,dc=com" already served by a preceding hdb database
slaptest: bad configuration file!
то удалите файл /etc/ldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
rm /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
и повторите попытку перезагрузить LDAP
Всё настройка LDAP окончена.