Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux. Часть VI. Знакомство с сервером Samba

Оригинал: Samba domain member
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 15 июля 2015 г.

Глава 16. Сервер Samba в роли участника домена

16.1. Необходимые изменения в файле конфигурации сервера smb.conf

16.1.1. Имя рабочей группы (workgroup)

Значение параметра workgroup в секции глобальных параметров сервера Samba должно совпадать с именем NetBIOS домена Active Directory.

workgroup = STARGATE

16.1.2. Режим доступа к разделяемым ресурсам (security mode)

В данном случае аутентификация должна осуществляться не на уровне сервера Samba, а на уровне контроллеров домена Active Directory, поэтому мы должны использовать значение Domain параметра security.

security = Domain

16.1.3. Идентификаторы пользователей Linux

Для доступа к файловой системе Linux каждому пользователю необходимо завести учетную запись в системе, следовательно, мы должны передать серверу Samba информацию о диапазонах идентификаторов пользователей и групп, которые будут использоваться для создания соответствующих учетных записей пользователей. Диапазоны идентификаторов пользователей и групп могут быть установлены с помощью параметров idmap uid и idmap gid. В данном случае первый пользователь, взаимодействующий с контроллером домена Active Directory, будет иметь идентификатор 20000.

idmap uid = 20000-22000
idmap gid = 20000-22000

16.1.4. Отказ от использования имени домена в именах пользователей (winbind use default domain)

Параметр winbind use default domain позволяет серверу winbind работать с учетными записями пользователей без использования имени домена в их именах.

winbind use default domain = yes

16.1.5. Секция глобальных параметров [global] файла конфигурации smb.conf

Ниже приведено обновленное содержимое секции глобальных параметров файла конфигурации нашего сервера Samba с именем smb,conf.

[global]
 workgroup = STARGATE
 security = Domain
 server string = Stargate Domain Member Server
 idmap uid = 20000-22000
 idmap gid = 20000-22000
 winbind use default domain = yes

16.1.6. Описание области действия в файле конфигурации сервера Kerberos с именем /etc/krb5.conf

Для соединения с компьютерами, работающими под управлением ОС Windows версии 2003 SP2 (или более поздней), вам придется добавить описание области действия в файл конфигурации сервера Kerberos с именем /etc/krb5.conf, установив значения true для обоих параметров поиска (*_lookup_*).

[libdefaults]
 default_realm = STARGATE.LOCAL
 dns_lookup_realm = true
 dns_lookup_kdc = true

16.1.7. Секция описания разделяемого ресурса [share] файла конфигурации smb.conf

В секцию описания разделяемого ресурса файла конфигурации smb.conf не следует добавлять каких-либо дополнительных параметров. Следует лишь помнить о том, что мы не создавали вручную учетные записи пользователей в базе данных пользователей сервера Samba с именем smbpasswd и на уровне системы Linux (в файле /etc/passwd). Исходя из этого, доступ к разделяемым ресурсам будет разрешен лишь для пользователей из домена Active Directory.

[domaindata]
 path = /srv/samba/domaindata
 comment = Active Directory users only
 read only = No

16.2. Присоединение к домену Active Directory

После остановки сервера Samba вы можете воспользоваться командой net rpc join для присоединения к домену Active Directory.

[root@RHEL52 samba]# service smb stop
Shutting down SMB services:                                [  OK  ]
Shutting down NMB services:                                [  OK  ]
[root@RHEL52 samba]# net rpc join -U Administrator
Password:
Joined domain STARGATE.

Мы можем воспользоваться утилитой ADUC (Active Directory Users and Computers) для проверки корректности создания записи компьютера для нашего сервера Samba.

Присоединение к домену Active Directory

16.3. Служба Winbind

16.3.1. Добавление ссылки на Winbind в файл конфигурации nsswitch.conf

Демон Winbind ответственен за взаимодействие с доменом Active Directory.

Нам придется модифицировать файл конфигурации /etc/nsswitch.conf для того, чтобы имелась возможность разрешения имен пользователей, групп и узлов при посредничестве демона winbind.

[root@RHEL52 samba]# vi /etc/nsswitch.conf 
[root@RHEL52 samba]# grep winbind /etc/nsswitch.conf 
passwd:     files winbind
group:      files winbind
hosts:      files dns winbind

16.3.2. Запуск служб samba и winbindd

Пришло время запустить службы samba и winbindd.

[root@RHEL4b samba]# service smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
[root@RHEL4b samba]# service winbind start
Starting winbindd services:                                [  OK  ]
[root@RHEL4b samba]# 

16.4. Утилита wbinfo

16.4.1. Проверка возможности доверительного взаимодействия серверов

Вы можете воспользоваться командой wbinfo -t для проверки возможности доверительного взаимодействия вашего сервера Samba и контроллера домена Active Directory.

[root@RHEL52 ~]# wbinfo -t
checking the trust secret via RPC calls succeeded

16.4.2. Вывод списка всех пользователей домена

Вы можете получить список всех пользователей домена с помощью команды wbinfo -u. Имя домена не выводится в том случае, если в файле конфигурации сервера Samba была использована директива winbind use default domain = yes.

[root@RHEL52 ~]# wbinfo -u
TEACHER0\serena
TEACHER0\justine
TEACHER0\martina
STARGATE\administrator
STARGATE\guest
STARGATE\support_388945a0
STARGATE\pol
STARGATE\krbtgt
STARGATE\arthur
STARGATE\harry

16.4.3. Вывод списка всех групп пользователей домена

Вы можете получить список всех групп пользователей домена с помощью команды wbinfo -g. Имя домена не будет выводиться в том случае, если в файле конфигурации сервера Samba была использована директива winbind use default domain = yes.

[root@RHEL52 ~]# wbinfo -g
BUILTIN\administrators
BUILTIN\users
BATMAN\domain computers
BATMAN\domain controllers
BATMAN\schema admins
BATMAN\enterprise admins
BATMAN\domain admins
BATMAN\domain users
BATMAN\domain guests
BATMAN\group policy creator owners
BATMAN\dnsupdateproxy

16.4.4. Проверка возможности аутентификации пользователя

Вы можете использовать команду wbinfo -a для проверки возможности аутентификации пользователя на уровне контроллера домена Active Directory. Принимая во внимание то, что учетная запись пользователя harry с паролем stargate была только что создана на уровне контроллера домена Active Directory, будет получен следующий вывод.

[root@RHEL52 ~]# wbinfo -a harry%stargate
plaintext password authentication succeeded
challenge/response password authentication succeeded

16.5. Утилита getent

Вы можете использовать утилиту getent для проверки работоспособности демона winbindd и добавления в файл /etc/passwd учетных записей пользователей, зарегистрированных на уровне контроллера домена Active Directory.

[root@RHEL52 ~]# getent passwd harry
harry:*:20000:20008:harry potter:/home/BATMAN/harry:/bin/false
[root@RHEL52 ~]# getent passwd arthur
arthur:*:20001:20008:arthur dent:/home/BATMAN/arthur:/bin/false
[root@RHEL52 ~]# getent passwd bilbo
bilbo:*:20002:20008:bilbo baggins:/home/BATMAN/bilbo:/bin/false

В том случае, если учетная запись пользователя уже существует в локальной системе, будет выводиться информация о локальной учетной записи пользователя. Это происходит из-за того, что ссылка на модуль для взаимодействия с демоном winbind (winbind) в файле конфигурации /etc/nsswitch.conf находится ниже ссылки на модуль для получения информации о локальных пользователях (files).

[root@RHEL52 ~]# getent passwd paul
paul:x:500:500:Paul Cobbaut:/home/paul:/bin/bash

Все пользователи, зарегистрированные на уровне контроллера домена Active Directory, теперь могут без лишних сложностей соединяться с разделяемыми ресурсами сервера Samba. Причем созданные этими пользователями файлы будут принадлежать им.

16.6. Проверка работоспособности механизма владения файлами

[root@RHEL4b samba]# ll /srv/samba/domaindata/
итого 0
-rwxr--r--  1 justine 20000 0 июн 22 19:54 create_by_justine_on_winxp.txt
-rwxr--r--  1 venus   20000 0 июн 22 19:55 create_by_venus.txt
-rwxr--r--  1 maria   20000 0 июн 22 19:57 Maria.txt

16.7. Практическое задание: сервер Samba в роли участника домена

1. Убедитесь в том, что в вашем распоряжении имеется рабочий домен Active Directory (AD).

2. Добавьте имя домена и адрес контроллера домена в файл описания узлов сети /etc/hosts. Добавьте IP-адрес сервера AD-DNS в файл описания серверов имен /etc/reslov.conf.

3. Настройте сервер Samba для работы в роли участника рассматриваемого домена.

4. Проверьте корректность создания записи компьютера для вашего сервера Samba на уровне контроллера домена AD.

5. Проверьте корректность автоматического добавления учетных записей пользователей домена AD в файл /etc/passwd с помощью утилит wbinfo и getent.

6. Соединитесь с разделяемыми средствами сервера Samba директориями от лица пользователей AD и проверьте имена владельцев создаваемых ими файлов.


Предыдущий раздел: Оглавление Следующий раздел:
Глава 15. Ограничение доступа к разделяемым с помощью сервера Samba ресурсам   Глава 17. Сервер Samba в роли контроллера домена