[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LDAP авторизация



В Птн, 01/02/2008 в 12:50 +0200, Покотиленко Костик пишет:
> В Птн, 01/02/2008 в 13:31 +0300, Pavel Ammosov пишет:
> > On Fri, Feb 01, 2008 at 10:33:24AM +0300, Alexander GQ Gerasiov wrote:
> > > На Thu, 31 Jan 2008 12:40:47 +0200
> > > Покотиленко Костик <casper@meteor.dp.ua> записано:
> > > > На пальцах: пользователей с паролями в LDAP засовывать научился,
> > > > программы проверять это дело по LDAP тоже научил. Теперь представим
> > > > себе такую картину, что один пользователь в базе должен иметь доступ
> > > > к SMTP, POP, SMB, SSH, а другой только к SMTP, POP. Как такое сделать?
> > > Например так: для каждого сервиса почта, ssh, samba заводится
> > > отдельный objectClass (схему создаешь сам). И еще и разные поля для
> > > паролей используешь.
> > > 
> > > Ну и естественно сервисы должны работать не через pam или bind
> > > авторизацию, а логиниться в лдап по сервисному аккаунту и проверять
> > > пароль сами. 
> > 
> > Это вообще ерунда.  Пароль в LDAP надо проверять только через bind. Всё
> > остальное несёт риск компрометации. 
> > 
> > А разграничение доступа надо проводить при помощи фильтра (все
> > ldap-софтины умеют его задавать) по какому-нибудь атрибуту.
> > Подозреваю, уже есть такие готовые в одной из популярных схем.
> 
> У меня, кстати, возникали такие мысли, но я не был уверен, что правильно
> мыслю. То есть, получается, что пользователь в LDAP в стандартной
> ситуации это объект которому присвоены стандартные классы (posixAccount,
> shadowAccount, inetOrgPerson). И, в принципе, ничего не мешает присвоить
> пользователям, которым необходим доступ к SSH, например, класс
> sshAccount, к SMTP - smtpAccount, к POP - popAccount. А pam-файлах
> соответствующих сервисов прописать фильтры по наличию соответствующего
> класса.
> 
> У меня правильный ход мысли?
> 
> Хотя, я уже и так вижу, что этому помешает. В pam-файлах я не нашёл как
> ставить фильтры, их можно прописать в /etc/pam_ldap.conf, но он один на
> всех. Есть идеи?

Man'ы читать надо, блин. Есть такая конструкция, которую можно
использовать в /etc/pam.d/*:

account required pam_ldap.so config=/etc/pam_ldap_<имя сервиса>.conf

Так даже красиво.

-- 
Покотиленко Костик <casper@meteor.dp.ua>


Reply to: