Samba как контроллер домена Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:сеть_windows:samba_as_domain_controller [2012/09/20 12:11]
создано
wiki:руководство_по_ubuntu_server:сеть_windows:samba_as_domain_controller [2012/09/20 17:24] (текущий)
[Ссылки]
Строка 8: Строка 8:
 =====Samba как контроллер домена===== =====Samba как контроллер домена=====
  
-Although it cannot act as an Active Directory Primary Domain Controller ​(PDC), ​Samba server can be configured to appear as a Windows NT4-style domain controllerA major advantage of this configuration is the ability to centralize user and machine credentials. Samba can also use multiple backends to store the user information. +Хотя он не может представлять из себя первичный контроллер домена ​(PDC) Active Directory, Samba сервер может быть настроен как контроллер домена ​Windows NT4. Основным преимуществом такой конфигурации является возможность централизовать учетные записи пользователей и машинКроме того ​Samba может использовать различные базы данных для хранения информации о пользователях.
- +
-    Primary Domain Controller +
-    Backup Domain Controller +
-    Resources+
  
 ====Первичный контроллер домена==== ====Первичный контроллер домена====
  
-This section covers configuring ​Samba as a Primary Domain Controller ​(PDC) using the default ​smbpasswd ​backend.+В этом разделе рассматривается настройка ​Samba в качестве первичного контроллера домена ​(PDC) с использованием **smbpasswd** в качестве хранилища данных.
  
-    First, install ​Samba, and libpam-smbpass ​to sync the user accountsby entering the following in a terminal prompt:+ 1. Первым делом установим ​Samba и libpam-smbpass ​для синхронизации учетных записей пользователейвведя в терминале: 
 +<​code>​sudo apt-get install samba libpam-smbpass</​code>​
  
-    sudo apt-get install ​samba libpam-smbpass+ 2. Далее настроим Samba редактированием /etc/samba/smb.conf. Режим безопасности следует установить **user**, а рабочую группу следует назвать в соответствии с именем вашей организации:​ 
 +<​code>​ 
 +   ​workgroup = EXAMPLE 
 +   ... 
 +   ​security = user 
 +</​code>​
  
-    Next, configure Samba by editing ​/etc/samba/smb.conf. The security mode should be set to userand the workgroup should relate to your organization:​+ 3. В закомментированной секции %%"​Domains"​%% добавьте или раскомментируйте следующее:​ 
 +<​code>​ 
 +   ​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 
 +</​code>​ 
 +<​note>​Если вы не собираетесь использовать перемещаемые профили (Roaming Profiles)оставьте опции **//logon home//** и **//logon path//** закомментированными.</​note>​
  
-       ​workgroup = EXAMPLE +  -- **domain logons**: заставляет сервис netlogon взаимодействовать с Samba как с контроллером домена. 
-       ​... +  -- **logon path**: помещает пользовательский профиль Windows в его домашний каталогТакже существует возможность настроить разделяемый ресурс **[profiles]**,​ поместив все профили в один каталог. 
-       security = user+  -- **logon drive**: определяет локальный путь для домашнего каталога
 +  -- **logon home**: определяет местоположение домашнего каталога. 
 +  -- **logon script**: определяет сценарий,​ который должен быть выполнен один раз при входе пользователя. Сценарий должен быть помещен в разделяемый ресурс **[netlogon]**. 
 +  -- **add machine script**: сценарий,​ который будет автоматически запущен при создании доверительной учетной записи машины при добавлении рабочей станции в домен. 
 +  .. В этом примере требуется создать группу **machines** с использованием утилиты **addgroup**. Подробности смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​безопасность:​user_management#​добавление_и_удаление_пользователей|Добавление и удаление пользователей]].
  
-    In the commented “Domains” section add or uncomment the following (the last line has been split to fit the format of this document):+ 4. Раскомментируйте ресурс **[homes]** чтобы указать домашний каталог для входа: 
 +<​code>​ 
 +[homes] 
 +   ​comment = Home Directories 
 +   ​browseable = no 
 +   read only = no 
 +   ​create mask = 0700 
 +   ​directory mask = 0700 
 +   valid users = %S 
 +</​code>​
  
-       ​domain logons ​yes + 5. При настройке Samba в качестве доменного контроллера требуется настроить ресурс [netlogon]. Для включения ресурса раскомментируйте:​ 
-       logon path = \\%N\%U\profile +<​code>​ 
-       logon drive H: +[netlogon] 
-       logon home \\%N\%U +   ​comment ​Network Logon Service 
-       logon script ​logon.cmd +   ​path = /​srv/​samba/​netlogon 
-       add machine script = sudo /usr/​sbin/​useradd -N -g machines -c Machine -d +   guest ok yes 
-             ​/var/lib/​samba ​-s /bin/false %u+   read only yes 
 +   share modes no 
 +</code> 
 +<​note>​Оригинальный путь для ресурса **netlogon** ​/home/samba/netlogon, но по стандарту иерархии файловых систем (FHS) правильным расположением для данных,​ касающихся данной системы,​ является каталог /srv.</note>
  
-    If you wish to not use Roaming Profiles leave the logon home and logon path options commented.+ 6. Теперь создадим каталог netlogon и пустой (пока) файл сценария ​logon.cmd: 
 +<​code>​ 
 +sudo mkdir -p /​srv/​samba/​netlogon 
 +sudo touch /​srv/​samba/​netlogon/​logon.cmd 
 +</​code>​ 
 +Вы можете ввести любые обычные команды сценария входа для Windows в logon.cmd чтобы настроить клиентское окружение.
  
-        domain logons: provides the netlogon service causing Samba to act as a domain controller.+ 7Перезапустим Samba чтобы запустить контроллер нового домена:​ 
 +<​code>​ 
 +sudo restart smbd 
 +sudo restart nmbd 
 +</​code>​
  
-        logon path: places the user's Windows profile into their home directoryIt is also possible to configure a [profiles] share placing all profiles under a single directory.+ 8Наконец существует немного дополнительных команд,​ требуемых для установки соответствующих прав.
  
-        logon drivespecifies the home directory local path.+С заблокированным по умолчанию суперпользователем (root), чтобы присоединить рабочую станцию к домену,​ системная группа должна отображаться на Windows группу **Domain Admins**. С использованием утилиты **net** в терминале введите: 
 +<​code>​sudo net groupmap add ntgroup="​Domain Admins"​ unixgroup=sysadmin rid=512 type=d</​code>​ 
 +<​note>​Замените **//​sysadmin//​** на ту группу,​ которая вам подходит. Кроме того, пользователь,​ используемый для присоединения к домену,​ должен входить в группу **sysadmin**,​ также как и в системную группу **admin**. Группа **admin** позволяет использовать команду sudo.
  
-        logon homespecifies the home directory location.+Если пользователь пока не имеет учетных записей Samba, вы можете добавить их с помощью утилиты **smbpasswd**,​ заменив имя пользователя **//​sysadmin//​** на требуемое: 
 +<​code>​sudo smbpasswd -a sysadmin</​code>​ 
 +</​note>​ 
 +Также требуется явно предоставить права группе **Domain Admins** чтобы позволить выполнять сценарий добавления машин (и других административных функций)Это может быть достигнуто выполнением команды:​ 
 +<​code>​ 
 +net rpc rights grant -U sysadmin "​EXAMPLE\Domain Admins"​ SeMachineAccountPrivilege \ 
 + ​SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege \ 
 + ​SeRemoteShutdownPrivilege 
 +</​code>​
  
-        logon script: determines the script to be run locally once a user has logged in. The script needs to be placed in the [netlogon] share. +Теперь вы имеете возможность присоединять клиентов ​Windows ​к домену таким же образомкак присоединяли их к NT4 домену на Windows ​сервере.
- +
-        add machine script: a script that will automatically create the Machine Trust Account needed for a workstation to join the domain. +
- +
-        In this example the machines group will need to be created using the addgroup utility see Adding and Deleting Users for details. +
- +
-    Uncomment the [homes] share to allow the logon home to be mapped: +
- +
-    [homes] +
-       ​comment = Home Directories +
-       ​browseable = no +
-       read only = no +
-       ​create mask = 0700 +
-       ​directory mask = 0700 +
-       valid users = %S +
- +
-    When configured as a domain controller a [netlogon] share needs to be configured. To enable the share, uncomment:​ +
- +
-    [netlogon] +
-       ​comment = Network Logon Service +
-       path = /​srv/​samba/​netlogon +
-       guest ok = yes +
-       read only = yes +
-       share modes = no +
- +
-    The original netlogon share path is /​home/​samba/​netlogon,​ but according to the Filesystem Hierarchy Standard (FHS), /srv is the correct location for site-specific data provided by the system. +
- +
-    Now create the netlogon directory, and an empty (for now) logon.cmd script file: +
- +
-    sudo mkdir -p /​srv/​samba/​netlogon +
-    sudo touch /​srv/​samba/​netlogon/​logon.cmd +
- +
-    You can enter any normal ​Windows ​logon script commands in logon.cmd to customize the client'​s environment. +
- +
-    Restart Samba to enable the new domain controller:​ +
- +
-    sudo restart smbd +
-    sudo restart nmbd +
- +
-    Lastlythere are a few additional commands needed to setup the appropriate rights. +
- +
-    With root being disabled by default, in order to join a workstation to the domain, a system group needs to be mapped to the Windows Domain Admins group. Using the net utility, from a terminal enter: +
- +
-    sudo net groupmap add ntgroup="​Domain Admins"​ unixgroup=sysadmin rid=512 type=d +
- +
-    Change sysadmin to whichever group you prefer. Also, the user used to join the domain needs to be a member of the sysadmin group, as well as a member of the system admin group. The admin group allows sudo use. +
- +
-    If the user does not have Samba credentials yet, you can add them with the smbpasswd utility, change the sysadmin username appropriately:​ +
- +
-    sudo smbpasswd -a sysadmin +
- +
-    Also, rights need to be explicitly provided to the Domain Admins group to allow the add machine script (and other admin functions) to work. This is achieved by executing:​ +
- +
-    net rpc rights grant -U sysadmin "​EXAMPLE\Domain Admins"​ SeMachineAccountPrivilege \ +
-    SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege \ +
-    SeRemoteShutdownPrivilege +
- +
-    You should now be able to join Windows clients to the Domain in the same manner as joining them to an NT4 domain running on a Windows ​server.+
  
 ====Резервный контроллер домена==== ====Резервный контроллер домена====
  
-With a Primary Domain Controller ​(PDC) on the network it is best to have a Backup Domain Controller ​(BDC) as wellThis will allow clients to authenticate in case the PDC becomes unavailable.+При наличии первичного контроллера домена ​(PDC) в сети лучше всего иметь также и резервный контроллер домена ​(BDC). ​Это позволяет авторизоваться клиентам когда ​PDC становится недоступен.
  
-When configuring ​Samba as a BDC you need a way to sync account information with the PDC. There are multiple ways of accomplishing this scp, rsync, or by using LDAP as the passdb ​backend.+Когда вы настраиваете ​Samba в качестве ​BDC, вам требуется выбрать способ синхронизации учетных записей с PDC. Существует несколько вариантов достижения этого с помощью **scp****rsync** или использования **LDAP** в качестве базы **passdb**.
  
-Using LDAP is the most robust way to sync account informationbecause both domain controllers can use the same information in real timeHowever, setting up a LDAP server may be overly complicated for a small number of user and computer accountsSee Samba and LDAP for details.+Использование ​LDAP является наиболее правильным способом синхронизации учетных записейпоскольку оба контроллера домена смогут использовать одну и ту же информацию в режиме реального времениОднако установка ​LDAP сервера может быть излишне сложной для небольшого количества учетных записей пользователей и компьютеровСмотрите раздел [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​samba_and_ldap|Samba и LDAP]] для уточнения деталей.
  
-    First, install ​samba and libpam-smbpass. ​From a terminal enter:+ 1. Сначала установим **samba** и **libpam-smbpass**Введите в терминале: 
 +<​code>​sudo apt-get install samba libpam-smbpass</​code>​
  
-    sudo apt-get install ​samba libpam-smbpass+ 2. Теперь отредактируем /etc/samba/smb.conf и снимем комментарий со следующих записей секции **[global]**:​ 
 +<​code>​ 
 +   ​workgroup = EXAMPLE 
 +   ... 
 +   ​security = user 
 +</​code>​
  
-    Now, edit /​etc/​samba/​smb.conf and uncomment the following in the [global]:+ 3.В закомментированной секции **Domains** снимите комментарии или добавьте записи: 
 +<​code>​ 
 +   ​domain logons = yes 
 +   ​domain master = no 
 +</​code>​
  
-       ​workgroup = EXAMPLE + 4Убедитесь,​ что пользователь имеет права на чтение файлов в каталоге /​var/​lib/​sambaНапример,​ чтобы разрешить пользователям группы **admin** копировать файлы с помощью **scp**, введите:​ 
-       ... +<​code>​sudo chgrp -R admin /​var/​lib/​samba</​code>​
-       security = user+
  
-    In the commented Domains uncomment or add:+ 5. Далее синхронизируйте учетные записи пользователей,​ используя scp для копирования каталога /​var/​lib/​samba с PDC: 
 +<​code>​sudo scp -r username@pdc:/​var/​lib/​samba /​var/​lib</​code>​ 
 +<​note>​Замените **//​username//​** на реальное имя пользователя,​ а **//pdc//** на сетевое имя или адрес вашего действующего PDC.</​note>​
  
-       ​domain logons = yes + 6. Наконец,​ перезапустим Samba: 
-       domain master = no+<​code>​ 
 +sudo restart smbd 
 +sudo restart nmbd 
 +</​code>​
  
-    Make sure a user has rights to read the files in /​var/​lib/​samba. For exampleto allow users in the admin group to scp the filesenter:+Вам надо проверитьчто ваш резервный контроллер домена работаетостановив сервис Samba на PDC, и затем попытаться авторизоваться на Windows клиенте,​ входящем в домен.
  
-    sudo chgrp -R admin /​var/​lib/​samba +Другая вещьо которой не стоит забыватьесли вы настроили опцию **logon home** как каталог на PDC и он становится недоступендоступ к домашнему каталогу пользователя также станет невозможнымИменно поэтому лучше настроить **logon home** расположенным на отдельном файловом сервере,​ отличном от PDC и BDC.
- +
-    Nextsync the user accounts, using scp to copy the /​var/​lib/​samba directory from the PDC: +
- +
-    sudo scp -r username@pdc:/​var/​lib/​samba /var/lib +
- +
-    Replace username with a valid username and pdc with the hostname or IP Address of your actual PDC. +
- +
-    Finally, restart samba: +
- +
-    sudo restart smbd +
-    sudo restart nmbd +
- +
-You can test that your Backup Domain controller is working by stopping the Samba daemon on the PDC, then trying to login to a Windows client joined to the domain. +
- +
-Another thing to keep in mind is if you have configured the logon home option as a directory on the PDC, and the PDC becomes unavailable,​ access to the user's Home drive will also be unavailableFor this reason it is best to configure the logon home to reside on a separate file server from the PDC and BDC.+
  
 ====Ссылки==== ====Ссылки====
  
-    For in depth Samba configurations see the Samba HOWTO Collection +  -- Для более глубокого изучения настроек ​Samba смотрите [[http://​samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​|Коллекцию ЧаВо по Samba]]. 
- +  -- Это же руководство в [[http://​www.amazon.com/​exec/​obidos/​tg/​detail/​-/​0131882228|печатном виде]]
-    The guide is also available in printed format+  -- Хорошее руководство - [[http://​www.oreilly.com/​catalog/​9780596007690/​|Using Samba]] от O'​Reilly. 
- +  -- [[http://​samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​samba-pdc.html|4 глава]] Коллекции ЧаВо по Samba раскрывает настройки первичного контроллера домена
-    ​O'​Reilly's Using Samba is also a good reference+  -- [[http://​us3.samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​samba-bdc.html|5 глава]] Коллекции ЧаВо по Samba посвящена настройкам резервного контроллера домена
- +  -- Страница [[https://​help.ubuntu.com/​community/​Samba|Ubuntu Wiki Samba]].
-    Chapter 4 of the Samba HOWTO Collection ​explains setting up a Primary Domain Controller+
- +
-    Chapter 5 of the Samba HOWTO Collection ​explains setting up a Backup Domain Controller+
- +
-    The Ubuntu Wiki Samba page. +
  
 ---- ----