Представь себе контору, в которой
существует рабочая локальная сеть. В ней,
как водится, присутствуют серверы (маршрутизатор,
терминальный, почтовый DNS, и т.д.) и рабочие
станции. Последние, как правило,
управляются “защищенной” виндой. Итак, что
мы имеем? Клиенты заходят на рабочие
станции под своими логинами. Учитывая, что
набор сотрудников компании постоянный, на
всех клиентских машинах существуют
аккаунты всех работников. Мало того, что
заносить все логины геморройно, так и права
у всех юзеров админские (так уж повелось :)).
Решение вышеизложенных проблем очень
простое – нужно создать свой файловый
сервер в качестве Primary Domain Controller. Исходя из
того, что данная трабла описывается в
ресурсах Интернета довольно мутно (я видел
всего один хороший линк на англоресурс), я
решил описать все трудности, которые могут
возникнуть при инсталляции SAMBA в качестве PDC.
Почему Samba? Я не фанат Microsoft, поэтому с
ActiveDirectory разбирайся сам.

Из истории

Понятие “домен” являлся основной единицей
деления со времен появления первых NT-систем.
Различали два вида доменов – главный (Primary)
и вторичный (Backup). Прошедшее время я
употребил намерено – постепенно
потребности увеличивались и в эпоху Win2k
единицей стал “лес” доменов. Но с
появлением леса, понятие Primary Domain Controller
осталось в силе. А бекапы можно хранить в
любом другом домене во всем лесу.

Установка

Что же, приступим. Если саму Самбу ставили
многие (так, ради шаров), то с организацией PDC
сталкивались лишь часть из них. Я сам долго
не мог понять устройство сервиса, прежде
чем все заработало как надо. А надо сделать
так, чтобы на доверенной машине проходили
все аккаунты, записанные на файловом
сервере. Причем, часть из них наделялась
админскими правами. Но всему свое время,
сейчас для нас важна первичная установка.
Признаюсь, что я не собирал smbd из сорцов,
поэтому доверяю это тебе. Юзал и до сих пор
юзаю версию 2.2.7, поэтому вся настройка,
описанная здесь, может некорректно
работать на других версиях :).

Что же, поехали! После “сырой” установки
сервиса, приступаем к оттачиванию его
конфига smbd.conf. Есть специальные средства
для этого, я даже расскажу о них, но первый
раз редактировать конф лучше в обычном
редакторе (хоть будешь знать о значениях
опций).

Конфиг располагается в /etc/samba (по дефолту) и
носит имя smb.conf. Откроем его и увидим... много
непонятных опций :). Главной секцией
является [Global], в ней ты найдешь все
интересные опции. Я буду рассказывать лишь
о тех параметрах, которые могут вызвать
затруднение.

Workgroup – задает название домена. Именно в
этот домен и будут джойнится машины из
локалки.

Netbios name – имя компьютера. Будет видно из “Сетевого
окружения” клиентов.

Ахтунг! Этим двум опциям необходимо
уделить большое внимание. При попытке
изменить их после полной настройки smbd,
придется переджойнивать все локальные
машины в домен.

Server string – описание сервера. Также будет
отображено в комментариях к сетевому
компьютеру.

Hosts allow – адреса, которым разрешено
использовать ресурсы домена. В моем случае
опция имела значение “192.168.0 127.”.

security = user. Если хочешь, чтобы авторизация
работала, как я описал выше – выставляй
именно это значение параметра. Впрочем,
опция может иметь и другие значения (domain, share).

encrypt passwords – выставляй yes, потому как все
клиенты криптуют пароли перед отправлением.

utmp – если хочешь, чтобы все пользователи,
которые зашли в домен показывались в выводе
команды who – включи опцию. Лично я включил :).

null passwords – обязательно включи. Изначально
все пароли на пользователей будут нулевыми.
Таких юзеров система не пропустит при
вырубленном параметре.

local master = yes
domain master = yes
preferred master = yes
domain logons = yes
wins support = yes

Все эти параметры необходимо включить,
только тогда smbd будет выступать в роли PDC.

logon path = \\SERVER\profiles\%u. Путь к директории
профилей пользователя. В нем %u –
динамическое имя пользователя, а SERVER – Netbios-имя
сервера.

logon home = \\SERVER\\users\%u. Аналогично, путь к
домашнему каталогу.

Вот главные параметры, на которые хотелось
бы обратить внимания. Затем идут секции
ресурсов. Для нас важно откомментировать
ресурсы Netlogon, Profiles и Homes:

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = no
writable = no
[profiles]
comment = User profiles
path = /home/samba/profiles
browseable = no
writable = yes
guest ok = yes
[homes]
write list = %S
comment = Home Directories
path = /home/samba/users/%U
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775

Вот как это выглядит в моем случае. После
того, как ты настроил все опции, выполни
команду testparm, при правильном конфиге
бинарник не заругается на синтаксис.
Последним штрихом установки будет запуск
сервиса командой service smb start (или
последовательным стартом /usr/sbin/smbd и /usr/bin/nmbd
с опцией –D).

Первые пользователи

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

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

groupadd smbusers
useradd test -s /dev/null –d /home/samba/users/test –g smbusers
passwd –l test
smbpasswd –a –n test
mkdir /home/samba/profiles/test && chown test /home/samba/profiles/test.

Вроде все. Предпоследняя команда заносит
юзера в базу smb и обнуляет его пароль.

Проверяем, все ли работает. Выполним
команду smbclient //SERVER/homes –U test. После ввода
пароля тебя должно перекинуть в домашний
каталог пользователя. Занеси пользователя
root в базу smb (с паролем). Он будет главным
администратором всего домена. Впрочем,
алиасы на админа легко можно создать в /etc/smb/smbusers.

Клиент всегда прав

Теперь осталось заджойнить машину в домен.
Создадим аккаунт, имя которого – netbios-имя
машины с окончанием $. Smbpasswd при этом
запустим с параметрами –a –m, которые
означают добавление trusted-машины. Осталось
зайти в Мой компьютер->сетевая
идентификация (на рабочей станции) и
заджойнить машину в домен. Название домена
ты указал в конфиге. Тебя попросят зайти под
рутом, вводи его пароль (не системный, а тот,
который заводил в smbpasswd). Через несколько
секунд раздумий тебя поздравят с джойном в
домен и попросят перезагрузиться. После
ребута в стандартном logon’е винды появится
поле для домена. Выбери там свежесозданный
домен и введи логин и пароль любого юзера smb.
Если ты верно руководствовался этим
мануалом, тебя пустит в систему. Вот
собственно и вся начальная установка
сервиса. В следующей части статьи я
расскажу, как правильно создавать
стартовые скрипты, а также про тулзы,
облегчающие администрирование smbd,
разделение прав по пользователям, и,
наконец, про антивирусный модуль для Samba. А
пока даю тебе время на установку главного
контроллера домена :). Удачи в нелегком бою!

Check Also

Malware vs WordPress. Проверяем защитные плагины в боевых условиях

Wordpress — одна из самых распространенных систем управления сайтом и поэтому вызывает при…

Оставить мнение