Ich bin sehr neu in openldap, aber sehr gut vertraut mit der Linux / Unix-Umgebung. Ich versuche, meine erste Test-Openldap-Umgebung mithilfe der Anleitung hier einzurichten . Ich habe auch den größten Teil des Administratorhandbuchs hier gelesen und muss zugeben, dass es eine Menge zu tun gibt.
Entsprechend der Anleitung zur Einrichtung von Ubuntu habe ich eine ldif-Datei erstellt, die so aussieht:
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
Wann immer ich versuchte es hinzuzufügen mit:
$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_content.ldif
Ich erhalte folgenden Fehler:
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
Die Ergebnisse in Google für diesen Fehler enthalten keine hilfreichen Vorschläge. Was könnte ich hier falsch machen?
posixGroup
. Wie frage ich nach den verfügbarenobjectClass
es?/etc/ldap/slapd.d/
Verzeichnis nicht. Ich habe openldap aus dem Quellcode installiert.Antworten:
Ihr Problem ist zweifellos, dass Sie das
nis
Schema in Ihren LDAP-Server laden müssen . Wie Sie dies tun, hängt davon ab, ob Sie die alteslapd.conf
Konfigurationsdatei oder die neuere dynamische Konfiguration verwenden, die incn=config
einemslapd.d
Verzeichnis gehostet und von diesem gesichert wird .Verwenden
slapd.conf
Sie müssen
include
die Schemadefinition in Ihremslapd.conf
hinzufügen, indem Sie eine Zeile entlang der folgenden Zeilen einfügen:Dies setzt voraus, dass sich die
nis.schema
Datei an diesem Pfad befindet. Wenn nicht, ändern Sie den Pfad entsprechend.Sie müssen neu starten
slapd
, um das neue Schema zu aktivieren.Verwenden
slapd.d
(Ich füge dies der Vollständigkeit halber hinzu, obwohl es für Ihre aktuelle Konfiguration nicht direkt relevant ist).
Um ein Schema in zu laden,
slapd
wenn Sie die dynamischecn=config
Konfiguration verwenden, würden Sie verwendenldapadd
. Je nachdem, wie Ihre ACLs konfiguriert sind, sieht der Befehl möglicherweise folgendermaßen aus:Dies setzt voraus, dass Ihre Ausführung
slapd
eine Zugriffssteuerungsliste hat, die die Authentifizierung "Peer-Anmeldeinformationen" für zulässtroot
. Wenn das nicht funktioniert, würde benötigen Sie eine entsprechende Bind - DN und das Kennwort zur Verfügung zu stellen mit-D
und-W
.In diesem Fall ist kein Neustart erforderlich.
quelle
openldap
warum wäre ich dann nicht für die Verwendung konfiguriertslapd.d
?slapd.conf
nachslapd.d
.Ich bin kürzlich auf dieses Problem gestoßen, als ich dem Ubuntu OpenLDAP Server-Tutorial gefolgt bin . Das Problem wurde behoben, indem alle nachgestellten Leerzeichen aus meinen Zeilen entfernt wurden.
quelle
Ich
file.ldif
behebe es, das zu löschen, das ich in openldap aufladen möchte (zum Beispiel:),data.ldif
weil der Texteditorvi
manchmal aus Versehen oder durch einen Fehler unsichtbare Zeichen einfügt und dies Ihre ldif-Datei beeinflusst. Also lösche es und erstelle ein neues und versuche, jede Aussage einzeln hochzuladen und überprüfe mit dem Befehlldapsearch -x -h nameofyourserver -b “dc=whateveris,dc=com”
, auf Wiedersehen und ich hoffe, dir dabei zu helfen.quelle