ВВЕДЕНИЕ
Купили как-то ноутбук без предустановленной MS Windows. Поставили ОС Linux.
Но в нашей сети используется аутентификация LDAP. И надо было сделать так, чтобы пользователь смог включить ноутбук и пройти аутентификацию даже тогда, когда LDAP сервер не доступен.
Это небольшое описание того, как сделать такую настройку.
УСТАНОВКА И НАСТРОЙКА
Не смотря на то, что на дворе 2009-й год, на заводе используется Ubuntu Linux 8.04 LTS, разумеется из-за LTS, т.е. долгострочной поддержки. По-этому и на ноутбук была установлена именно эта ОС.
- Устанавливаем пакеты.
$ sudo apt-get install nscd libnss-ldap nss-updatedb libpam-ccreds libpam-cracklib
- Для простой настройки аутентификации в LDAP в Ubuntu 8.04 не обязательно выполнять все операции, которые я описывал ранее и создавать отдельный профиль [open_ldap]. Можно использовать готовый профиль [lac-ldap] (файл /etc/auth-client-config/profile.d/ldap-auth-config).
Но в данном случае создать новый профиль все же придется.Файл /etc/auth-client-config/profile.d/open_ldap
[open_ldap]
nss_passwd=passwd: files ldap
nss_group=group: files ldap
nss_shadow=shadow: filespam_auth=auth required pam_env.so
auth sufficient pam_unix.so
auth [authinfo_unavail=ignore success=1 default=2] pam_ldap.so use_first_pass
auth [default=done] pam_ccreds.so action=validate use_first_pass
auth [default=done] pam_ccreds.so action=store
auth [default=done] pam_ccreds.so action=update
auth required pam_deny.sopam_account=account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 100 quiet
account [authinfo_unavail=ignore default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.sopam_password=password requisite pam_cracklib.so retry=3
password sufficient pam_unix.so nullok use_authtok md5 shadow
password sufficient pam_ldap.so use_authtok
password required pam_deny.sopam_session=session required pam_limits.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.soФайл /etc/nscd.conf
# Currently supported cache names (services): passwd, group, hosts, services
debug-level 0
paranoia noenable-cache passwd yes
positive-time-to-live passwd 2592000
negative-time-to-live passwd 20
suggested-size passwd 211
check-files passwd yes
persistent passwd yes
shared passwd yes
max-db-size passwd 33554432
auto-propagate passwd yesenable-cache group yes
positive-time-to-live group 2592000
negative-time-to-live group 60
suggested-size group 211
check-files group yes
persistent group yes
shared group yes
max-db-size group 33554432
auto-propagate group yesenable-cache hosts no
positive-time-to-live hosts 3600
negative-time-to-live hosts 20
suggested-size hosts 211
check-files hosts yes
persistent hosts yes
shared hosts yes
max-db-size hosts 33554432enable-cache services yes
positive-time-to-live services 28800negative-time-to-live services 20
suggested-size services 211
check-files services yes
persistent services yes
shared services yes
max-db-size services 33554432 - Применяем настройки профиля аутентификации.
$ cd /etc/auth-client-config/profile.d
$ sudo auth-client-config -a -p open_ldap - Проверка.
Для быстрой проверки можно воспользоваться командой su. Пока сервер LDAP доступен, аутентификация пользователя будет сравниваться c записями в .security.db и обновит их.$ ls -l /var/cache/.security.db
-rw------- 1 root root 8192 2009-01-11 08:31 /var/cache/.security.db
$ su fred
Password:
exit
$ ls -l /var/cache/.security.db
-rw------- 1 root root 8192 2009-01-11 09:09 /var/cache/.security.dbДля просмотра пользователей, прошедших аутентификацию и сохраненных в кеше, можно воспользоваться командой cc_dump.
$ sudo cc_dump
Credential Type User Service Cached Credentials
----------------------------------------------------------------------------------
Salted SHA1 fred any 4a985b233701cf106ed450a0168fa8e0aa86ef5d - Теперь, если отключить компьютер от локальной сети, перезагрузиться и попытаться войти с тем же именем пользователя и паролем, менеджер входа выдаст сообщение:
После этого откроется рабочий стол и можно работать.
* Это первый вариант настройки, который у меня заработал. Так я настроил пока только один компьютер. Когда их станет больше, текст статьи может быть изменен.
ССЫЛКИ ПО ТЕМЕ
Для Ubuntu 5.10, 7.04, 7.10, 8.04: PamCcredsHowto