Строим сеть на Calculate Directory Server::Журнал СА 8.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6227
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6933
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4217
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3008
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3807
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3823
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6317
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3172
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3462
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7279
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10647
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12367
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14000
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9126
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7079
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5389
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4617
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3428
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3156
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3402
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3027
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Строим сеть на Calculate Directory Server

Архив номеров / 2009 / Выпуск №8 (81) / Строим сеть на Calculate Directory Server

Рубрика: Сети /  Сети

СЕРГЕЙ ЯРЕМЧУК, инженер автоматизации. Автор более 800 статей и 4 книг. В «Системном администраторе» публикуется с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Строим сеть  
на Calculate Directory Server

Принято считать, что управлять большим количеством Linux-систем очень сложно, разработчики Calculate Linux доказали, что это не так.

Here all my tuxian friends are scared when it comes to gentoo or anything related to it. they say,
"hands will be on fire, if you touch it" so much customizable. now everyone is talking
of Calculate Linux. its a real blessing, i must say.

Все мои друзья пугаются, когда речь идет о Gentoo. Они говорят: «Руки будут гореть, если прикоснуться к нему», –
столько настроек. Сейчас они говорят о Calculate Linux. Я должен сказать, это реальное благословление.

Из сообщения в IRC проекта Calculate Linux

Зачем еще одно «поделие»?

Учитывая, что подобный вопрос неизменно появляется в качестве комментариев после анонса любого нового дистрибутива, следует уделить несколько строк проекту Calculate Linux [1].

Linux-системы ассоциируются с несколькими понятиями – бесплатность, доступность, стабильность, безопасность, управляемость, доступ к коду и возможность его изменения. Но именно бесплатность ставят на первое место, когда рассматривается вопрос о внедрении. Делая ставку на то, что системы на базе этой ОС можно свободно скачать и использовать без отчислений и постепенно довести ИТ-инфраструктуру до необходимого уровня. Учитывая затяжное внедрение и необходимость в наличии подготовленных кадров, основной упор при переходе на Linux переносится с цены приобретения на стоимость сопровождения. Именно такой аргумент приводят сторонники Microsoft, указывая, что совокупное владение Linux, несмотря на нулевую стоимость, все-таки выше именно за счет обучения и оплаты системного администратора, службы поддержки и обслуживания. Вероятно, в условиях кризиса в этом даже больше выгоды, так как финансирование внедрения Linux не будет требовать больших первоначальных вложений, а развитие ИТ-инфраструктуры может идти и финансироваться постепенно, по мере необходимости. Но как раз без должного финансирования переход на свободные ОС может длиться лишь усилиями энтузиастов и длиться не один месяц.

Именно поэтому многие используют Linux дома или на отдельных системах, в частности, сервера на предприятии. На массовое повсеместное внедрение решаются не все, не говоря уже о полном переходе. Ведь необходимо не только развернуть систему на десятках/сотнях компьютеров, но и обеспечить автоматическое обновление, произвести первоначальные настройки, в том числе настроить единую систему аутентификации пользователя, переобучить персонал. Немаловажен тот факт, что многие специфические программы не имеют свободных аналогов или такие аналоги слабо документированы, некоторое оборудование не имеет драйверов под эту ОС.

Причем здесь Calculate Linux? Ответ дан в кратком описании на сайте «Calculate Linux – это открытый проект по внедрению Linux повсеместно. Проект представляет свободный и легкий доступ ко всем возможностям Gentoo». Прошу заметить, первым в списке задач стоит именно внедрение, дистрибутив лишь инструмент, обеспечивающий простоту внедрения. Собственно, и проект возник в результате перевода систем ЗАО «Калкулэйт Пак» на Linux, что примечательно – ЗАО не имеет никакого прямого отношения к ИТ. Идейным вдохновителем и руководителем является Александр Трацевский, основная группа разработчиков включает еще двух человек.

Постепенно накапливался опыт, выбирались оптимальные процедуры обновления систем и программ, входящих в состав дистрибутива, оконный менеджер и его формление, появились утилиты собственной разработки. Использование единой учетной записи позволяет не только удобно управлять доступом к ресурсам в пределах организации, но и пользователь теперь не привязан к рабочему месту. После регистрации получает с сервера свое рабочее окружение со всеми файлами и настройками. Все это работает «из коробки», настраивается очень просто и не требует от администратора глубоких знаний Linux-систем (хотя они в любом случае приветствуются). Конечно, все это делалось под нужды определенной структуры, так как это удобно самим разработчикам, вводилось постепенно, не за один день. Но как показывает тестирование, довести до ума сеть на Calculate Linux можно на порядок быстрее, чем на Gentoo, который и является основой Calculate. При этом совместимость с Gentoo сохранена на 100%, все дополнительные пакеты собираются из ebuild-файлов Calculate Overlay. Релизы системы выходят стабильно раз в месяц (как правило, в первых числах), система нумерации подобна Ubuntu (год.месяц). Актуальной на момент написания статьи является версия 9.7, но уже полным ходом идет работа над 9.8, в которой нам обещают еще одну новинку – Calculate Linux Scratch (CLS), который позволит быстро собрать свой вариант дистрибутива.

Вполне естественно, что настало время поделиться своим опытом с другими и, возможно, привлечь к проекту разработчиков. Постепенно был открыт сайт, форум и IRC-канал #calculate на irc.freenode.net. Учитывая более простую систему установки и обновления, ежемесячный цикл выхода релизов, не требующих самостоятельно пересобирать систему и тестировать приложения на совместимость, многие пользователи выбрали Calculate вместо Gentoo в качестве настольной системы.

В настоящее время проект предлагает три варианта системы. Серверная версия – Calculate Directory Server (CDS), основой которого является LDAP-сервер, используемый для авторизации пользователей, централизованного хранения профилей, прав доступа, настроек сеансов пользователей и настроек приложений в едином сетевом хранилище. Поддерживается репликация почтовых и Samba-серверов, централизованное обновление серверов и рабочих станций, резервирование и восстановление данных.

Его альтернативой можно считать Mandriva Directory Server [3] стоимостью 5550 руб или Red Hat Directory Server (RHDS) [4]. Основной компонент для RHDS – 389 (ранее Fedora Directory Server Project) [5] доступен свободно, правда, с установкой в дистрибутиве, отличном от Red Hat, придется немного повозиться. Но главное – по возможностям оба этих решения уступают бесплатному CDS.

И две настольные – Calculate Linux Desktop (CLD) с рабочей средой KDE 4.x и Calculate Linux Desktop XFCE (CLDX) с рабочим столом XFce. Последняя имеет меньшие системные требования и ориентирована на применение на маломощных машинах. CLDX – это первая проба, основной настольной системой считается именно CLD, который максимально адаптирован для совместной работы с CDS. При подключении к домену с сервера забираются профили пользователей, автоматически подключаются сетевые папки, каталог FTP, соответствующий ярлык появляется на рабочем столе. Кроме этого пользователь автоматически получает доступ к почтовому, Jabber и прокси-серверу (если он ему разрешен). И главное, все это просто настраивается.

Следует отметить документацию проекта, написанную без излишних технических подробностей «под себя», но с массой практических примеров для всех вариантов использования системы. Жаль только, что она иногда запаздывает, и из всего многообразия пошаговое руководство для новичка, позволяющее настроить полноценную сеть, сложить трудно, потребуется все-таки некоторый опыт в администрировании систем. Хотя заметно оживление, возможно, в будущем проблема документации будет решена. Собственно, и сама статья является попыткой свести все к одному логическому знаменателю. Система работает на Intel-совместимых процессорах, не ниже Pentium Pro (i686, x86_64), поддерживает установку на PATA-, SATA- и SCSI-контроллеры, имеет поддержку сетевого беспроводного оборудования Wi-Fi. Интересно, что совсем молодой Calculate Linux по рейтингу Distrowatch.com занимает первое среди дистрибутивов, сделанных в России (общее 72 место).

Теперь рассмотрим, как настроить связку CDS и CLD/CLDX.

Установка Calculate Linux

Перед загрузкой рекомендую на всякий случай ознакомиться с документом «Структура FTP-зеркала», это снимет ряд вопросов, что и где скачивать. Дистрибутив CDS и CLDX поставляется в виде LiveCD, а CLD – LiveDVD ISO-образов. Образы находятся в одноименных каталогах, внутри – отдельные подкаталоги со сборками для i686- и x64-систем. Здесь же доступны tar.7z-архивы, которые предназначены для обновления дистрибутива и по составу приложений не отличаются от ISO-вариантов. Последние версии Calculate поддерживают обновление и из установочных ISO-образов, поэтому дополнительно tar.7z-файл скачивать уже не обязательно.

Аппаратные требования системы для работы невысоки: процессор класса i686, 256 Мб ОЗУ (512 Мб для CLD) и 3 Гб (6 Гб CLD) на жестком диске. После перехода в версии 9.6 на использование алгоритма LZMA во время установки требуется не менее 1 Гб ОЗУ, иначе копирование файлов завершается с ошибкой. Решить проблему можно, подключив swap-раздел командой swapon. Разработчики знают о проблеме, и уже в CLD 9.7 установочный скрипт самостоятельно монтирует swap-раздел перед началом копирования файлов (в CDS 9.7 для этого необходимо обновить установщик).

Установка дистрибутива на жесткий диск, обновление, а также сборка загрузочного ISO-образа системы производится при помощи Perl-утилиты calculate собственной разработки, работающей в консоли. Несмотря на отсутствие каких-либо графических инструментов, процесс инсталляции очень прост. Следует загрузиться в Live-режиме (при наличии 2 Гб памяти можно выгрузить образ в ОЗУ), обновить скрипт calculate.

В версии 9.6 для этого следовало выполнять:

# calculate --update

В релизе 9.7 появилась новая версия calculate 1.1.0, которая не поддерживает параметра --update, поэтому обновлять следует через emerge:

# layman -S && emerge calculate

Далее два варианта установки. Первый – самый простой и почему-то до сих пор недокументированный на сайте проекта. При наличии жесткого диска размером больше 45 Гб (при установке на флешку достаточно 512 Мб) утилита calculate умеет автоматически разбивать пространство и создавать разделы (все разделы будут уничтожены). В этом случае в качестве параметра необходимо указать только диск:

# calculate --disk=/dev/sda

 В результате будет установлена система, жесткий диск будет разбит на такие разделы:

  •  /dev/sda1 swap
  •  /dev/sda2 (/) 10 Гб (десктоп) или 20 Гб (сервер)
  •  /dev/sda3 (/)10 Гб (десктоп) или 20 Гб (сервер)
  •  /dev/sda4 Extended
  •  /dev/sda5 Linux (/var/calculate – для CDS/CLD/CLDX)

Именно такая схема рекомендуется разработчиками, и, чтобы получить все преимущества Calculate, ее желательно придерживаться (почему – объясню чуть позже). Под корневой раздел можно отвести меньшее место (в документации указано 10-20 Гб, но нижний предел можно сделать еще меньше, установка занимает меньше 3 Гб).

Если в результате работы скрипта получаем сообщение:

The size of the disk is not sufficient to perform automatic partitioning!

то жесткий диск необходимо разметить вручную, при помощи fdisk/cfdisk. И указать затем на корневой в параметре запуска:

# calculate --disk=/dev/sda2

При большом количестве однотипных систем (типичные размеры жестких дисков 20, 30, 40, 80 Гб …), проще подправить скрипт calculate, указав свои настройки.

Например, за проверку объема диска отвечает такая строка:

if($size < 45){ printmes(gettext('The size of the disk is not sufficient to perform automatic partitioning')."!\n");

Указываем свой минимальный размер вместо 45. Параметры для разметки диска берутся из одного из файлов fdisk.*, соответствующего версии системы, который находится в /usr/calculate/install/config. Внутри файла – набор команд для fdisk, просто указываем другие размеры.

Разделы Calculate

Теперь следует разобраться, зачем используется такая довольно нестандартная схема разделов. Обновить Calculate можно стандартным для Gentoo способом, как описано в документации проекта Gentoo [4]:

# emerge --sync && emerge -uD world

# env-update

Но в Gentoo изначально отсутствует понятие релиза как такового, любая сборка считается стабильной, поэтому главная идеология проекта гласит – хочешь иметь стабильную систему – обновляй все. Версии пакетов привязаны к профилю, руководство рекомендует обязательно обновлять профиль, если он объявляется нежелательным. В итоге после нескольких часов пересборки системы приходится еще заниматься адаптацией существующих настроек программ к их новым версиям. Если на домашнем (персональном) компьютере это может быть приемлемо, то простой даже одного сервера или рабочей системы пользователей на предприятии невозможен. А что делать, если их несколько сотен? Именно поэтому многие администраторы, использующие Gentoo, обновляют систему на сервере максимум один раз, на вторую попытку уже мало кто решается.

Разработчики Calculate сумели выйти из этого положения, вероятно, кому-то покажется, что не так элегантно, но зато весьма практично и безопасно. После того как новый релиз будет протестирован и выпущен, ISO-образ или tar.7z-архив, достаточно скопировать в каталог /usr/calculate/share и ввести команду calculate. Инсталлятор определит текущий корневой раздел и распакует дистрибутив во второй (свободный) корневой раздел, перенесет пользовательские настройки и перенастроит загрузчик GRUB. Если обновление произошло неудачно, то у пользователя всегда будет возможность вернуться в старую рабочую систему. В результате переустановка или обновление системы на порядок упрощается и происходит приблизительно за 5-7 минут. Такое обновление очень легко автоматизировать. Достаточно на сервере открыть доступ по NFS, который и примонтировать на клиентских системах в раздел /usr/calculate/share и добавить команду calculate в скрипты, выполняющиеся при выключении системы. Пользователь утром будет работать в новой версии.

В /usr/calculate/share помимо обновлений системы (каталог linux) хранятся другие полезные ресурсы, такие как пакеты программ (distfiles), внешние профили установки (profile), патчи в виде выполняемых скриптов для внесения изменений в системы (patch), бинарные пакеты для быстрого обновления (packages). Именно чтобы упростить перенос данных, каталог /var/calculate, в котором находятся настройки для подключения к серверу (/var/calculate/calculate.env) и пользовательские данные, рекомендуется сохранить в отдельном разделе. После ввода клиентской системы в домен CDS каталог /home будет располагаться в /var/calculate/client-home (монтируется через bind).

Утилиты Calculate

Управление LDAP, Samba и другими сервисами при помощи штатных утилит требует понимания процесса, то есть некоторой подготовки, что обычно отпугивает новичков. Чтобы упростить администрирование CDS, разработчики создали набор утилит (скриптов на Python) под общим названием Calculate 2, при помощи которых и производятся настройки единого интерфейса, основных сервисов – учетных записей LDAP, а также настройки Squid, FTP, UNIX, Samba и почтовых серверов.

Рисунок 1. Утилиты Calculate 2 – основа Calculate Directory Server

Рисунок 1. Утилиты Calculate 2 – основа Calculate Directory Server

Распространяется Calculate 2 под свободной лицензией Apache2 и может быть использована на любом Gentoo-совместимом дистрибутиве. Учитывая, что вся идея дистрибутива заложена в Calculate 2, чтобы понять его суть, следует вначале хотя бы вкратце познакомиться с этими утилитами. Утилиты и библиотеки Calculate 2 в зависимости от назначения распределены в трех пакетах: calculate-server, calculate-client и calculate-lib. Чтобы узнать назначение конкретной утилиты, следует ее запустить с параметром --help или --help-название_сервиса (--help-samba).

В пакете calculate-server находится несколько утилит, в скобках приведены примеры использования:

cl-usermod/cl-groupmod – модификация пользовательского профиля/группы в LDAP (cl-usermod -a test guest unix);

cl-userdel/cl-groupdel – удаление учетной записи/группы из LDAP, без параметра -r создается резервная копия удаляемой записи (cl-userdel guest samba);

cl-useradd/cl-groupadd – создание учетной записи пользователя/группы в LDAP (cl-useradd guest samba);

cl-update – обновление конфигурационных файлов определенного сервиса (cl-update samba);

cl-setup – управление сервисом (cl-setup samba);

cl-replicationнастройка репликации между LDAP-сервисами (cl-replication –r server mail);

cl-rebuild – перестройка конфигурационных файлов и LDAP-базы для всех сервисов возможна с использованием резервной копии, находящейся /var/calculate/server-backup/ldap или с другого сервера (cl-rebuild);

cl-passwd – установка/изменение пароля для пользователя unix, samba, mail, Jabber, ftp и proxy (cl-passwd test samba);

cl-info – получение информации о сервисе (например, обо всех UNIX-пользователях – cl-info -u --full unix);

cl-backup – создание резервной копии и восстановление всех установленных (при помощи cl-setup) сервисов (cl-backup --backup/cl-backup --restore).

Кроме этого, в состав пакета входят и утилиты для служебных целей – replcron, repldap, proxy, вызываемые по мере необходимости из скриптов cl-*.

В клиентском пакете calculate-client всего три утилиты:

cl-sync – если пользователь зарегистрирован в домене, утилита синхронизирует настройки сеанса пользователя с сервером при входе в систему и при завершении сеанса и монтирует домашний каталог пользователя (/home/$USER/Home) и сетевые ресурсы (/home/$USER/Disk). Для передачи используется rsync, то есть передаются только изменения, что минимизирует трафик.

cl-createhome – во время входа в систему производится настройка сеанса по профилям, расположенным на клиентской системе в /usr/lib/calculate/calculate-client/profile и на сервере /var/calculate/remote/client-profile.

cl-client – при вводе ПК в домен монтируется сетевой диск в /var/calculate/remote, место для размещения профилей учетных записей пользователей.

При этом названия и параметры утилит по работе с учетными записями пользователей схожи с аналогичными UNIX-командами (useradd, groupmod, passwd и проч.), что упрощает работу с Calculate.

Рисунок 2. Информация о пользователе UNIX

Рисунок 2. Информация о пользователе UNIX

Профили – это еще одна из особенностей дистрибутива. Вместо прямого редактирования конфигурационных файлов Calculate хранит отличия от оригинала в файлах профиля, что упрощает перенос и модификацию данных, настройку сервисов, программ и окружения пользователя. Профили делятся на 3 типа – системный, сервиса и пользователя. И по расположению – базовый, внешний и локальный. Профили находятся в скрытых файлах .calculate_directory и могут накладываются как во время первого входа в систему, когда /home/$USER нет либо он пустой, так и при каждом входе в систему.

Таким образом можно пресечь попытки изменить стандартные настройки некоторых приложений всеми либо определенными группами пользователей.

Подробнее о профилях можно посмотреть в документе «Работа_с_профилями» [7].

После установки сервера обновите оверлей и утилиты:

# layman -S && emerge calculate-server calculate-lib

На клиентской машине соответственно:

# layman -S && emerge calculate-client calculate-lib

Устанавливаем контроллер домена

После перезагрузки регистрируемся с правами root. При наличии DHCP-сервера сеть будет определена автоматически, иначе ее следует настроить при помощи команды «net-setup eth0», которая поможет настроить ее при помощи псевдографического меню. Команда netstat показывает, что после установки CDS открыты порты SSH, NTP и Bootpc. Кроме этого, в списке обнаруживается полный набор сервисов – Apache 2.2.11, BIND 9.4.3, Squid 3.0.15, Sarg 2.2.5-r5, HAVP 0.89, Postfix 2.5.5, Dovecot 1.1.7-r1, PPTPD 1.3.4, ejabberd 2.0.5-r1, PostgreSQL 8.3.7, ProFTPD 1.3.2-r2, OpenLDAP 2.4.16, Clamd 0.95.1, Clamsmtpd 1.9.

Рисунок 3. Получаем информацию о пользователе домена

Рисунок 3. Получаем информацию о пользователе домена

Для настройки контролера домена нам понадобится LDAP и Samba, запускаем при помощи cl-setup. Команда проста:

# cl-setup ldap

Программа выполнит настройку LDAP, администратор получит предупреждение о том, что база данных будет перезаписана (архив сохраняется в /var/calculate/server-backup/ldap). Также сервис будет добавлен в автозагрузку. Теперь аналогично настроим сервисы UNIX и Samba.

# cl-setup unix

Этой командой мы подключаем возможность аутентификации учетных записей c системными ID, хранящихся в LDAP. И наконец:

# cl-setup samba

Будет запущен сервис Samba и созданы служебные пользователи client и admin, необходимые для ввода соответственно Linux- и Windows-компьютеров в домен. Последовательность запуска важна. Так как, например, введя перед запуском LDAP команду «cl-setup unix», получим предупреждение:

* LDAP service not setuped

* Setup LDAP service

* cl-setup ldap

Список настроенных сервисов можно узнать, просмотрев файл /etc/calculate/calculate.env:

# cat /etc/calculate/calculate.env

[server]

sr_ldap_set = on

sr_unix_set = on

sr_samba_set = on

Пароли доступа всех сервисов к LDAP хранятся в /etc/calculate/calculate.ldap (при запуске сервиса они генерируются случайным образом и уникальны для каждой системы).

# cat /etc/calculate/calculate.ldap

[admin]

DN = cn=ldapadmin,dc=calculate

PASS = fGdRTtajX

[unix]

DN = ou=Unix,ou=Services,dc=calculate

PASS = Fcy9dsW0y

[samba]

DN = ou=Samba,ou=Services,dc=calculate

PASS = iPyEgQTXx

Установим пароль для учетных записей client и admin, которые используются для ввода в домен соответственно Linux- и Windows-машин:

# cl-passwd --smb client samba

* LDAP service not setuped

* Setup LDAP service

* cl-setup ldap

# cl-passwd --smb admin samba

Подключение Linux-клиента к домену

Регистрируемся на клиентской Linux-системе как root, и вводим ее в домен, указав в качестве параметра cl-client имя сервера CDS или его IP-адрес. По ходу будет запрошен пароль учетной записи client:

# cl-client 192.168.17.147

Пароль для ввода рабочей станции в домен:

* Подключен Samba-ресурс [remote] ...

* Подключен /var/calculate/client-home ...

* Компьютер введен в домен 192.168.17.147 ... [ ok ]

Команду рекомендуется вводить в локальной или удаленной (через SSH) консоли, а не под Х. И вот почему. При успешном входе в домен будет выполнено ряд действий. Изменятся настройки файлов /etc/pam.d/system-auth, /etc/nsswitch.conf, в которых будут подключены пользователи Samba-сервера. В /var/calculate/remote будет смонтирован сетевой ресурс.

# mount | grep remote

//192.168.17.147/remote on /var/calculate/remote type cifs (rw,mand)

Пока в указанном каталоге находится файл /var/calculate/remote/calculate.env настройками LDAP:

[client]

ur_organization =

ur_signature =

ld_samba_dn = ou=Samba,ou=Services,dc=calculate

ld_unix_dn = ou=Unix,ou=Services,dc=calculate

sr_samba_host = calculate.local

ld_services_dn = ou=Services,dc=calculate

ld_bind_dn = cn=proxyuser,dc=calculate

ld_bind_pw = calculate

ld_base_dn = dc=calculate

Можно его скорректировать, вписав в поле ur_organization название организации, а в ur_signature – подпись в почтовом сообщении. Чтобы исключить конфликты с локальными пользователями, поверх /home будет смонтирован локальный каталог /var/calculate/client-home. Именно поэтому на подключаемой системе лучше пока не работать.

# mount | grep home

/var/calculate/client-home on /home type none (rw,bind)

Сами разработчики не рекомендуют заводить локальные учетные записи (кроме стандартных root и guest, которые после ввода в домен будут недоступны), чтобы их ID не совпадали с ID пользователя в LDAP.

Чтобы вывести компьютер из домена, достаточно дать команду, зарегистрировавшись через SSH как локальный root:

# cl-client -r

* Компьютер выведен из домена 192.168.17.147 ... [ ok ]

Введенный пароль для подключения к домену на клиентской системе кэшируется в файле calculate.env.

# cat /var/calculate/calculate.env

[client]

cl_remote_host = 192.168.17.147

cl_remote_pw = password

Как подключить Windows-систему, хорошо расписано в документе «Переход на использование Linux», но Calculate/Gentoo Linux является предпочтительным при работе с CDS. Чтобы предоставить доступ пользователей к определенным ресурсам компьютера, системные UNIX-группы из /etc/group необходимо продублировать в LDAP-сервере при помощи команды cl-groupadd. Например:

# cat /etc/group | grep scanner

scanner:x:441

Дублируем в LDAP:

# cl-groupadd -f -g 441 scanner samba

 * Added group 'scanner ' in Samba service

Кроме этого, учетная запись должна быть включена хотя бы в одну пользовательскую группу. Группы являются средством разграничения прав, поэтому в организации их может быть несколько. Например, создадим группу it.

# cl-groupadd it samba

* Added group 'it' in Samba service

Полностью команда для создания учетной записи выглядит так.

cl-useradd -p -c "Полное имя" -g пользовательская_группа -G системная_группа -p логин samba

Например:

 # cl-useradd -p -c "Сергей Яремчук" -g it -G audio,lp,plugdev,scanner,video -p grinder samba

Вводим два раза пароль и получаем:

 

* Added user grinder in Unix service

* Added user grinder in Samba service

 

После входа пользователя на клиентской системе будет скопирован профиль, а на рабочем столе выведены ярлыки для доступа к его домашнему каталогу, ресурсам Samba и FTP (если настроен). Если перейти на другой компьютер, даже находящийся в другой подсети домена, то все настройки перекочуют за пользователем.

Все группы, в которые должен быть включен пользователь, уже должны быть созданы, иначе получаем ошибку:

* Group it is not found

* Can not add user grinder in Unix service

Удаляется учетная запись при помощи cl-userdel, но его домашние каталоги на сервере не удаляются (это нужно делать вручную). Поэтому при повторном использовании логина получаем сообщение

* Group it is not found

* Can not add user grinder in Unix service

Для получения информации об учетных записях Samba используется cl-info. Например, выведем данные обо всех пользователях:

# cl-info -u samba

All users in LDAP for service Samba

+---------+-----------------------------+------+----------+

| Login | Name | Lock | Password |

+---------+-----------------------------+------+----------+

| client | Client unix workstation | No | Yes |

| admin | Administrator samba service | No | Yes |

| grinder | Сергей Яремчук | No | Yes |

+---------+-----------------------------+------+----------+

Теперь по конкретной учетной записи:

# cl-info -U grinder samba

Чтобы запустить после настройки сервисы, не поддерживаемые утилитами Calculate 2 (вроде Apache 2), введите:

# rc-update add apache default

# /etc/init.d/apache2 start

Настройка почтового (Postfix/Dovecot) и Jabber-сервисов хорошо расписана на сайте проекта, команды для добавления сервиса и учетной записи аналогичны. В документации можно найти скрипт, при помощи которого пользователь подключается ко всем сервисам. Поэтому подробно останавливаться на этом не буду.

Рисунок 4. На рабочем столе пользователя, зарегистрированного в домене, будут выведены ярлыки для доступа к Samba- и FTP-ресурсам

Рисунок 4. На рабочем столе пользователя, зарегистрированного в домене, будут выведены ярлыки для доступа к Samba- и FTP-ресурсам

***

Признаться, после стольких лет администрирования Linux возможности, предоставляемые дистрибутивом Calculate Directory Server, более чем впечатлили. Процесс построения домена и поддержания его в работоспособном состоянии весьма продуман и логичен и не займет много вашего времени.

  1. Сайт проекта – http://www.calculate-linux.ru.
  2. Примеры внедрений Microsoft – http://www.microsoft.com/Rus/CaseStudies/Default.mspx.
  3.  Страница проекта Mandriva Directory Server – http://mandriva.ru/resheniya/produkty/mandriva_directory_server.
  4.  Страница проекта Red Hat Directory Server – http://www.redhat.com/directory_server.
  5.  Сайт 389 Directory Server – http://port389.org, http://directory.fedoraproject.org.
  6. Документация Gentoo – http://www.gentoo.org/doc/ru.
  7. Работа с профилями – http://www.calculate-linux.ru/Calculate2:Работа_с_профилями.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru