LDAP Linux Auth SSS

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску


SSSD


Изначально задача стояла - сделать авторизацию (shell) в LDAP причем

* Огромный корпоративный LDAP где куча всяких данных и в целом мне не доступно управление 
* Доступ должен определяться членством в группах (обратить внимание - есть более чем 1 группа, memberOf ко торой должны иметь возможность  логиниться на сервер  что исключает pam_ldap)
* sudo для этой группы
* sudosh2 для записи сессии 


Пару слов про sssd:


SSSD (System Security Services Daemon) позволяет обращаться к удаленным механизмам аутентификации. Таким образом стирается граница между локальной и сетевой аутентификацией и допускается использование разных механизмов. Информацию о пользователях предоставляет база данных, называемая доменом, которая может служить источником данных для удаленной аутентификации. Допускается использование нескольких механизмов, что разрешает нескольким серверам реализовать различные пространства имен. Полученная информация будет предоставлена внешним приложениям с помощью стандартных интерфейсов PAM и NSS. SSSD выполняется как комплект служб, независимых от вызывающих их приложений. Поэтому приложениям необязательно создавать собственные подключения к удаленным доменам и даже не требуется знать о том, какая именно служба используется в данный момент. Локальное кэширование данных идентификации и информации о группах позволяет продолжать работу в автономном режиме независимо от источника данных (LDAP, NIS, IPA, DB, Samba и т.п.) и в целом повышает производительность. SSSD допускает использование нескольких поставщиков одного типа (например, LDAP). За подробной информацией обратитесь к руководству по развертыванию Red Hat Enterprise Linux 6.


sudosh2

spec есть в комплекте, сборка особого труда не представляет.
https://github.com/squash/sudosh2


rpm -ivh sudosh2-1.0.6-1.el5.x86_64.rpm

/etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/usr/bin/sudosh
head -1 /etc/passwd
root:x:0:0:root:/root:/usr/bin/sudosh

ldap auth via pam_sss

sudo