Настройка SAMBA PDC без LDAP в UBUNTU

PDC и BDC на Linux

Part I. PDC

1 Введение

В данном документе мы рассмотрим простую пошаговую установку главного и резервного контролера домена по типу NT4.0. В качестве платформы используем Linux Ubuntu 11.10 (Oneiric Ocelot).
В данном дистрибутиве возможна установка альфа-версии пакета Samba 4, что позволяет использовать сервер в качестве аналога AD! Но в качестве «боевого» сервера это не желательно. А потому, мы рассмотрим настройку сервера на базе Samba 3, и без использования LDAP.
Для освоения данной информации вам потребуются начальные знания Linux, и особенности дистрибутива UBUNTU.
На пример, для выполнения команд с административными привилегиями (а это практически все команды из данного руководства) используется команда sudo.
На пример:
sudo groupadd sysadmin
sudo groupadd machines
Но если вы привыкли настраивать систему из под root, не используя перед каждой командой sudo введите:
sudo su
Если вы желаете активизировать учетную запись root, введите
sudo passwd
Внимание!!! В данной документации примеры всех команд приведены без использования sudo!

2 Установка

Устанавливаем нужные пакеты:
apt-get install samba libpam-smbpass
Добавляем необходимые группы
groupadd sysadmin
groupadd machines

3 Настройка

Далее редактируем конфиг /etc/samba/smb.conf согласно ниже приведенному примеру. Допустим, что название нашего домена будет «TULA».
workgroup = TULA
...
security = user
Если закомментирована секция “Domains” то раскоментируйте следующие параметры:
domain logons = yes
logon path = \\%N\%U\profile
logon drive = U:
logon home = \\%N\%U
logon script = logon.cmd
add machine script = sudo /usr/sbin/useradd -N \
-g machines -c Machine -d /var/lib/samba -s /bin/false %u

Для работы Самбы необходимо создать не только пользователей Windows, но и одноименных пользователей Linux! На пример вот так:
adduser ivan
smbpasswd -a ivan

Где ivan это имя пользователя.

В первой строчке мы завели linux пользователя. Во второй Windows пользователя.
Если вы не желаете делать и то и другое, то можно раскомментировать вот эту строчку:

add user script = /usr/sbin/adduser --quiet \
--disabled-password --gecos "" %u
Она позволим вам автоматом создавать Linux-пользователей при создании Windows-пользователей. И тогда создание пользователей ограничится одной единственной командой:
smbpasswd -a ivan
Где «ivan» имя пользователя.

3.1 Файл конфигурации

Открываем файл конфигурации.

vi /etc/samba/smb.conf

3.1.1 Опции на которые нам следует обратит внимание

logon path: Если вы не желаете использовать перемещаемые профили, то оставьте эту строчку пустой. Это «шара» куда будут размещаться перемещаемые профили пользователей. В данном примере, он располагается в домашнем каталоге пользователя.
Опция logon path используется в том случае, если пользователи работают на разных компьютерах, где их настроенный профайл автоматом скопируется на любую рабочую станцию в домене. Но если пользователь сильно замусорит профайл, и будет в нём хранит много документов, фильмов, музыки, фотографий и т д, то тогда процесс копирования сильно затянется. В результате процесс загрузки пользователя на Windows займет очень много времени. Вплоть до 2 — 3 часов и больше! Обратите на этот аспект внимание!
logon drive: Это виртуальный диск домашнего каталога пользователя.

logon home: Это «шара» на домашний каталог пользователя.
logon script: Это «виндячий» бач-файл (скрипт), который выполняется при загрузке Windows!
Пример logon.cmd:
net time \\GW /set /yes
net use h: \\GW\disk-h
net use i: \\GW\disk-i
net use j: \\GW\disk-j
rem net use y: \\GW\docs
rem net use z: \\GW\distrib

Очень важно, чтобы этот файл имел DOS-овские окончания строк!!! Иначе Windows его не распознает.

apt-get install tofrodos
todos /home/samba/netlogon/logon.cmd

3.1.2 Переменные:

Эти переменные встроены в Самбу, и они соответствуют названию компьютера и домашнего каталога пользователя.
  • %N — Название рабочей станции
  • %U — Имя домашнего каталога пользователя

3.1.3 Теперь подробнее о «расшаренных» каталогах в файле smb.conf

Раскомментируйте [homes] если желаете, чтобы появлялся виртуальный диск U: (смотрите «logon drive = U:») с домашним каталогом.
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S

Ресурс [netlogon] это где размещаются загрузочные скрипты для Windows.

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
read only = yes
share modes = no
Создадим необходимые каталоги и файлы:
mkdir -p /home/samba/netlogon
touch /home/samba/netlogon/logon.cmd
Заполняем файл логон-скрипта на подобии как описано в 3.1.1↑.

Перезапускам Самбу.

restart smbd
restart nmbd

3.2 Сопоставление групп Windows и Linux

Для подключения компьютера к домену, необходимы права «Администратора домена». Помимо подключения эта группа Windows необходима для административных функций. Для этого, с помощью утилиты «net» создадим сопряжение ранее созданной группы «sysadmin» с Windows группой «Domain Admins».

net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
По такому-же принципу можно сопоставить и другие Linux-группы с другими группами Windows. На пример добавим группу managers, и замепим её на Domain Users:
groupadd managers
net groupmap add ntgroup="Domain Users" unixgroup=managers rid=513 type=d

Обратите внимание, что rid=513 а не rid=512!

Проверяем:

net groupmap list
Domain Admins (S-1-5-21-3690462223-3932968751-3060742195-512) -> sysadmin
Domain Users (S-1-5-21-3690462223-3932968751-3060742195-513) -> managers
Для добавления новых учетных записей воспользуйтесь утилитой «smbpasswd».
smbpasswd -a ivan
smbpasswd -a sysadmin
Для добавления записи администратора, её необходимо сопоставить с группой администратора домена,
net rpc rights grant -U sysadmin "EXAMPLE\Domain Admins" \
SeMachineAccountPrivilege SePrintOperatorPrivilege \
SeAddUsersPrivilege SeDiskOperatorPrivilege SeRemoteShutdownPrivilege
Теперь возможно подключать рабочие станции с Windows в домен!

Part II. BDC

В идеале, с главным контроллером домена (PDC) в сети лучше иметь еще и Резервный контроллер домена (BDC). Это позволит клиентам аутентифицироваться в сети, если вдруг PDC становится недоступным.
Для BDC понадобится синхронизация учетных записей. Способов несколько: scp, rsync, или миграция Ldap каталогов.

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

4 Установка и настройка

Сперва установим пакеты
apt-get install samba libpam-smbpass
Отредактируем конфигурационный файл /etc/samba/smb.conf
[global]
...
workgroup = TULA
... security = user
Откомментируем в секции «Domain»
domain logons = yes
domain master = no
Удостоверьтесь, что пользователь имеет права считать файлы в /var/lib/samba. На пример, права для админской группы которой разрешено синхронизировать с помощью scp эккаунты:
sudo chgrp -R admin /var/lib/samba
Затем, синхронизируйте учетные записи пользователей, используя scp, чтобы скопировать в /var/lib/samba тот-же каталог с PDC:
sudo scp -r username@pdc:/var/lib/samba /var/lib
замените username@pdc на ваш адрес PDC.
И перезапустите Самбу:

restart smbd 
restart nmbd
Чтобы протестировать BDC, остановите PDC и попробуйте залогиниться в домен на рабочей станции Windows.
Вы, так же должны понимать, что если на PDC находятся зашаренные Windows ресурсы, то они работать не будут! Особенно будет много неудобств, если на PDC будет размещен домашний каталог и перемещаемые профили! Выходом будет являться либо синхронизация этих ресурсов с помощью rsync, или размещение на стороннем сервере.
Запись опубликована в рубрике Linux, Ubuntu, Сервер с метками , . Добавьте в закладки постоянную ссылку.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA