The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Сетевая авторизация"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Сетевая авторизация"
Сообщение от XMan Искать по авторуВ закладки on 18-Дек-02, 00:51  (MSK)
Имеется желание сделать сетевую авторизацию для некоторых сервисов. Например, хочу, чтобы samba пускала пользователей с логином "Имя Фамилия", при этом чтобы такая запись отсутствовала в локальных passwd, shadow и group.
Собственно, теоретически, все это делается с помощью PAM.
Но. Как с его же помощью получать UID, GID и группы, в которых пользователь состоит ? Я на пробу набросал pam-модуль, который всегда возваращает PAM_SUCCESS и воткнул его в login. Входить получалось, но только теми пользователями, которые есть в /etc/passwd. На остальных говорил, мол, нет такого. Причем говорил не PAM, а сам login. Как отучить его (к примеру) смотреть в /etc/passwd ? И возможно ли такое вообще ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Сетевая авторизация"
Сообщение от Soldier Искать по авторуВ закладки on 18-Дек-02, 06:19  (MSK)
>Имеется желание сделать сетевую авторизацию для некоторых сервисов. Например, хочу, чтобы samba
>пускала пользователей с логином "Имя Фамилия", при этом чтобы такая запись
>отсутствовала в локальных passwd, shadow и group.
>Собственно, теоретически, все это делается с помощью PAM.
>Но. Как с его же помощью получать UID, GID и группы, в
>которых пользователь состоит ? Я на пробу набросал pam-модуль, который всегда
>возваращает PAM_SUCCESS и воткнул его в login. Входить получалось, но только
>теми пользователями, которые есть в /etc/passwd. На остальных говорил, мол, нет
>такого. Причем говорил не PAM, а сам login. Как отучить его
>(к примеру) смотреть в /etc/passwd ? И возможно ли такое вообще
>?


А если свой login написать? Который сначала ишет юзверей в твоей базе, а если не найдет, то выполняет exec  со стандартым login-ом ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Сетевая авторизация"
Сообщение от XMan Искать по авторуВ закладки on 18-Дек-02, 17:25  (MSK)
Так это ж только пример был. Я хочу сделать так, чтобы у меня сервисы почты, сквид, самба и ppp раздавались по сетевой авторизации. То есть имеется база пользователей на SQL-сервере, в которой прописано кто где сидит, в каком отделе работает, какие сервисы имеет, с какими паролями и правами (в частности самба) и еще к этой базе прикрутить инвентарную базу по оборудованию (в частности, компутеры). При этом, чтобы в /etc/passwd и /etc/group все это отсутствовало напрочь, а присутствовали только пользователи, которым можно заходить терминалом.
Я могу, конечно, переписать кусок glibc, в частности getpwnam и getpwuid, но это ж до первого апдейта. Потом опять переписывать и пересобирать. Некузяво как-то получается :(
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Сетевая авторизация"
Сообщение от XMan Искать по авторуВ закладки on 19-Дек-02, 03:18  (MSK)
Всё. Проблема решена :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Сетевая авторизация"
Сообщение от LS emailИскать по авторуВ закладки on 22-Дек-02, 01:31  (MSK)
>Всё. Проблема решена :)

Поделись опытом (основные мысли, шаги, итд) - не одному тебе это интересно.

С уважением, LS

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Сетевая авторизация"
Сообщение от XMan Искать по авторуВ закладки on 22-Дек-02, 19:03  (MSK)
Вобщем, это решение подходит только для linux. Как в остальных системах - незнаю.
Как выяснилось, система необязательно будет дергать функции, например getpwnam, из системной библиотеки glibc. Можно написать свой модуль, подключить его через подсистему NSS поправив файл /etc/nsswitch.conf.
Найди в инете через www.filesearch.ru пакет libnss_pgsql - там простые исходники и объяснения по настройке. Его можно использовать как таковой, но меня интересует написание целой подсистемы, включая модули PAM и отвязывание модуля NSS от конкретного формата хранения (в данном случае postgresql). Потому я на его основе пишу свой модуль и сервер, который и будет работать с самим хранилищем и выдавать информацию по запросу.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Сетевая авторизация - Kerberos"
Сообщение от Арлекин emailИскать по авторуВ закладки on 23-Дек-02, 12:59  (MSK)
А сабж собственно чем плох ? Или, например, мы тут в конторе еще LDAP-based (на Novell + iPlanet + OID) пытаемся сваять, но пока не весь зоопарк присоединяется "добровольно".
Главное - не писать ничего самому. Ибо все уже написано, надо просто найти и соединить. Хотя дело ессно твое.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Сетевая авторизация - Kerberos"
Сообщение от XMan Искать по авторуВ закладки on 23-Дек-02, 18:25  (MSK)
А у SQL-сервера плюсов много. Например, при смене сервера меняется только драйвер доступа (его можно в DL вынести или вообще ODBC ползовать), при этом вся остальная часть системы авторизации не изменяется вообще. Простой доступ к настройкам аккаунтов. Простой поиск и изменение свойств аккаунта. простая и удобная масштабируемость, то есть добавление каких-нибудь новых сервисов. Возможность для каждого сервиса ставить свой логин и пароль, при этом все будет работать от одного UID/GID. При желании, можно получить доступ к базе практически с любой машины из под любой ОС пользуя программы работы с базами данных.
Кроме того, самое интересное - увязать сюда базу кадров и базу инвентарного оборудования.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Сетевая авторизация - Kerberos"
Сообщение от Арлекин emailИскать по авторуВ закладки on 24-Дек-02, 10:45  (MSK)
Не хочу влезать в дискуссию, но ИМХО это глубоко порочный путь. Ярчайший пример - Ораклятина УЖЕ лезет во все щели, и апликейшн у них свой (ORION  купили), и почтовый сервер свой, и интернет-директори, и файловая система ... Проще сказать чего у них нет. Но кроме сервера базы, все остальное - ПОЛНОЕ ГАВНО. Уже народ прикалывается - ВСЕ что вылезло из-под оракла уже не ОНО. Они, козлы даже джяву и апач испоганили - это просто уметь надо ! И потом - никогда программы, написанные на движке языка запросов БД не будут работать эффективнее написанных традиционным путем - PLSQL и иже мертвы, ну или неизлечимы, от рождения.
Посему базе надо оставить базово, а системе - системово. Ну и кроме того - я не думаю, что у SQL-сервера будет меньше глюков, чем у ораклятины. У себя в конторе я год доказывал свою точку зрения, пока ораклятину не заглючило, как обычно, в "генеральском эффекте". Теперь начальство задумалось. И плоды появляются.
Завязываем, а то понесет....
  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: Сетевая авторизация - Kerberos"
Сообщение от Soldier Искать по авторуВ закладки on 24-Дек-02, 11:20  (MSK)
>Не хочу влезать в дискуссию, но ИМХО это глубоко порочный путь. Ярчайший
>пример - Ораклятина УЖЕ лезет во все щели, и апликейшн у
>них свой (ORION  купили), и почтовый сервер свой, и интернет-директори,
>и файловая система ... Проще сказать чего у них нет. Но
>кроме сервера базы, все остальное - ПОЛНОЕ ГАВНО. Уже народ прикалывается
>- ВСЕ что вылезло из-под оракла уже не ОНО. Они, козлы
>даже джяву и апач испоганили - это просто уметь надо !
>И потом - никогда программы, написанные на движке языка запросов БД
>не будут работать эффективнее написанных традиционным путем - PLSQL и иже
>мертвы, ну или неизлечимы, от рождения.
>Посему базе надо оставить базово, а системе - системово. Ну и кроме
>того - я не думаю, что у SQL-сервера будет меньше глюков,
>чем у ораклятины. У себя в конторе я год доказывал свою
>точку зрения, пока ораклятину не заглючило, как обычно, в "генеральском эффекте".
>Теперь начальство задумалось. И плоды появляются.

Я тоже бы не хотел встревать в дискуссию (меня здесь только не хватало :))), но по-моему речь идет только о том чтобы информация об юзверях хранилась не в /etc/passwd и, если я понял правильно, никто не собирается создавать какие бы то ни было файловые системы, почтовые сервера и тем более поганить апач с джявой. Мне лично кажется, что NSS (+PAM) вполне нормальное решение задачи хранения информации об юзверях не в /etc/passwd и ничего даже просто порочного  я в этом не вижу.

> Завязываем, а то понесет...
Понесло... :)))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: Сетевая авторизация - Kerberos"
Сообщение от XMan Искать по авторуВ закладки on 24-Дек-02, 17:55  (MSK)
Тем более, что NSS модуль не будет привязан к конкретному хранилищу - им будет заниматься отдельная программа-сервер. Просто этот самый сервер я хочу завязать на SQL. Можно и в /etc/passwd, но опять таки где-нибудь там и  куча удобств пропадает.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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