Calculate linux централизованное управление

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

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

Принято считать, что управлять большим количеством 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.

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), который позволит быстро собрать свой вариант дистрибутива.

Читайте также:  All windows the in we must wash house

Вполне естественно, что настало время поделиться своим опытом с другими и, возможно, привлечь к проекту разработчиков. Постепенно был открыт сайт, форум и 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-файл скачивать уже не обязательно.

Читайте также:  Драйвер для видеокарты nvidia geforce gtx 770 windows 10 64 bit

Аппаратные требования системы для работы невысоки: процессор класса 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

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

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

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

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

# calculate —disk=/dev/sda2

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

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

if($size # 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. Получаем информацию о пользователе домена

Для настройки контролера домена нам понадобится 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», получим предупреждение:

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

# cat /etc/calculate/calculate.env

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

Читайте также:  Intel atom z540 windows 10

# cat /etc/calculate/calculate.ldap

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

# cl-passwd —smb client samba

# cl-passwd —smb admin samba

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

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

# cl-client 192.168.17.147

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

# mount | grep remote

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

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

# mount | grep home

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

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

# cl-client -r

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

# cat /var/calculate/calculate.env

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

# cat /etc/group | grep scanner

# cl-groupadd -f -g 441 scanner samba

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

# cl-groupadd it samba

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

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

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

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

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

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

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

# cl-info -u samba

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

# cl-info -U grinder samba

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

# rc-update add apache2 default
# /etc/init.d/apache2 start

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

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

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

Источник

Оцените статью