Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Сеть
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
Пример настройки vpn-подключения в Linux
02.02.2008 | Mr.Nobody
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Сеть    
Автор статьи:
Дата: 30.07.2003

Входим в Линукс под учетной записью из NT-домена

1. Отказ от ответственности.
Все описанное ниже, представляет собой лишь последовательность моих действий и ни в коем случае не претендует на полноту и исключительность. Нет ни какой гарантии, что у Вас все будет работать точно так же как и у меня, поэтому вся ответственность, за выполняемые Вами действия, возлагается только на Вас и никого более. Я лишь могу гарантировать, что описанная ниже конфигурация работает на моей машине с ОС ASPLinux 7.2, которая изрядно мной изменена (так же описанная последовательность действий проверена на ASPLinux 7.3 сразу после установки).

2. Варианты решения и что для этого нужно.
Для решения поставленной задачи можно воспользоваться двумя методами. Выбор какого-то конкретного метода зависит от Ваших задач и предпочтений.

2.1. Метод с использованием модуля pam_smb.
При использовании данного метода необходим PAM-модуль (Pluggable Authentication Modules), который можно установить как из RPM-пакета (в моем случае pam_smb-1.1.6), так и собрав его вручную из исходных текстов. Исходные тексты можно найти pamsmb.sourceforge.net.

2.2. Метод с использованием утилиты winbind.
В данном случае будет необходим пакет Samba (www.samba.org). Что касается меня, то я использовал RPM-пакеты, входящие в дистрибутив ASPLinux 7.3 (это samba-2.2.3a, samba-common-2.2.3a и samba-client-2.2.3a). Если Вы будете собирать пакет Samba из исходников самостоятельно, то Вам необходимо включить утилиту winbind, а так же поддержку PAM.

2.3. Сравнение описанных методов.
Прежде чем перейти к действиям, предлагаю Вашему вниманию короткое сравнение описанных ниже методов решения задачи. Я не буду глубоко вдаваться в подробности, а приведу только самые явные преимущества и недостатки каждого из методов.

2.3.1. Метод с модулем pam_smb.
Преимущества:

* прост в реализации;
* не требует запуска различных «демонов»;
* учетная запись пользователя имеет такой же вид как в NT-домене.

Недостатки:

* при наличии большого количества пользователей домена, которые работают на одном и том же компьютере, Вам придется вести учетные записи этих пользователей вручную.

2.3.2. Метод с утилитой winbind.
Преимущества:

* лишен недостатка, возникающего при большом количестве пользователей;
* позволяет разрешать сетевые имена компьютеров (NetBIOS-имена).

Недостатки:

* сравнительная сложность настройки;
* необходим запущенный «демон» - winbind;
* к учетной записи добавляется еще наименование домена (удлинение имени учетной записи). Данный недостаток устраняется в версиях Samba-2.2.8 и выше добавлением в файл smb.conf параметра use default domain = yes

3. Что делаем.
3.1. Для варианта с pam_smb.
3.1.1. Правим /etc/pam_smb.conf.
Файл /etc/pam_smb.conf содержит три строки: в первой строке указывается имя домена, в котором предполагается производить авторизацию, вторая и третья имена PDC и SDC (Secondary Domain Controller) соответственно. В нашем случае этот файл должен выглядеть следующим образом:

----- start file -----
FIRST
main

------ end file ------

Внимание: В данном файле нет комментариев! В нем должно содержаться только три строки!

3.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

3.1.3. Добавление учетной записи в /etc/passwd.
Для использования данного механизма авторизации Вам необходимо добавить в файл /etc/passwd учетную запись, аналогичную учетной записис Windows NT домена (можно воспользоваться командой adduser). При этом Вы должны задать все необходимые атрибуты (домашний каталог, группу, оболочку (shell) и т.п.). Пароль указывать нет необходимости, поскольку он будет сверяться с информацией храняшейся на сервере домена.

3.1.4. Попытка авторизации.
В моем случае, перезапустив KDM, в строке login я ввожу sloth (где sloth - моя учетная запись). В поле password, ввожу пароль, соответсвующий моей учетной записи в Windows NT домене. Так же Вы можете авторизироваться под учетной записью, которая является локальной (не входящей в Windows NT домен), под любой, кроме учетной записи root.

3.2. Для варианта с winbind.
3.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

Все остальные параметры были оставлены по умолчанию.

3.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

3.2.3. Внесение изменений в файл /etc/nsswitch.conf
Добавляем слово winbind в следующие строки:

passwd: files winbind
group: files winbind

3.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.

3.2.5. Присоединение компьютера к Windows NT домену.
Выполняем следующую команду с правами root:
# smbpasswd -j FIRST -r main -U Administrator
После ключа -U указывается имя пользователя, обладающего правами администратора домена. Выполнение данной команды должно закончиться сообщением:
Joined domain FIRST.
Для проверки успешности наших действий можно запустить команду:
# wbinfo -t
Которая, при удачном выполнении, должна выдать:
Secret is good

3.2.6. Попытка авторизации.
В моем случае, перезапустив KDM, в строке login я ввожу FIRST+sloth (где FIRST - имя домена, + - разделитель, указанный в файле smb.conf, sloth - моя учетная запись, если Вы в качестве разделителя будете использовать другие символы, к примеру "\", то я рекомендую Вам в конфигурационном файле (smb.conf) указывать его в двойных кавычках). В поле password, ввожу пароль, соответсвующий моей учетной записи в Windows NT домене. Так же Вы можете авторизироваться под учетной записью, которая является локальной (информация о ней храниться на Вашем компьютере), под любой, кроме учетной записи root.

4. Использованные документы.
man 8 pam
man 8 winbind
man 1 wbinfo
man 5 smb.conf
man 8 smbpasswd

5. Авторство.
Автор: Федотов Алексей aka Sloth
EMail: sloth@email.ru
Версия: 0.3 (дополненная)
Дополнения: Влад Горбунов (vad@nalog.magadan.ru)
Все дополнения, предложения и исправления приветствуются, но только через почту.



Все статьи раздела "Сеть"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: