Jestem bardzo nowy w openldap, ale bardzo dobrze zorientowany w środowisku linux / unix. Próbuję skonfigurować moje pierwsze testowe środowisko openldap, korzystając z przewodnika tutaj . Ja również czytać większość przewodniku administratora tutaj i muszę przyznać, że jest dużo do podjęcia w.
Tak więc, postępując zgodnie z przewodnikiem instalacji ubuntu, stworzyłem plik ldif, który wygląda następująco:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=engineers,ou=Groups,dc=example,dc=com
objectClass: posixGroup
cn: engineers
gidNumber: 5000
dn: uid=john,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
Ilekroć próbowałem dodać go za pomocą:
$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_content.ldif
Otrzymuję następujący błąd:
adding new entry "cn=engineers,ou=Groups,dc=my-domain,dc=com"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
adding new entry "uid=john,ou=People,dc=my-domain,dc=com"
ldap_add: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
Wyniki w Google dla tego błędu nie zawierają żadnych pomocnych sugestii. Co mogę tutaj robić źle?
posixGroup
. Jak zapytać o dostępneobjectClass
es?/etc/ldap/slapd.d/
katalogu. Zainstalowałem openldap ze źródła.Odpowiedzi:
Problem niewątpliwie polega na tym, że musisz załadować
nis
schemat na serwer LDAP. Jak to zrobić, zależy od tego, czy korzystasz ze starszegoslapd.conf
pliku konfiguracyjnego, czy nowszej konfiguracji dynamicznej hostowanejcn=config
i wspieranej przezslapd.d
katalog.Za pomocą
slapd.conf
Musisz
include
zdefiniować schemat w swoimslapd.conf
, dodając linię wzdłuż linii:Zakłada się, że
nis.schema
plik znajduje się w tej ścieżce; jeśli nie, odpowiednio zmodyfikuj ścieżkę.Musisz ponownie uruchomić,
slapd
aby aktywować nowy schemat.Za pomocą
slapd.d
(Podaję to dla kompletności, chociaż nie ma to bezpośredniego związku z twoją obecną konfiguracją).
Aby załadować schemat,
slapd
jeśli korzystasz zcn=config
konfiguracji dynamicznej , użyjldapadd
. W zależności od konfiguracji list ACL polecenie może wyglądać następująco:Zakłada się, że Twój bieg
slapd
ma listę ACL, która umożliwia uwierzytelnianie „poświadczeń równorzędnych”root
. Jeśli to nie zadziała, musisz podać odpowiednią nazwę wyróżniającą powiązania i hasło, używając-D
i-W
.W tym przypadku nie jest wymagane ponowne uruchomienie.
źródło
openldap
dlaczego nie zostałbym skonfigurowany do używaniaslapd.d
?slapd.conf
doslapd.d
.Ostatnio napotkałem ten problem podczas korzystania z samouczka Ubuntu OpenLDAP Server . Rozwiązano go, usuwając wszystkie końcowe spacje z moich wierszy.
źródło
file.ldif
Naprawiam to, usuwając to, co chcę ładować w openldap (na przykład:),data.ldif
ponieważ edytor tekstuvi
czasami wstawia niewidoczny znak przez błąd lub błąd, a to wpływa na twój plik ldif. Więc usuń go, a utworzysz kolejne i spróbujesz przesłać każde zdanie jeden po drugim i sprawdź za pomocą polecenialdapsearch -x -h nameofyourserver -b “dc=whateveris,dc=com”
, do widzenia i mam nadzieję, że ci w tym pomogę.źródło