Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

PDC средствами Samba или как обойтись без Windows Server

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Сеть
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Янв 27, 2009 2:36 pm    Заголовок сообщения: PDC средствами Samba или как обойтись без Windows Server
Ответить с цитатой

Текст авторский! Любая перепечатка без разрешения автора запрещена!

Попробуем настроить Primary Domain Controller (PDC) – Первичный Контроллер Домена средствами Samba. Когда мы закончим настройку, у нас будет возможность сэкономить некоторые средства на покупке Windows 2000 Server – он нам больше не нужен. Какой из этого будет прок? Потратив пару часов времени, вы можете сэкономить (читайте – заработать, поскольку вам не придется отдавать эти деньги) чуть больше 800 долларов – именно столько стоит Windows 2000 Server Standard Edition. Пользователи сети даже не заметят подмены – Samba поддерживает практически все функции Windows 2000 Server, а если что-то и не поддерживается, то этими функциями, скорее всего, вы пользоваться не будете даже, если установите Windows 2000 Server. Итак, перейдем к настройке.
Я предполагаю, что Samba у вас уже настроена и нормально функционирует. Дабы ничего не нарушить сохраните файл конфигурации smb.conf под другим именем. Теперь откройте файл smb.conf и очистите его – мы его напишем заново.
Начнем с секции global (см. листинг 1)

Листинг 1. Секция global файла smb.conf

Код:
[global]

; общие параметры
netbios name = PDC
workgroup = DOMAIN
server string = Primary Domain Controller

; настройки PDC
os level = 64
domain master = yes
preferred master = yes
local master = yes


Разберемся, что же мы написали. Параметр netbios name – это имя нашего компьютера в сети Microsoft. Вы можете использовать другое имя, например, SERVER.
Параметр workgroup – это имя нашего домена. Учтите, что имя сервера и домена не должны совпадать, иначе Samba не будет работать правильно. Описание компьютера в сети Microsoft задается параметром server string.
Последние четыре строки делают следующее:
* устанавливают уровень операционной системы - 64
* делают наш компьютер контроллером домена (domain master)
* делают наш компьютер local master browser’ом

Все понятно, кроме одного: что такое local master browser? Компьютер, который является local master browser’ом, содержит список активных компьютеров. Существует процедура выбора local master browser’a. Она основывается на сравнении многих параметров «кандидата», которым может быть любой компьютер сети Microsoft. В частности, чем выше os level, тем больше вероятность, что наш компьютер станет local master browser’ом.
Добавим в файл smb.conf следующие строки:

Листинг 2. Параметры безопасности

Код:
[global]



; параметры безопасности
security = user
encrypt passwords = yes
domain logons = yes
hosts allow = 127.0.0.1 192.168.1.

В качестве значения параметра security можно указать DOMAIN или SERVER, но и с USER все прекрасно работает. Параметр encrypt passwords включает использование зашифрованных паролей. Параметр domain logons включает авторизацию в домене. Список разрешенных узлов и сетей задается параметром hosts allow. Не смотря на то, что адрес 127.0.0.1 добавлять не обязательно, я рекомендую его добавить.
Теперь настроим параметры авторизации (следующие строки нужно добавить в файл smb.conf):

Листинг 3. Параметры авторизации

Код:
[global]



; параметры авторизации

; тут будут сохраняться профайлы пользователей
 logon path = \\%N\profiles\%u

; буква диска которая будет назначена каталогу, который определяется
; параметром logon home
logon drive = Z:
logon home = \\home\%u

; сценарий, который будет запускаться, когда пользователь входит в домен
logon script = logon.cmd


Думаю, из листинга 3 понятно назначение всех параметров. Остановимся на параметры logon script. Как только пользователь войдет в домен, будет запущен сценарий logon.cmd. Данный сценарий – это обыкновенный командный файл, а так как он будет запущен на компьютере клиента он должен иметь соответствующее расширение. Если ваши клиенты – Windows 9x, расширение файла должно быть .BAT, если Windows NT - .CMD.
Вот и все, что касается секции global. Теперь приступим к описанию общедоступных ресурсов. Опишем главный ресурс – netlogon:

Код:
; Network logon service
[netlogon]
comment = Network logon service
path = /pub/netlogon
browseable = no


Мы только что описали служебный ресурс, использующийся для удаленного администрирования. Обычно он используется системными администраторами для изменения системного реестра. Опция browseable = no запрещает просмотр этого ресурса по сети: его смогут увидеть только пользователи с правами администратора домена.
Опишем секцию homes

Код:
; Здесь находятся домашние файлы пользователей
[homes]
comment = User’s Home
valid user = %S
read only = no
create mask = 0644
directory mask = 0775
browseable = no

Получить доступ к этому ресурсу может только пользователь, которому данный ресурс принадлежит (valid user = %S), никто другой не увидит этого ресурса (browseable = no). Пользователю-владельцу разрешается запись (read only = no). Маски создания файла и каталога, установленные должным образом (0644 и 0775 соответственно), не позволяют пользователю выйти за пределы своего домашнего каталога.
Профайлы пользователей будут храниться в отведенном для этого каталоге. Для описания каталога, содержащего профайлы, используется секция profiles:

Код:
; Профайлы
[profiles]
path = /home/profiles
; не устанавливайте другие маски
create mask = 0600
directory mask = 0700
browseable = no


При использовании профайлов есть один тонкий момент: Windows NT Workstation помещает профайлы в каталог, описанный в секции profiles, а Windows 9x – в домашний каталог пользователя. Это может послужить причиной различных конфликтов. Вот наглядный пример: пользователь работал с Windows 9x, по окончании работы Windows сохранила настройки пользователя в его домашнем каталоге. Потом пользователь заходит в домен с Windows NT, последняя ищет профайлы в каталоге profiles. Ясное дело, их там нет. Об этом нужно помнить.

Вот полный файл конфигурации PDC на базе Samba:

Листинг 4. Файл конфигурации PDC

Код:
; PDC
[global]

; общие параметры
netbios name = PDC
workgroup = DOMAIN
server string = Primary Domain Controller

; настройки PDC
os level = 64
domain master = yes
preferred master = yes
local master = yes

; параметры безопасности
security = user
encrypt passwords = yes
domain logons = yes
hosts allow = 127.0.0.1 192.168.1.

; параметры авторизации

; тут будут сохраняться профайлы пользователей
 logon path = \\%N\profiles\%u

; буква диска которая будет назначена каталогу, который определяется
; параметром logon home
logon drive = Z:
logon home = \\home\%u

; сценарий, который будет запускаться, когда пользователь входит в домен
logon script = logon.cmd

; Network logon service
[netlogon]
comment = Network logon service
path = /pub/netlogon
browseable = no

; Здесь находятся домашние файлы пользователей
[homes]
comment = User’s Home
valid user = %S
read only = no
create mask = 0644
directory mask = 0775
browseable = no

; Профайлы
[profiles]
path = /home/profiles
; не устанавливайте другие маски
create mask = 0600
directory mask = 0700
browseable = no


Сейчас нам нужно создать две группы пользователей: одну для администраторов, а другую – для компьютеров. Да, именно для компьютеров. С точки зрения UNIX, компьютер домена Windows NT – это обыкновенный пользователь, только имя у него специфическое, но об этом чуть позже.

Создаем группы:

groupadd admins
groupadd comps

Если команды groupadd у вас нет, попробуйте команды group или addgroup.
Создаем каталоги, описанные в конфигурационном файле:

mkdir –m 0775 /pub
chown root.admins /pub
mkdir –m 0755 /pub/netlogon
chown root.admins /pub

Владелец каталога netlogon – пользователь root из группы admins. Теперь создадим каталог для хранения профайлов:

mkdir /home/profiles
chown 1757 /home/profiles

Добавим пользователей в наш домен:

adduser pupkin (или useradd pupkin)
passwd pupkin
smbpasswd –a pupkin
smbpasswd –e pupkin

Первая команда добавляет пользователя pupkin в систему, вторая – изменяет его UNIX-пароль, третья – добавляет пользователя в домен, а последняя – активизирует пользователя.
Есть один нюанс: если пользователь под Windows изменит пароль, будет изменен только его SAMBA-пароль, UNIX-пароль останется прежним. Чтобы этого не произошло в секцию global файла конфигурации добавьте строки:

Код:
; синхронизация паролей
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password %n\n *Enter*new*password* %n\n
*Retype* %n\n *OK*


Обратите внимание на последнюю строку: она должна быть набрана в одну строку.

Теперь займемся добавлением компьютеров в наш домен. Можно добавлять компьютеры вручную, а можно – автоматически. Автоматическое добавление произойдет сразу, как только компьютер войдет в домен.
Как уже отмечалось, компьютер – это обыкновенный пользователь, только имя у него задается специальным образом – к нему добавляется знак доллара. Например, если имя компьютера comp1, то имя пользователя будет comp1$. Добавим пользователя comp1$

adduser –g comps –d /dev/null –s /bin/false comp1$
passwd –l comp1$

Есть небольшая проблемка: программы добавления пользователей в некоторых дистрибутивах (например, в ASP Linux) не воспринимается символ $ - Linux же бесплатная система
Что же делать? Добавляем пользователя comp1 (без $):

adduser –g comps –d /dev/null –s /bin/false comp1
passwd –l comp1

Затем открываем файл /etc/passwd и после имени comp1 добавляем символ $. То же самое нужно сделать в файле /etc/shadow:

Было:
comp1:x:201:201::/dev/null:/bin/false

Нужно:
comp1$:x:201:201::/dev/null:/bin/false

Добавляем пользователя comp1 в Samb’у:

smbpasswd –a –m comp1

В конце имени уже не нужно указывать знак доллара, потому что мы указали опцию –m.
Для автоматического добавления компьютеров в секцию global файла конфигурации smb.conf добавьте строку:

add user script = /usr/bin/adduser –d /dev/null –s /bin/false –g comps –M %u

Поздравляю! Настройка первичного контроллера домена завершена. Перезапустите (или запустите) Samba:

service nmbd restart
service smbd restart
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Сеть Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис