В начало → Руководство по настройке Samba в режиме PDC с использованием LDAP → Настройка системы на авторизацию в LDAP |
--ladserg 14:05, 28 июля 2006 (UTC) У меня честно говоря не получилось сделать авторизацию пользователей samba через LDAP без настройки поддержки авторизации системных пользователей в LDAP, пришлось настраивать и это.
Сначала поправим файл /etc/ldap.conf, приведя его примерно к следующему виду:
Файл: /etc/ldap.conf |
host 127.0.0.1 base dc=amber,dc=global,dc=com ldap_version 3 rootbinddn cn=Manager,dc=amber,dc=global,dc=com bind_timelimit 10 bind_policy soft pam_filter objectClass=posixAccount pam_password exop nss_base_passwd ou=Users,dc=tty,dc=perm,dc=ru?one nss_base_shadow ou=Users,dc=tty,dc=perm,dc=ru?one nss_base_group ou=Groups,dc=tty,dc=perm,dc=ru?one nss_base_hosts ou=Hosts,dc=tty,dc=perm,dc=ru?one nss_base_services ou=Services,dc=tty,dc=perm,dc=ru?one nss_base_networks ou=Networks,dc=tty,dc=perm,dc=ru?one nss_base_protocols ou=Protocols,dc=tty,dc=perm,dc=ru?one nss_base_rpc ou=Rpc,dc=tty,dc=perm,dc=ru?one nss_base_ethers ou=Ethers,dc=tty,dc=perm,dc=ru?one nss_base_netmasks ou=Networks,dc=tty,dc=perm,dc=ru?one nss_base_bootparams ou=Ethers,dc=tty,dc=perm,dc=ru?one nss_base_aliases ou=Aliases,dc=tty,dc=perm,dc=ru?one nss_base_netgroup ou=Netgroup,dc=tty,dc=perm,dc=ru?one ssl off nss_reconnect_tries 4 nss_reconnect_sleeptime 1 nss_reconnect_maxsleeptime 16 nss_reconnect_maxconntries 2
|
Сим мы скажем nss_ldap где и как искать записи пользователей и групп.
Теперь создадим файл /etc/ldap.secret и при помощи любого текстого редактора в plain/text виде занесём туда пароль пользователя, который выше у нас указан в опции rootbinddn, например пароль secret:
Файл: /etc/ldap.secret |
secret |
Затем непременно установим на него нужные права:
Code: Установка прав на файл /etc/ldap.secret |
#chmod 600 /etc/ldap.secret #chown root:wheel /etc/ldap.secret |
Далее приведём файл /etc/pam.d/system-auth к следующему виду:
Файл: /etc/pam.d/system-auth |
auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account sufficient pam_ldap.so account required pam_unix.so password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_authtok password required pam_deny.so session required pam_limits.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=077 session optional pam_ldap.so
|
Обратите внимание на строку:
session required pam_mkhomedir.so skel=/etc/skel/ umask=077
Она заставляет систему создавать домашние каталоги для тех пользоватей у которых они ещё не созданы, при этом в новый каталог помещается содержимое директории /etc/skel/ и задаётся маска каталога 0x700
После чего правим файл /etc/nsswitch.conf, приводя его к следующему виду:
Файл: /etc/nsswitch.conf |
passwd: files ldap shadow: files ldap group: files ldap hosts: files dns networks: files dns services: db files protocols: db files rpc: ldap [NOTFOUND=return] db files ethers: ldap [NOTFOUND=return] db files netmasks: files netgroup: ldap [NOTFOUND=return] files bootparams: files automount: files aliases: files |
Предупреждение: Ни в коем случае не добавляйте значение ldap к следующим базам: hosts, networks, protocols, services. Иначе вы рискуете не дождаться следующей загрузки системы. |
Всё, теперь мы указали системе брать пользователей как из системных файлов, так и из LDAP.
Перезагрузим наш компьютер, дабы убедиться что система грузится нормально. Если система останавливается на загрузке udev, то смотрите ошибки в файле /etc/nsswitch.conf, может вы указали использовать ldap не в той базе.
В начало → Руководство по настройке Samba в режиме PDC с использованием LDAP → Настройка системы на авторизацию в LDAP |