The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Огрнизация Samba Domain Controller для WinNT клиентов (win linux samba)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: win, linux, samba,  (найти похожие документы)
From: Maksim Nikulin <nikulin@monster.msiu.ru> Subject: Огрнизация Samba Domain Controller для WinNT клиентов Что такое Samba? Samba - сервер, основанный на протоколе SMB (Server Message Block) и предоставляющий клиентам WinNT (и некоторых других ОС) возможность доступа к файлам и принтерам Linux (и прочих UN*X). Также имеется клиент для Linux - удобное средство отладки и проверки работоспособности некоторых возможностей Samba. Что хотелось получить? Цель следующая: организовать Samba Domain Controller (далее SDC), который будет доменом каждого WinNT клиента, что позволит "экспортировать" пользователей NT из Linux. Это означает, что все пользователи регистрируются в Linux и каждый из них может работать в NT используя тот же login, что и в Linux. Кроме того, имеется возможность синхронизировать пароли Linux и NT (фактически Samba), сохранять пользовательские настройки NT - profiles. Стандартные возможности Samba - использование в качестве файл- и принт- серверов практически не теряют своей функциональности, хотя некоторые ограничения все же появляются. Описание проблемы Основная сложность состоит в том, что используемая мной версия Samba - 2.0.6, входящая в стандартную поставку RedHat 6.2, все последующие, и, видимо, некоторые предшествующие версии Samba из "основной" ветви разработки поддерживают возможность работы Samba как login сервера неофициально, то есть никакой документации об этом вы не найдете. Дело в том, что отдельные разработчики Samba, продвигают свои возможности/особенности в этот проект. Если эти возможности большинством разработчиков считаются лишними, то можно продолжать работать в рамках отдельной ветви разработки. Я насчитал по меньшей мере десяток ветвей, получить их можно ознакомившись с этим документом http://samba.org/cvs.html, знание CVS приветствуется. SDC появился из ветви Samba-NTDOM, поэтому документацию следует искать http://www.samba.org/samba/samba.html, а также в различных конференциях и FAQ. Опции smb.conf Основные настройки Samba находятся в файле /etc/smb.conf. Файл разбит на секции, содержащие параметры. Секция начинаются с названия секции заключенного в квадратные скобки и заканчивается началом следующей секции. Все параметры представлены в форме 'название = значение'. Рекомендуется сначала настроить Samba без SDC и убедиться в правильной работе более простых возможностей предоставляемых Samba. Далее представлены параметры в секции [global], необходимые для работы SDC. 1. Параметр 'security' должен быть установлен в значение отличное от 'share' - ограничение, накладываемое при использовании SDC. 2. Установите параметр 'domain logons = yes', позволяющий пользователю осуществить вход в систему NT через домен Samba. 3. Параметр 'encrypt passwords = yes' включает преобразование паролей средствами Samba, а не средствами клиента (в данном случае NT). 4. Параметр 'smb passwd file = /etc/smbpasswd' указывает файл, в данном случае /etc/smbpasswd, содержащий, помимо регистрационного имени пользователя, его uid (идентификатор пользователя), зашифрованные пароли пользователя в Samba и в WinNT (могут быть различными) и некоторую информацию, сходную с той, что размещается в /etc/shadow. 5. Для работы SDC требуется наличие следующего разделяемого ресурса (секции в smb.conf) [netlogon] comment = Network Logon Service path = /home/netlogon guest ok = yes writable = no share modes = no В дальнейшем, в директории '/home/netlogon' могут находиться скрипты, запускаемые при входе в систему через SDC. Добавление клиентов и пользователей В начале необходимо создать файл /etc/smbpasswd, содержащий, непосредственно, пользователей SDC. Наиболее простым путем разрешения доступа всем пользователям является запуск следующей последовательности команд cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd Либо запустить для каждого пользователя 'ntuser' команду smbpasswd -a ntuser Далее, требуется создать в Linux пользователя, для каждого клиента WinNT. Регистрационным именем этого пользователя должно быть NetBIOS-имя Windows клиента с добавлением знака '$' в конце. К примеру, для рабочей станции WinNT с NetBIOS-именем 'ntbox', необходимо выполнить команду useradd -s /bin/false -d /dev/null -c "Windows NT Workstation" ntbox\$ создающую примерно следующую строку в файле /etc/passwd ntbox$:x:501:501:Windows NT Workstation:/dev/null:/bin/false Домашний каталог, командный интерпретатор, а также UID и GID пользователя не существенны и нигде не используются, хотя разработчики Samba собираются использовать идентификаторы пользователя в грядущих версиях. Кроме имен клиентов в /etc/passwd можно (для некоторых версий Samba - нужно) добавить имя самого сервера SDC, чтобы разрешить ему быть членом собственного домена. Затем этот же пользователь, соответствующий клиенту 'ntbox', добавляется в /etc/smbpasswd коммандой smbpasswd -a -m ntbox Эта команда всегда должна выполняться перед тем как клиент WinNT заново присоединяется к SDC. Присоединение клиента WinNT к Samba После завершения настроек необходимо перезагрузить Samba, для вступления в силу всех изменений. Затем, войти локально в систему клиента WinNT, используя login привилегированного пользователя, по умолчанию - Администратор. Далее удачно (я надеюсь :-) присоединившись к SDC, перезагрузить WinNT и войти в систему под каким либо пользователем Samba, не забыв выбрать свой домен, указанный параметром 'workgroup', в диалоге входа в систему WinNT, в противном случае произойдет вход на локальную машину. Мелочи: приятные и не очень 1. Если в подсети клиентов Samba, существует(ют) машины с Win2000, которые, по умолчанию, пытаются стать PDC (Primary Domain Controller), то есть конфликтовать с Samba, то может понадобиться установить следующие параметры в секции [global] local master = yes os level = 33 preferred master = yes Параметр 'os level' задает приоритет при выборе PDC и, как правило, нет надобности устанавливать его в значение больше '65' при максимуме '255'. Та же проблема может возникнуть и с WinNT сервером, находящемся в подсети - решается аналогично. 2. При желании объединить несколько подсетей с SDC, в одной из них указывается параметр 'domain master = yes', в остальных лучше установить этот параметр в 'no', если это не делается по умолчанию. 3. Для синхронизации паролей Linux и WinNT указываются параметры unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *pas swd:*all*authentication*tokens*updated*successfully* в секции [global], как следствие - команда smbpasswd меняет пароли и в Linux и в WinNT. 4. В Samba имеется возможность сохранять индивидуальные пользовательские настройки добавив следующий разделяемый ресурс [Profiles] comment = User profiles path = /home/profiles browseable = no writable = yes guest ok = yes 5. Добавление параметра 'logon script = start.bat' влечет выполнение файла start.bat при каждом входе в систему. Можно задавать определенные файлы с помощью так называемых переменных подстановки, например, '%U' - имя пользователя и подстановка в параметр значения '%U.bat' - позволит запускать для каждого пользователя уникальный файл с набором команд. Полный перечень переменных подстановки можно узнать из smb.conf(5) Примечания В RedHat 7.0 поставляется Samba версии 2.0.7, в которой конфигурационные файлы по умолчанию перемещены в /etc/samba/, добавлено несколько новых параметров в smb.conf, также устранены некоторые проблемы с Win2000 (возможно, касающиеся SDC) и прочее. Другие полезные ресурсы * man samba(7) smb.conf(5) * Локальная документация по Samba на вашей машине в директории /usr/doc/. * Официальный сайт Samba http://www.samba.org/ * GnoSamba - Графическая утилита настройки Samba http://www.open-systems.com/gnosamba.html * http://linuxdoc.org * Samba от Ed Weinberg http://linuxguy.net/samba.htm * SMB Mode для Emacs - помогает редактировать конфигурационный файл smb.conf в Emacs http://users.gtn.net/fraserm/smbmode.html Copyright © 2000 Maksim Nikulin <nikulin@monster.msiu.ru>

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру