The OpenNET Project / Index page

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

Входим в Linux под учетной записью из NT-домена. (pdc samba domain win auth linux)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: pdc, samba, domain, win, auth, linux,  (найти похожие документы)
From: Федотов Алексей aka Sloth <sloth at email.ru> Newsgroups: http://www.linuxrsp.ru Date: Mon, 6 Aug 2004 14:31:37 +0000 (UTC) Subject: Входим в Linux под учетной записью из NT-домена. Оригинал: http://www.linuxrsp.ru/artic/nt-auth.html Входим в Линукс под учетной записью из NT-домена. 1. Содержание задачи. 2. Отказ от ответственности. 3. Варианты решения и что для этого нужно. 3.1. Метод с использованием модуля pam_smb. 3.2. Метод с использованием утилиты winbind. 3.3. Сравнение описанных методов. 3.3.1. Метод с модулем pam_smb. 3.3.2. Метод с утилитой winbind. 4. Что делаем. 4.1. Для варианта с pam_smb. 4.1.1. Правим /etc/pam_smb.conf 4.1.2. Правим конфигурационные файлы PAM. 4.1.3. Добавление учетной записи в /etc/passwd. 4.1.4. Попытка авторизации. 4.2. Для варианта с winbind. 4.2.1. Правим smb.conf. 4.2.2. Правим конфигурационные файлы PAM. 4.2.3. Внесение изменений в файл /etc/nsswitch.conf 4.2.4. Перезапуск (запуск) сервисов smb и winbind. 4.2.5. Присоединение компьютера к Windows NT домену. 4.2.6. Попытка авторизации. 5. Использованные документы. 6. Авторство. 1. Содержание задачи. --------------------- Имеется сеть, организованная в Windows NT домен (для определенности, с именем FIRST). Так же имеется PDC (Primary Domain Controller), именуемый main. Установив на один (или несколько) компьютеров сети ОС Linux, мы хотим, чтобы пользователи входили в Линукс под учетными записями, которые хранятся на PDC. Объяснять для чего это нужно я в этой статье не берусь. 2. Отказ от ответственности. ---------------------------- Все описанное ниже, представляет собой лишь последовательность моих действий и ни в коем случае не претендует на полноту и исключительность. Нет ни какой гарантии, что у Вас все будет работать точно так же как и у меня, поэтому вся ответственность, за выполняемые Вами действия, возлагается только на Вас и никого более. Я лишь могу гарантировать, что описанная ниже конфигурация работает на моей машине с ОС ASPLinux 7.2, которая изрядно мной изменена (так же описанная последовательность действий проверена на ASPLinux 7.3 сразу после установки). 3. Варианты решения и что для этого нужно. ------------------------------------------ Для решения поставленной задачи можно воспользоваться двумя методами. Выбор какого-то конкретного метода зависит от Ваших задач и предпочтений. 3.1. Метод с использованием модуля pam_smb. При использовании данного метода необходим PAM-модуль (Pluggable Authentication Modules), который можно установить как из RPM-пакета (в моем случае pam_smb-1.1.6), так и собрав его вручную из исходных текстов. Исходные тексты можно найти [67]pamsmb.sourceforge.net. 3.2. Метод с использованием утилиты winbind. В данном случае будет необходим пакет Samba ([68]www.samba.org). Что касается меня, то я использовал RPM-пакеты, входящие в дистрибутив ASPLinux 7.3 (это samba-2.2.3a, samba-common-2.2.3a и samba-client-2.2.3a). Если Вы будете собирать пакет Samba из исходников самостоятельно, то Вам необходимо включить утилиту winbind, а так же поддержку PAM. 3.3. Сравнение описанных методов. Прежде чем перейти к действиям, предлагаю Вашему вниманию короткое сравнение описанных ниже методов решения задачи. Я не буду глубоко вдаваться в подробности, а приведу только самые явные преимущества и недостатки каждого из методов. 3.3.1. Метод с модулем pam_smb. Преимущества: * прост в реализации; * не требует запуска различных ?демонов?; * учетная запись пользователя имеет такой же вид как в NT-домене. Недостатки: * при наличии большого количества пользователей домена, которые работают на одном и том же компьютере, Вам придется вести учетные записи этих пользователей вручную. 3.3.2. Метод с утилитой winbind. Преимущества: * лишен недостатка, возникающего при большом количестве пользователей; * позволяет разрешать сетевые имена компьютеров (NetBIOS-имена). Недостатки: * сравнительная сложность настройки; * необходим запущенный ?демон? - winbind; * к учетной записи добавляется еще наименование домена (удлинение имени учетной записи). 4. Что делаем. -------------- 4.1. Для варианта с pam_smb. 4.1.1. Правим /etc/pam_smb.conf. Файл /etc/pam_smb.conf содержит три строки: в первой строке указывается имя домена, в котором предполагается производить авторизацию, вторая и третья имена PDC и SDC (Secondary Domain Controller) соответственно. В нашем случае этот файл должен выглядеть следующим образом: ----- start file ----- FIRST main ------ end file ------ Внимание: В данном файле нет комментариев! В нем должно содержаться только три строки! 4.1.2. Правим конфигурационные файлы PAM. Данные файлы храняться в /etc/pam.d/. Имя файла конфигурации похоже или прямо соответствует приложению, к которому данная конфигурация относится. В моем случае, т.к. я использую для авторизации KDM (KDE Display Manager), я правил файл /etc/pam.d/kde. Вносим следующие изменения: * Заменяем группу модулей с типом auth на: auth required /lib/security/pam_securetty.so auth required /lib/security/pam_smb_auth.so auth required/lib/security/pam_nologin.so * Заменяем группу модулей с типом account на: account required /lib/security/pam_pwdb.so * Заменяем группу модулей с типом password на: password required /lib/security/pam_pwdb.so shadow nullok use_authtok * Заменяем группу модулей с типом session на: session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0077 session required /lib/security/pam_pwdb.so session optional /lib/security/pam_console.so 4.1.3. Добавление учетной записи в /etc/passwd. Для использования данного механизма авторизации Вам необходимо добавить в файл /etc/passwd учетную запись, аналогичную учетной записис Windows NT домена (можно воспользоваться командой adduser). При этом Вы должны задать все необходимые атрибуты (домашний каталог, группу, оболочку (shell) и т.п.). Пароль указывать нет необходимости, поскольку он будет сверяться с информацией храняшейся на сервере домена. 4.1.4. Попытка авторизации. В моем случае, перезапустив KDM, в строке login я ввожу sloth (где sloth - моя учетная запись). В поле password, ввожу пароль, соответсвующий моей учетной записи в Windows NT домене. Так же Вы можете авторизироваться под учетной записью, которая является локальной (не входящей в Windows NT домен), под любой, кроме учетной записи root. 4.2. Для варианта с winbind. ---------------------------- 4.2.1. Правим smb.conf. У меня данный файл находится /etc/samba/smb.conf. Могу предположить, что у Вас он находится там же. В этот файл вносим следующие изменения и дополнения: winbind separator = + template shell = /bin/bash template homedir = /home/%U winbind uid = 10000-20000 winbind gid = 10000-20000 это то, что, скорее всего, Вам придется добавлять самостоятельно. После чего изменяем уже имеющиеся параметры: workgroup = FIRST ; Имя нашего домена security = domain password server = main ; Имя PDC, предварительно внесенное в файл /etc/samba/lmhosts encrypt passwords =yes Все остальные параметры были оставлены по умолчанию. 4.2.2. Правим конфигурационные файлы PAM. Данные файлы храняться в /etc/pam.d/. Имя файла конфигурации похоже или прямо соответствует приложению, к которому данная конфигурация относится. В моем случае, т.к. я использую для авторизации KDM (KDE Display Manager), я правил файл /etc/pam.d/kde. Вносим следующие изменения: * Заменяем группу модулей с типом auth на: auth required /lib/security/pam_securetty.so auth required/lib/security/pam_nologin.so auth sufficient /lib/security/pam_winbind.so auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok * Заменяем группу модулей с типом account на: account required /lib/security/pam_winbind.so * Заменяем группу модулей с типом password на: password required /lib/security/pam_winbind.so * Заменяем группу модулей с типом session на: session required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0077 session required /lib/security/pam_pwdb.so session optional /lib/security/pam_console.so 4.2.3. Внесение изменений в файл /etc/nsswitch.conf Добавляем слово winbind в следующие строки: passwd: files winbind group: files winbind 4.2.4. Перезапуск (запуск) сервисов smb и winbind. Для перезапуска отконфигурированных сервисов выполняем из под пользователя root: # /etc/init.d/smb restart # /etc/init.d/winbind restart Если при останове сервисов возникли ошибки, то значит, скорее всего, они не были запущены. Чтобы сервисы запускались при загрузке компьютера необходимо добавить символьные ссылки в /etc/rc.d/rcX.d/, где X - соответсвует Вашему уровню запуска (в моем случае это 5). Перейдя в /etc/rc.d/rc5.d/ я выполняю следующие действия: # ln -s ../init.d/smb S91smb # ln -s ../init.d/winbind S91winbind Данные действия выполняются с правами пользователя root. 4.2.5. Присоединение компьютера к Windows NT домену. Выполняем следующую команду с правами root: # smbpasswd -j FIRST -r main -U Administrator После ключа -U указывается имя пользователя, обладающего правами администратора домена. Выполнение данной команды должно закончиться сообщением: Joined domain FIRST. Для проверки успешности наших действий можно запустить команду: # wbinfo -t Которая, при удачном выполнении, должна выдать: Secret is good 4.2.6. Попытка авторизации. В моем случае, перезапустив KDM, в строке login я ввожу FIRST+sloth (где FIRST - имя домена, + - разделитель, указанный в файле smb.conf, sloth - моя учетная запись, если Вы в качестве разделителя будете использовать другие символы, к примеру "\", то я рекомендую Вам в конфигурационном файле (smb.conf) указывать его в двойных кавычках). В поле password, ввожу пароль, соответсвующий моей учетной записи в Windows NT домене. Так же Вы можете авторизироваться под учетной записью, которая является локальной (информация о ней храниться на Вашем компьютере), под любой, кроме учетной записи root. 5. Использованные документы. ---------------------------- man 8 pam man 8 winbind man 1 wbinfo man 5 smb.conf man 8 smbpasswd 6. Авторство. ------------- Автор: Федотов Алексей aka Sloth EMail: sloth at email.ru Версия: 0.2 (дополненная) Все дополнения, предложения и исправления приветствуются, но только через почту.

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

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




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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