| Интеграция Linux-клиента с LDAP сервером |
| Автор H@wk! | ||||||
| 27:05:2009 г. | ||||||
|
Данная статья описана применительно к клиентской системе "Ubuntu Desktop 9.04" и LDAP-серверу "OpenLDAP" (slapd 2.4.11). Описание настройки серверной части будет позже. Настройка клиентской части. 1) Для начала нужно установить нужные пакетики: sudo apt-get install libpam-ldap libnss-db nscd libnss-ldap nss-updatedb libpam-ccreds libpam-cracklib 2) Во время установи появится псевдо-графическое окно мастера настройки. Отвечаем: LDAP server Uniform Resource Identifer На этом установка пакетов закончена. Стоит проверить настройки в файле /etc/ldap.conf. Чтобы избежать одного неприятного бага, которые может возникать с udev во время загрузки, нужно кой что сделать. Открываем файл sudo vim /etc/ldap.conf находим в нем директиву bind_policy, расскоментируем и приводим в следющий вид: bind_policy soft 3) Далее идем в /etc/auth-client-config/profile.d/: cd /etc/auth-client-config/profile.d/ и создаем там файл open_ldap sudo touch open_ldap Заполняем его sudo vim open_ldap Затем открываем файл /etc/nscd.conf: sudo vim /etc/nscd.conf и в нем меняем строчки: positive-time-to-live passwd 2592000 Меняем настройки аудентификации, выполнив команду: sudo auth-client-config -a -p open_ldap Открываем файл /etc/security/group.conf sudo vim /etc/security/group.conf и добавляем в конец: *; *; *; Al0000-2400;audio,cdrom,floppy,plugdev,video,fuse,scanner,dip Проверим как все работает: getent passwd Должны распечататься пользователи не только локальные, но и хранящиеся в LDAP. Перезагружаем компьютер. Теперь мы уже можем входить на ПК под учетной записью из LDAP. 4) Но если вдруг у нас "пропадет" сеть или LDAP-пользователи авторизуются на ноутбуке, который не всегда в сети, то никто не сможет зайти в систему (разумеется, кроме локальных юзеров). Этого избежать нам поможет модуль libpam-ccreds (https://help.ubuntu.com/community/PamCcredsHowto). Идем в /etc/auth-client-config/profile.d/: cd /etc/auth-client-config/profile.d/ Создаем там файл open_ldap_сс: sudo touch open_ldap_cc Заполняем его sudo vim open_ldap_cc Меняем настройки аудентификации, выполнив команду: sudo auth-client-config -a -p open_ldap_cc Когда LDAP-сервер доступен, выполняем: sudo nss_updatedb ldap В каталоге /var/lib/misc/ он создат два файла: ls -l /var/lib/misc | grep .db Это и будут срезы баз данных с LDAP-сервера. Открываем /etc/nsswitch.conf и смотрим чтобы следующие сточки были такого вида: passwd: files ldap [NOTFOUND=return] db Это будет работать так: 1) "Авторизатор" будет смотреть в локальные файлы (/etc/passwd and /etc/group); 2) Если юзера там не найдет, то смотрит с LDAP; 3) Когда LDAP не имеет информации о юзере, то выходит и ничего не возвращает (это директива "ловит" [NOTFOUND=return]); 4) LDAP сервер недоступен - используется кешированная информация. Здесь я перезагрузил ПК, на всякий случай. Можно проверить работоспособность механизма кеширования passwd и group, отключив сеть и выполнив листинг записей о юзерах: ifconfig eth0 down Это должно будет верунть список локальных юзеров + кешированные юзеры из passwd.db. Теперрь, чтобы срезы баз обновлялись сами, в /etc/cron.hourly/ создаем скрипт nssupdate.sh и даем ему правов на выполнение: cd /etc/cron.hourly/ Открываем этот файл sudo vim nssupdate.sh и заполняем его следующим: #!/bin/bash Теперь, когда LDAP-сервер доступен, аутентифициремся под какой-либо учетной записью их базы LDAP'а: morfair@sysadmin-desktop:~$ su kalinin Я попробовал зайти под тремя учетками, все хранящиеся в LDAP. Проверяем как закешировались пароли: sudo cc_dump Если таблица непустая, как у меня, то все должно работать.
Просмотров: 1160
|
||||||
| « Принтеры Hp Laserjet 10xx (1000 1005 1018 1020) в Linux | Учет трафика Linux - просто: Darkstat » |
|---|
Ваш коментарий будет первым

