Подписаться  на наше издание быстро и дешевле чем где-либо Вы можете прямо сейчас! Подписаться!

 

Администраторов зачастую отпугивает необходимость управления "Самбой" из командной строки. В этом свете заявленная разработчиками информация о том, что версии "Самбы" выше 3.0 поддерживают удаленное управление сервером с помощью сторонних утилит, выглядит весьма привлекательно.

 

Ни для кого уже не секрет, что контроллер домена под управлением Samba в малых и средних локальных сетях по возможностям своим вполне способен заменить собой аналогичный под управлением Windows. Безусловно, в "Самбе" все еще существует множество недоработок, да и за одно создание "Групповых политик" стоит построить памятник небезызвестной компании из Редмонда…


Однако надежность и гибкость настройки, удобство управления — все это достаточно веские доводы для использования "Самбы" в вашей локальной сети. Кроме того, судя по участившимся в последнее время "дружеским" визитам уполномоченных лиц с целью проверки легальности ПО, полная "свободность" как Samba, так и всего OpenSource ПО выглядит разумным выходом из сложившейся ситуации.


Впрочем, хватит о грустном. В этой статье ни слова не будет сказно о настройках сервера "с нуля" — материалов на эту тему предостаточно, как в Сети, так и в периодической литературе, тем более что конфигурирование (при внимательном чтении документации) практически никаких сложностей не представляет.


Системных администраторов зачастую отпугивает необходимость управления "Самбой" из командной строки Unix. Это действительно далеко не самый удобный способ, как бы не спорили поклонники "шелла" — ведь любой, даже очень профессиональный системный администратор не застрахован от ошибок при наборе команд и от элементарной невнимательности. В этом свете заявленная разработчиками информация о том, что версии "Самбы" выше 3.0 на должном уровне поддерживают удаленное управление сервером с помощью сторонних утилит, выглядит весьма привлекательно.


Ниже речь пойдет об управлении контроллером домена на "Самбе" при помощи Windows-базированных утилит, таких как User manager for Domains, Server manager for Domains, хорошо знакомых системным администраторам NT4 Server, а также консоли управления MMC следующих версий Windows.


В качестве примера представим себе сконфигурированный и работающий сервер под управлением "Самбы", выступающий контроллером домена. На сервере создано три сетевых ресурса, открытых для доступа определенным группам пользователей локальной сети. Сетевые ресурсы имеют названия manager, buhgalter и director. Доступ на чтение/запись имеют пользователи, относящиеся к глобальным группам managers, buhgalters и directors соответственно. Учетные записи пользователей домена хранятся формате Trival Database (tdbsam).


Пройдем весь путь настройки по шагам.


Шаг первый.
Управление учетными записями локальных компьютеров

Условием присоединения локального компьютера к домену на "Самбе" является наличие Unix-пользователя с именем локального компьютера и знаком "$" в конце. Для автоматизации добавления компьютеров в домен следует присвоить соответствующее значение параметру add machine script. Признаком хорошего тона будет объединение всех записей о рабочих станциях в единую группу — с названием, к примеру, nt_workstations. Следовательно, значения конфигурационных параметров устанавливаем следующим образом:

 

add machine script = /usr/sbin/useradd -d /dev/null -s /bin/false -g nt_workstations %u

 

Не стоит забывать, что вводимое имя рабочей станции должно совпадать с установленным на локальном компьютере.

 


Добавление записи о рабочей станции в домен. В названии рабочей станции
допускаются только символы английского алфавита


На этом с учетными записями компьютеров можно закончить.


Шаг второй.
Первичная группа добавляемых пользователей


Поскольку создаваемому пользователю по умолчанию назначается группа Пользователи (Domain Users), то в настройках "Самбы" эту возможность нужно предусмотреть — иначе при добавлении нового пользователя будет выведено сообщение об ошибке. За это отвечают параметры template primary group и set primary group script.


Но, поскольку в Unix-системах существует ряд ограничений на название группы (запрещены, к примеру, пробелы, символы верхнего регистра, etc), для обхода подобных моментов разработчики "Самбы" рекомендуют с помощью команды net "подменять" группы на соответствующее Windows (Group Mapping). Для начала следует создать Unix-группу (в нашем случае носящую название nt_users), после чего в командной строке выполнить следующую команду:

 

net groupmap modify ntgroup="Domain Users" unixgroup="nt_users"

 

Теперь все пользователи Unix-системы, относящиеся к группе nt_users, будут автоматически распознаны Windows как относящиеся к группе Пользователи (Domain Users). Подводные камни обойдены, теперь можно устанавливать значение конфигурационных параметров. Для нашего примера они будут следующими:

 

template primary group = "Domain Users"
set primary group script   = /usr/sbin/usermod -g %g %u

 

Шаг третий.
Управление глобальными группами


За добавление и удаление глобальных групп домена отвечают параметры add group script и delete group script. При добавлении групп с помощью Windows-базированных утилит удается убить двух зайцев сразу: исключены ошибки при наборе команд из командной строки и, кроме того, отпадает необходимость в использовании команды net groupmap modify — "Самба" сделает это за вас.

 


Добавление глобальной группы домена. При вводе имени группы разрешаются символы английского алфавита
в нижнем регистре. Для описания группы можно использовать любые символы

 

Конфигурационные параметры будут выглядеть довольно просто — напрямую вызываем команды Unix:

 

add group script    = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g


Шаг четвертый.
Управление учетными записями пользователей

 

Для управления используются следующие параметры: add user script, delete user script, add user to group script, delete user from group script.


Добавление нового пользователя в домен


Поскольку при добавлении нового пользователя неплохо бы автоматически создавать для него домашнюю директорию на сервере, а также, при надобности, директорию его перемещаемого профиля, то вместо прямого вызова Unix-команды мы используем соответствующий shell-скрипт — скажем, smb_add_user.sh.

 


Добавление нового пользователя в домен. Для имени пользователя разрешены только символы английского алфавита.
При вводе пароля также рекомендуется использовать только английский буквенно-цифровой алфавит

 

Соответственно, параметр конфигурации будет выглядеть следующим образом:

 

add user script = /path/to/script/smb_add_user.sh %u

 

где /path/to/script/ — полный путь к скрипту относительно корня Unix-системы.


Удаление существующего пользователя


Использование shell-скрипта удаления пользователя выглядит вполне целесообразным — как минимум, стоит удалить из раздела созданные ранее директории пользователя. Для этого используем скрипт smb_del_user.sh, проверяющий существование используемых директорий и удаляющий их из раздела:

 

delete user script = /path/to/script/smb_del_user.sh %u

 

где /path/to/script/ — полный путь к скрипту относительно корня системы.

 

При управлении группами, к которым относятся пользователи, обойтись без соответствующих скриптов затруднительно — пользователь может принадлежать нескольким группам, а вызов утилиты usermod напрямую из "Самбы" позволит нам сделать его участником только одной группы в один момент времени.


Добавление пользователя в группу


Для добавления пользователя в группу используем shell-скрипт smb_add_user_to_grp.sh, задачей которого будет поиск всех групп, к которым относится пользователь, построение списка групп и запись информации о них. Конфигурационный параметр будет выглядеть так:

 

add user to group script = /path/to/script/smb_add_user_to_grp.sh %u %g

 

где /path/to/script/ — полный путь к скрипту относительно корня системы.


Удаление пользователя из группы


Для удаления пользователя из группы используется shell-скрипт smb_del_user_from_grp.sh, задачи которого практически идентичны скрипту добавления пользователя в группу — соответственно, значение параметра устанавливаем, как показано ниже:

 

delete user from group script   = /path/to/script/smb_del_user_from_grp.sh %u %g

 

/path/to/script/ — полный путь к скрипту относительно корня системы.

 

Все перечисленные параметры относятся к секции [global] конфигурационного файла демона smbd (по умолчанию – smb.conf). Стоит заметить, что все shell-скрипты будут выполнены демоном smbd из-под учетной записи root, поэтому стоит установить соответствующие разрешения на них с помощью утилиты chmod. Примеры скриптов и конфигурационного файла можно найти на диске.


Перед использованием скриптов add_user.sh и del_user.sh необходимо изменить значения переменных SMB_DIR, PROFILES и HOMES, используемых в них:

  • SMB_DIR — путь к директории "Самбы", где находятся директории перемещаемых профилей и домашние директории пользователей;
  • PROFILES — директория, в которой находятся перемещаемые профили пользователей;
  • HOMES — директории, содержащая домашние каталоги пользователей.

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

 


Управление группами пользователя. Перед изменением первичной группы следует установить
другую существующую группу. Записи подлежит только информация о глобальных группах
— записи об изменении локальных групп будут проигнорированы без сообщения об ошибке


Для корректной работы скриптов понадобятся утилиты sed, grep и awk.


Утилиты User manager for domains и Server manager for domains доступны по адресу
ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE

 

Выполнение описанных выше действий обеспечит нам минимальный "джентльменский набор" для управления сервером Samba с помощью Windows-базированных утилит. Разумеется, в статье не были затронуты все возможности, предоставляемые "Самбой", в частности такой параметр, как add share script, позволяющий с помощью тех же утилит создавать общие сетевые ресурсы "на лету" путем редактирования файла smb.conf. К тому же использование tdbsam для хранения информации об учетных записях пользователей имеет свои ограничения по сравнению с пресловутым LDAP’ом — но, как показывает практика, описанного минимального набора вполне достаточно для решения насущных административных задач.

2005.08.30
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".