Поднимаю домен на openldap-server-2.4.45 + samba36-3.6.25_3 FreeBSD 11.0-RELEASE-p1. Делал все по статье https://www.lissyara.su/articles/freebs ... amba+ldap/ Ну и еще по двум похожим... Вроде как все прошло без глюков но когда добавляю юзера пишет такое:
Код: Выделить всё
root@free2dc:/var/log/samba # smbpasswd -a user1
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=CORP3))]
smbldap_open_connection: connection opened
smbldap_check_root_dse: Expected one rootDSE, got 0
ldap_connect_system: successful connection to the LDAP server
smbldap_search_domain_info: Got no domain info entries for domain
add_new_domain_info: Adding new domain
add_new_domain_info: failed to add domain dn= sambaDomainName=CORP3,dc=corp3,dc=corp,dc=ss with: Invalid DN syntax
        invalid DN
smbldap_search_domain_info: Adding domain info for CORP3 failed with NT_STATUS_UNSUCCESSFUL
pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain
pdb_init_ldapsam: Continuing on regardless, will be unable to allocate new users/groups, and will risk BDCs having inconsistent SIDs
New SMB password:
Ку да копать не понимаю...
slapd.conf
Код: Выделить всё
include		/usr/local/etc/openldap/schema/core.schema
include		/usr/local/etc/openldap/schema/cosine.schema
include		/usr/local/etc/openldap/schema/inetorgperson.schema
include		/usr/local/etc/openldap/schema/misc.schema
include		/usr/local/etc/openldap/schema/nis.schema
include		/usr/local/etc/openldap/schema/openldap.schema
# схемы самбы берутся из самбы (потом скопируем), схемы dns и dhcp
# тоже позже скопируем. пока строчки закоментарим
include		/usr/local/etc/openldap/schema/samba.schema
#include		/usr/local/etc/openldap/schema/dnszone.schema
#include		/usr/local/etc/openldap/schema/dhcp.schema
pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args
# Load dynamic backend modules:
modulepath	/usr/local/libexec/openldap
moduleload	back_mdb
access to attrs=userPassword
	by self write
	by anonymous auth
	by * none
access to *
	by self write
	by anonymous read
	by * none
#######################################################################
# BDB database definitions
#######################################################################
database	mdb
suffix		"dc=corp3,dc=corp,dc=ss"
rootdn		"cn=root,dc=corp3,dc=corp,dc=ss"
#
# пароль на рута можно сгенерировать с помощью slappasswd
#
rootpw		*****
directory	/var/db/openldap-data
loglevel        256
index	objectClass	eq
index	cn		eq
index   sambaSID                                eq
index   sambaPrimaryGroupSID                    eq
index   sambaDomainName                         eq
Код: Выделить всё
[global]
# имя домена
workgroup = CORP3
# типа коментарий самба сервера
server string = free2dc.corp3
#имя компа с самбой в сетевом окружении
netbios name = FREE2DC
security = user
hosts allow = 192.168.2. 127.
load printers = no
log file = /var/log/samba/log.%m
log level = 3
max log size = 50
acl compatibility = win2k
encrypt passwords = yes
admin users = admin
passdb backend = ldapsam:ldap://127.0.0.1/
# здесь описываем лдап
#ldap suffix = dc=free2dc,dc=corp3,dc=corp,dc=ss
ldap suffix = dc=corp3,dc=corp,dc=ss
#ldap suffix = dc=corp,dc=ss
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = "cn=root,dc=corp3,dc=corp,dc=ss"
ldap delete dn = no
ldap ssl = off
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind separator = @
winbind use default domain = yes
# делаем PDC
socket options = TCP_NODELAY
local master = yes
os level = 64
domain master = yes 
preferred master = yes
domain logons = yes
# если хоиите юзать логон скрипты, то раскоментариваете
;   logon script = %m.bat
;   logon script = %U.bat
# путь к перемещаемому профилю
logon path = \\%L\profiles
# путь к хомякам юзеров
logon home = \\%L\HOME
logon drive = H:
wins support = yes
dns proxy = no
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
timeserver = yes
# скрипты для добавления юзеров и групп (юзается в usermgr от nt4)
add machine script = /usr/local/sbin/ldapaddmachine '%u' computers
add user script = /usr/local/sbin/ldapadduser '%u' users
add group script = /usr/local/sbin/ldapaddgroup '%g'
add user to group script = /usr/local/sbin/ldapaddusertogroup '%u' '%g'
delete user script = /usr/local/sbin/ldapdeleteuser '%u'
delete group script = /usr/local/sbin/ldapdeletegroup '%g'
delete user from group script = /usr/local/sbin/ldapdeleteuserfromgroup '%u' '%g'
set primary group script = /usr/local/sbin/ldapsetprimarygroup '%u' '%g'
rename user script = /usr/local/sbin/ldaprenameuser '%uold' '%unew'
# делаем шару на хомяки
[HOME]
   comment = Home Directories
   path = /home/samba/homes/%U
   read only = no
   public = no
   writable = yes
   create mask = 0600
   browseable = no
   directory mask = 0700
# делаем шару на нетлогон (для запуска скриптов)
[netlogon]
   comment = Network Logon Service
   path = /usr/local/etc/samba/netlogon
   guest ok = yes
   writable = no
   share modes = no
   browseable = no
# делаем шару на перемещаемые профили
[profiles]
    create mask = 0600
    directory mask = 0700
    path = /home/samba/profiles/%u
    writeable = yes
    browseable = no
    locking = no
    csc policy = disable # эта строчка необходима чтобы отключить автономное кеширование
# просто так :) чтобы можно было на тачку заходить
[IPC$]
path = /tmp
hosts allow = 192.168.2.0/24 127.0.0.1
hosts deny = 0.0.0.0/0
Появилась мысля что в строке
Код: Выделить всё
add_new_domain_info: failed to add domain dn= sambaDomainName=CORP3,dc=corp3,dc=ss with: Invalid DN syntaxКод: Выделить всё
dn=Код: Выделить всё
sambaDomainNameОтправлено спустя 56 минут 29 секунд:
То что я написал выше это бред... Посмотрел исходники самбы...
Файл smbldap.c
Функция ldap_add_s выполняется и библиотек openldap и видимо версия самбы не совместима с версией openldap
ставлю
Код: Выделить всё
rc = ldap_add_s(ldap_state->ldap_struct, utf8_dn, attrs);
		if (rc != LDAP_SUCCESS) {
			char *ld_error = NULL;
			int ld_errno;
			ldap_get_option(ldap_state->ldap_struct,
					LDAP_OPT_ERROR_NUMBER, &ld_errno);
			ldap_get_option(ldap_state->ldap_struct,
					LDAP_OPT_ERROR_STRING, &ld_error);
			DEBUG(10, ("Failed to add dn: %s, error: %d (%s) "
root@free2dc:/usr/ports/net/samba36 # smbpasswd
Код: Выделить всё
Failed to add dn: sambaDomainName=CORP3,dc=corp3,dc=ss, error: 34 (Invalid DN syntax) (invalid DN)Отправлено спустя 11 минут 7 секунд:
Добавлю что после первого сообщения подкоректировал конфиги и удалил dc=corp но это не помогло
Отправлено спустя 1 минуту 16 секунд:
Что то я ступил, надо было писать во FreeBSD для начинающих! Думаю что то никто не отвечает)

