Samba як контролер домену

Хоча Samba не може працювати у режимі основного контролера домену (Primary Domain Controller або PDC) Active Directory, сервер Samba можна налаштувати на роботу у режимі контролера домену у стилі Windows NT4. Основною перевагою такого налаштування є можливість централізованого керування реєстраційними даними користувачів і комп’ютерів. Крім того, у Samba передбачено можливість використання декількох серверів зберігання відомостей щодо користувачів.

Основний контролер домену

У цьому розділі наведено настанови з налаштування Samba на роботу у режимі основного контролера домену (Primary Domain Controller або PDC) з використанням типового сервера smbpasswd.

  1. Встановіть Samba і libpam-smbpass для синхронізації даних облікових записів користувачів за допомогою такої команди, відданої у вікні термінала:

    sudo apt-get install samba libpam-smbpass
    
  2. Далі, налаштуйте Samba внесенням змін до файла /etc/samba/smb.conf. Режим захисту (security) слід встановити у значення user, а workgroup має відповідати вашій установі:

    workgroup = EXAMPLE
    ...
    security = user
    
  3. У закоментованому розділі “Domains” додайте такі рядки або вилучіть позначки коментування з рядків:

    domain logons = yes
    logon path = \\%N\%U\profile
    logon drive = H:
    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
    
    • domain logons: забезпечує роботу служби netlogon, що надає змогу Samba працювати у режимі контролера домену.

    • logon path: розташовує профіль користувача Windows до домашнього каталогу користувача. Крім того, можна налаштувати спільний ресурс [profiles] для зберігання всіх профілів у одному каталозі.

    • logon drive: визначає локальний шлях до домашнього каталогу.

    • logon home: визначає адресу домашнього каталогу.

    • logon script: визначає скрипт, який буде виконано локально після входу користувача до системи. Скрипт має зберігатися на спільному ресурсі [netlogon].

    • add machine script: скрипт, який автоматично створюватиме Machine Trust Account (обліковий запис довіри до машини), потрібний для долучення робочої станції до домену.

      У нашому прикладі групу machines слід буде створити за допомогою команди addgroup. Докладніше про це у розділі Основи.

    Note

    Якщо Roaming Profiles (профілі роумінгу) не буде використано, не вилучайте позначок коментування з рядків logon home і logon path.

  4. Вилучіть позначку коментаря з пункту спільного ресурсу [homes], щоб надати серверу змогу створювати каталоги входу до системи:

    [homes]
    comment = Home Directories
    browseable = no
    read only = no
    create mask = 0700
    directory mask = 0700
    valid users = %S
    
  5. Якщо комп’ютер налаштовано на роботу у режимі контролера домену, лід налаштувати спільний ресурс [netlogon]. Щоб увімкнути цей спільний ресурс, вилучіть позначку коментування з рядків:

    [netlogon]
    comment = Network Logon Service
    path = /srv/samba/netlogon
    guest ok = yes
    read only = yes
    share modes = no
    

    Note

    Початковою адресою спільного ресурсу netlogon є /home/samba/netlogon, але відповідно до стандарту ієрархії файлових систем (Filesystem Hierarchy Standard або FHS), правильним місцем для зберігання специфічних даних, що надаються системою, є /srv.

  6. Тепер створіть каталог netlogon і порожній (поки що) файл скрипту logon.cmd:

    sudo mkdir -p /srv/samba/netlogon
    sudo touch /srv/samba/netlogon/logon.cmd
    

    У файлі logon.cmd можна вказати будь-які звичайні команди скриптів входу Windows для налаштування клієнтського середовища.

  7. За умови, що у системі типово вимкнено групу root, щоб долучити робочу станцію до домену, системну групу має бути відображено на групу Windows Domain Admins. Скористаємося програмою net у вікні термінала:

    sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
    

    Note

    Змініть sysadmin на потрібну вам групу. Користувач, який долучатиметься до домену, має бути учасником групи sysadmin, а також учасником системної групи admin. Учасникам групи admin можна використовувати команду sudo.

  8. Нарешті, перезапустіть Samba, щоб увімкнути новий контролер домену:

    sudo /etc/init.d/samba restart
    
  9. Тепер можна долучати клієнтські комп’ютери під керуванням Windows до домену, подібно до того, які ці комп’ютери долучаються до домену NT4 під керуванням сервера Windows.

Резервний контролер домену

Якщо у мережі є основний контролер домену (Primary Domain Controller або PDC), варто також створити резервний контролер домену (Backup Domain Controller або BDC). Створення такого контролера надасть змогу клієнтським комп’ютерам проходити розпізнавання, якщо PDC виявиться недоступним.

Для налаштування Samba на роботу у режимі резервного контролера домену слід забезпечити синхронізацію даних щодо облікових записів з основним контролером домену (PDC). Виконати це завдання можна у декілька способів, зокрема з використанням scp, rsync або використанням LDAP у режимі сервера passdb.

Використання LDAP є найнадійнішим способом синхронізації даних щодо облікових записів, оскільки у такому режимі обидва контролери домену можуть одночасно користуватися даними у режимі реального часу. Втім, налаштування сервера LDAP може виявитися занадто складним завданням, якщо вам потрібно обслуговувати незначну кількість облікових записів користувачів та комп’ютерів. Докладніше про налаштування можна дізнатися зі сторінки Sambaщодо LDAP.

  1. Спочатку встановіть пакунки samba і libpam-smbpass. У емуляторі термінала віддайте команду:

    sudo apt-get install samba libpam-smbpass
    
  2. Відкрийте у вікні текстового редактора файл /etc/samba/smb.conf і вилучіть позначку коментаря з таких рядків у розділі [global]:

    workgroup = EXAMPLE
    ...
    security = user
    
  3. У закоментованому розділі Domains вилучіть позначку коментування з рядків або додайте рядки:

    domain logons = yes
    domain master = no
    
  4. Не забудьте надати користувачеві права на читання файлів у каталозі /var/lib/samba. Наприклад, щоб дозволити користувачам з групи admin виконувати команду scp над файлами, введіть таку команду:

    sudo chgrp -R admin /var/lib/samba
    
  5. Далі, синхронізуйте облікові записи користувачів за допомогою scp для копіювання каталогу /var/lib/samba з основного контролера домену (PDC):

    sudo scp -r username@pdc:/var/lib/samba /var/lib
    

    Note

    Замініть username на коректне ім’я користувача, а pdc — на назву вузла або IP-адресу основного контролера домену (PDC).

  6. Нарешті, перезапустіть samba:

    sudo /etc/init.d/samba restart
    

Перевірте працездатність резервного контролера домену зупинкою фонової служби Samba на основному контролері домену (PDC) з наступною спробою увійти до клієнтського комп’ютера під керуванням Windows, долученого до домену.

Якщо було налаштовано параметр logon home на каталог на основному контролері домену, а зв’язок з основним контролером домену буде перервано, доступ до диска користувача Домівка також буде закрито. З цієї причини, найкраще вказувати для logon home каталог на окремому файловому сервері, на якому не працює основний чи резервний контролер домену.

Ресурси

  • Докладніше про налаштування Samba можна дізнатися з збірки порад з Samba

  • Крім того, з підручником можна ознайомитися у паперовому форматі.

  • Ще одним чудовим підручником є Використання Samba видавництва O'Reilly.

  • Главу 4 збірки настанов з Samba присвячено налаштуванню основного контролера домену.

  • Главу 5 збірки настанов з Samba присвячено налаштуванню резервного контролера домену.