Библиотека сайта 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.
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 в роли контроллера домена |