Первичный домен-контроллер на Samba позволяет создать собственный домен с использованием компьютера под управлением операционной системы на базе ядра Linux. Это нужно в первую очередь для централизованной аутентификации. При входе в домен вы можете войти в систему под своей учетной записью на любом компьютере, который включен в домен. Давайте посмотрим, как же настроить первичный домен-контроллер на Samba.
Рассматривать будем на примере операционной системы Debian GNU/Linux, но принципиального различия с другими операционными системами нет. Рассматривать будем Samba 3. Установка и настройка производится под пользователем root, либо с использованием sudo. Домен, который у нас в итоге получится, не является аналогом Active Directory, наш домен будет более старой спецификации, домен NT. Но его уже достаточно для решения задачи централизованной аутентификации и выделения прав на определенные действия в операционной системе.
Установка Samba
В первую очередь установим пакеты, которые нам будут нужны:
apt-get install samba
По зависимостям установится еще несколько пакетов
Настройка Samba
Глобальные настройки
Перед началом настройки сохраните файл /etc/samba/smb.conf
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Теперь создадим пустой файл, в который будем записывать настройки
touch /etc/samba/smb.conf
Вот что нужно туда записать:
[global] workgroup = mydomain netbios name = dc1 server string = Samba Primary Domain Controller domain master = yes preferred master = yes domain logons = yes add machine script = /usr/sbin/useradd -N -g Computers -c Machine -d /var/lib/samba -s /bin/false %u security = user encrypt passwords = yes wins support = yes name resolve order = wins lmhosts hosts bcast logon path = \\%N\%U\profile logon drive = Z: logon home = \\%N\%U writable = yes
Параметры «workgroup» и «netbios name» — это название вашего домена и имя домен-контроллера, измените их на свои. А если у вас уже есть WINS-сервер, закомментируйте строчку «wins support = yes», при наличии этой настройки сервер Samba будет работать как сервер Netbios. Настройки «logon path», «logon drive» и «logon home» нужны для хранения пользовательского профиля. При входе на другую машину профиль будет загружаться с домен-контроллера и пользователь сможет работать со своими настройками.
Создание файла LMHOSTS
В файле /etc/samba/lmhosts содержатся такие же записи, как и в файле /etc/hosts, но это не имена хостов, а Netbios-имена. Когда компьютер под управлением Windows включается в домен MYDOMAIN, Windows пытается найти адрес первичного домен-контроллера, и если ей это не удается, машина в домен включена не будет. Если название вашего домена MYDOMAIN, имя домен-контроллера dc1, а его IP-адрес 192.168.0.2, то файл будет выглядеть следующим образом:
192.168.0.2 mydomain 192.168.0.2 dc1
Настройка секции [netlogon]
В файл /etc/samba/smb.conf добавляем секцию [netlogon]
[netlogon] path = /var/lib/samba/netlogon browseable = no read only = no create mask = 0700 directory mask = 0700 valid users = %S
Директория /var/lib/samba/netlogon — это стартовая директория при входе в домен. При входе пользователя в домен будет выполнен скрипт netlogon.bat, размещенный в этой директории. Если такой директории нет, ее нужно создать и выставить права 755:
mkdir /var/lib/samba/netlogon chmod 755 /var/lib/samba/netlogon
В файле netlogon.bat можно настраивать окружение, или, например, подключать сетевой диск при входе в домен:
net use s: \\dc1\share
Настройка секции [homes]
Эта секция файла /etc/samba/smb.conf используется для настройки домашних директорий пользователей
[homes] valid users = %S guest ok = yes read only = no create mask = 0700 directory mask = 0700 browsable = no
Сохраняем и проверяем конфигурацию командой
testparm
Если при ее выполнении возникают ошибки, исправьте их и проверьте еще раз. Если ошибок нет, то можно рестартовать сервис
service samba restart
Первичный домен-контроллер на Samba настроен
Теперь необходимо разобраться с добавлением пользователей, выделением им прав и включением компьютеров с Windows в домен.
Создание доменных пользователей
Добавление администратора домена
Учетная запись администратора называется root, надо добавить ее следующей командой:
smbpasswd -a root
Не используйте такой же пароль, как у пользователя root в системе, это разные учетные записи, и у них должны быть разные пароли.
Добавление группы для компьютеров
Создадим группу с названием «Computers»
groupadd Computers
Создание пользовательской учетной записи
Создадим учетную запись, которая будет использоваться только совместно с Samba
useradd iivanov smbpasswd -a iivanov
Введите пароль два раза.
Теперь нужно выдать этому пользователю права:
net rpc rights grant "MYDOMAIN\iivanov" SeMachineAccountPrivilege \ SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege \ SeRemoteShutdownPrivilege
Вот права, которые можно выдавать пользователю:
SeMachineAccountPrivilege | Разрешение на добавление машин в домен |
SeTakeOwnershipPrivilege | Разрешение на перехват прав на файлы и другие объекты |
SeBackupPrivilege | Разрешение на создание резервных копий файлов и директорий |
SeRestorePrivilege | Разрешение на восстановление файлов и директорий из резервных копий |
SeRemoteShutdownPrivilege | Разрешение на форсированное выключение с удаленной системы |
SePrintOperatorPrivilege | Разрешение на управление принтерами |
SeAddUsersPrivilege | Разрешение на добавление пользователей и групп в домен |
SeDiskOperatorPrivilege | Разрешение на управление папками общего доступа |
SeSecurityPrivilege | Разрешение на управление системной безопасностью |
При выдаче прав будет запрошен пароль администратора Samba root (тот пароль, который мы установили чуть раньше). И теперь нужно сделать маппинг NT-группы пользователей на unix-группу:
groupadd admins net groupmap add ntgroup="Administrators" unixgroup=admins rid=512 type=d
Для того, чтобы учетная запись созданного пользователя имела права администратора домена, ее необходимо добавить в ту группу, на которую сделан маппинг доменной группы «Administrators».
adduser iivanov admins
Теперь можно включить машину под управлением Windows в домен
Включение машины в домен
Для машин под управлением Windows XP машину можно сразу включать в домен и потом входить под своей доменной учетной записью. Для Windows 7 нужно сделать еще кое-что. Нужно внести в реестр следующие изменения:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters] "DomainCompatibilityMode"=dword:00000001 "DNSNameResolutionRequired"=dword:00000000
После этого можно включать машину в домен.