Предисловие.
Этот документ представляет собой пошаговое руководство по настройке Ubuntu 8.04.1, как Samba Domain Controller с LDAP (OpenLDAP).
Примечания перед установкой:
* hostname во время установки был установлен в: PDC
* полное доменное имя будет: pdc.matrix.local
* Моя область LDAP: matrix.local
* Все используемые пароли «12345» .
* я не использую TLS или SSL для моего справочника LDAP.
* пароль, который я назначал во время установки: 12345
1. Первоначальная установка
Перед установкой рекомендуется «сделать» root’у пароль:
следующие действия производим от рута
если не установлен ssh-server, то устанавливаем:
также для удобства я устанавливаю Midnight Commander
2: Устанавливаем OpenLDAP
задаем пароль админу:
Admin password: 12345
Confirm password: 12345
Теперь нам нужно сконфигурировать OpenLDAP:
отвечаем на следующие вопросы так:
No # Не выполнять настройку сервера OpenLDAP?
DNS domain name: matrix.local # Доменное имя DNS:
Name of your organization: matrix.local # Название организации:
Admin password: 12345 # Пароль
Confirm password: 12345 # Подтверждение
OK
BDB # Используемые серверы баз данных:
No # Удалять базу данных при вычистке slapd?
Yes # Переместить старую базу данных?
No # Включить протокол LDAPv2?
Рестартуем OpenLDAP.
Если не возникло никаких ошибок переходим к установке Самбы
3: Устанавливаем SAMBA
Устанавливаем необходимые пакеты для Самбы
4: Настраиваем OpenLDAP для использования с SAMBA
Для того чтобы использовать LDAP и SAMBA, и нам необходимо настроить /etc/ldap/slapd.conf
Скопируем файл samba.schema в каталог /etc/ldap/schema/
а так как он запакованный с помошью gzip, распаковываем его
затем редактируем файл: /etc/ldap/slapd.conf
добавляем cхемы :
include /etc/ldap/schema/misc.schema
находим и изменяем строку access to attrs
на такую:
сохраняем файл и рестартуем OpenLDAP
5: Конфигурируем SAMBA
Переходим в каталог Самбы
бекапим конфиг:
затем редактируем файл smb.conf
находим и изменяем следующие строки
security = user
passdb backend = ldapsam:ldap://localhost/
obey pam restrictions = no
затем вставляем следующий листинг:
#COPY AND PASTE THE FOLLOWING UNDERNEATH «OBEY PAM RESTRICTIONS = NO»
#######################################################################
#
# Begin: Custom LDAP Entries
#
ldap admin dn = cn=admin,dc=matrix,dc=local
ldap suffix = dc=matrix, dc=local
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %nn *Retype*new*password* %nn *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m «%u»
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel «%u»
add machine script = /usr/sbin/smbldap-useradd -w «%u»
add group script = /usr/sbin/smbldap-groupadd -p «%g»
delete group script = /usr/sbin/smbldap-groupdel «%g»
add user to group script = /usr/sbin/smbldap-groupmod -m «%u» «%g»
delete user from group script = /usr/sbin/smbldap-groupmod -x «%u» «%g»
set primary group script = /usr/sbin/smbldap-usermod -g «%g» «%u»
domain logons = yes
#
# End: Custom LDAP Entries
#
#####################################################
При этом не забыв подставить свои значения в сторках (ldap admin dn и ldap suffix)
закоментируем следующие строки:
изменяем:
#если нужно чтобы каждый пользователь имел свою директорию и мог туда записывать данные, находим и изменяем следующие строки (позже можно будет добавить и/или изменить другие шары)
comment = Home Directories
browseable = no
read only = no
create mask = 0644
directory mask = 0755
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
read only = yes
share modes = no
сохраняем конфиг
проверяем конфиг самбы на наличине ошибок
если все ОК рестартуем Самбу
Если есть ошибки открываем конфиг и ищем где ошиблись 🙂
Далее задаем пользователю SAMBA «Admin» пароль для LDAP дерева.
6: Настраиваем SMBLDAP-Tools пакет
Открываем директорию examples пакета smbldap-tools
копируем конфигурационные файлы в /etc/smbldap-tools
cp smbldap.conf.gz /etc/smbldap-tools/
распаковываем
теперь идем в /etc/smbldap-tools
Получаем SID (идентификатор Безопасности) для нашего домена Samba.
редактируем файл /etc/smbldap-tools/smbldap.conf
# находим строку SID и изменяем ее таким образом:
SID=»S-1-5-21-3547352230-2808561415-2391782970″ # (ВНИМАНИЕ! у вас SID будет отличаться от указанного здесь)
Находим и изменяем в конфиге следующие строки
ldapTLS=»0″
suffix=»dc=matrix,dc=local»
sambaUnixIdPooldn=»sambaDomainName=MATRIX,${suffix}»
userLoginShell=»/bin/false»
userHome=»/home/samba/profiles/%U»
userSmbHome=
userProfile=
userHomeDrive=
userScript=
mailDomain=»matrix.local»
создаем необходимые каталоги
mkdir /home/samba/profiles
mkdir /home/samba/netlogon
затем открываем файл /etc/smbldap-tools/smbldap_bind.conf для редактирования
и меняем следующие строки:
slavePw=»12345″
masterDN=»cn=admin,dc=matrix,dc=local»
masterPw=»12345″
так как в этом файле пароли хранятся в открытом виде меняем парметры доступа
ну и заодно
Step 7: Populate LDAP using smbldap-tools
Теперь мы должны заполнить наш каталог LDAP
# Выполняем команду, чтобы заполнить каталог.
# введите пароль для root:
# Проверьте, что в каталоге есть информация, выполнив команду:
8: добавляем пользователя в систему LDAP
Настало время для нас, чтобы добавить пользователя LDAP. Мы будем использовать эту учетную запись пользователя для проверки работы LDAP.
# Здесь приведено описание параметров, которые мы использовали.
-a указывает что является пользователем Windows (в противном случае, только Posix)
-m создает домашнюю директорию пользователя
-M задает email пользователя
-c добавляет «Полное Имя» пользователя
# задаем пароль для нового пользователя
9: Конфигурирование сервера для использования аутентификации LDAP.
# Устанавливаем необходимое программное обеспечение:
# Отвечаем на вопросы следующим образом:
Should debconf manage LDAP configuration?: Yes
LDAP server Uniform Resource Identifier: ldapi://127.0.0.1
Distinguished name of the search base: dc=matrix,dc=local
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=matrix,dc=local
LDAP root account password: 12345
# Редактируем файл /etc/ldap.conf
# Настраиваем конфигурацию следующим образом:
base dc=matrix,dc=local
uri ldap://127.0.0.1/
rootbinddn cn=admin,dc=matrix,dc=local
bind_policy soft
# копируем файл /etc/ldap.conf в /etc/ldap/ldap.conf но перед этим на всякий случай забекапим файл /etc/ldap/ldap.conf
cp /etc/ldap.conf /etc/ldap/ldap.conf
#создаем новый файл /etc/auth-client-config/profile.d/open_ldap
# И добавляем в него следующие строки:
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_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
pam_account=account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
pam_session=session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel/
session required pam_unix.so
session optional pam_ldap.so
# бекапим файл /etc/nsswitch.conf
# бекапим /etc/pam.d/ files
mkdir bkup
cp * bkup/
# Включаем LDAP аутентификацию профиля, выполнив команду:
# перезагружаем сервер .
ну вот вроде и все, если сделали все правильно должно работать.
В Заключение приведу несколько команд которые возможно понадобятся в процессе настройки и дальнейшей работы
# добавление записи workstation в LDAP. Хотя в конфиге самбы мы добавили строку для автоматического добавления компьютера в LDAP, возможно вам понадобится сделать это вручную. Делаем это следующим образом:
добавление пользователя в группу осуществляется следующим образом:
удаление
smbldap-usershow username # Просмотр информации о пользователе
smbldap-groupshow Administrators # Просмотр информации о группе
smbldap-userlist # Просмотр списка пользователей:
smbldap-userdel username # удаление пользователя (параметр –r удаляет домашнюю директорию )
smbldap-passwd # Изменение пароля пользователя
smbldap-userinfo # Изменение данных о пользователе (Полное имя, shell, телефоны и др.)
smbldap-groupadd # Добавление группы
smbldap-groupdel # Удаление группы
Материалы использованные в процессе настройки и написании этого манулала:
статья: Как настроить SAMBA в SUSE как PDC с OpenLDAP, DYNDNS и CLAM
ну и конечно всем известный портал по открытому ПО Linux, BSD и Unix Системам opennet.ru
Добавить комментарий