2011-08-30 4 views
6

Mam aplikację sieci web, która używa Active Directory do uwierzytelniania użytkowników, i staram się zastąpić AD z OpenLDAP.LDIF do tworzenia użytkowników i grup Active Directory w OpenLDAP?

Dokumentacja mówi, że muszę zalogować się do kontrolera domeny jako administrator, otworzyć okno zarządzania użytkownikami, kliknąć odpowiednią jednostkę organizacyjną i dodać użytkowników do odpowiednich grup (te grupy powinny mieć zakres "Globalny" i grupy wpisz "Zabezpieczenia").

Potrzebuję utworzyć równoważne wpisy na moim serwerze OpenLDAP. Czy ktoś może podać przykładowy plik LDIF? Nie znam klasy ani atrybutów, których powinienem używać, i nie mam dostępu do kontrolera domeny. Najbardziej problematyczne elementy wydają się być typem grupy i zakresem, ponieważ wydają się być wartościami binarnymi, a nie łańcuchami.

Uwaga: nie chcę całkowicie zastępować usługi Active Directory - potrzebuję tylko użytkowników i grup. Próbowałem już dodawać microsoft.schema do OpenLDAP, ale to nie działa. Znalazłem informacje o modyfikowaniu schematu Microsoft Outlook; Potrzebuję czegoś podobnego, ale prostszego.

+0

można być bardziej wyraźne. Potrzebujesz skryptu LDIF, więc programuje, więc nie głosuję, aby zamknąć pytanie, ale nie jest to tak jednoznaczne. Co tak naprawdę chcesz zrobić, przenieść użytkowników z AD na OpenLDAP? dodać nowego użytkownika do OpenLDAP z LFIF? Powiedziałeś o dokumencie, który (możesz edytować swoje pytanie i umieścić link?). Kolejne pytanie, dlaczego OpenLDAP będzie Ci wiedzieć, że ADAM (AD like) działa w systemie Windows i jest za darmo? – JPBlanc

+0

Potrzebuję utworzyć nowych użytkowników i grupy (nie migrować ich z AD) w OpenLDAP przy użyciu tego samego schematu (klasy, atrybuty) używanego przez Active Directory. Nie mogę dostarczyć dokumentu, o którym wspomniałem - jest zastrzeżony. Znam ADAM, ale nie mogę go użyć (rozwiązanie powinno być oparte na systemie Linux). Dzięki za zainteresowanie. – muriloq

Odpowiedz

9

Jest prawie niemożliwe, aby przekonwertować cały schemat ActiveDirectory na OpenLDAP, jest ogromny. Jednak możemy dodać tylko potrzebnych atrybutów i klas:

attributetype (1.2.840.113556.1.4.750 NAME 'groupType' 
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.27' SINGLE-VALUE 
) 

attributetype (1.3.114.7.4.2.0.33 NAME 'memberOf' 
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.26' 
) 

objectclass (1.2.840.113556.1.5.9 NAME 'user' 
     DESC 'a user' 
     SUP organizationalPerson STRUCTURAL 
     MUST (cn) 
     MAY (userPassword $ memberOf)) 

objectclass (1.2.840.113556.1.5.8 NAME 'group' 
     DESC 'a group of users' 
     SUP top STRUCTURAL 
     MUST (groupType $ cn) 
     MAY (member)) 

Wtedy łatwo utworzyć plik LDIF do wrzucania użytkowników i grupy:

dn: dc=myCompany 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
dc: myCompany 
o: LocalBranch 

dn: ou=People,dc=myCompany 
objectClass: top 
objectClass: organizationalUnit 
ou: People 
description: Test database 

dn: cn=Users,dc=myCompany 
objectClass: groupOfNames 
objectClass: top 
cn: Users 
member: cn=Manager,cn=Users,dc=myCompany 

dn: cn=Manager,cn=Users,dc=myCompany 
objectClass: person 
objectClass: top 
cn: Manager 
sn: Manager 
userPassword:: e1NIQX1tc0lKSXJCVU1XdmlPRUtsdktmV255bjJuWGM9 

dn: cn=ReadWrite,ou=People,dc=myCompany 
objectClass: group 
objectClass: top 
cn: ReadWrite 
groupType: 2147483650 
member: cn=sysconf,ou=People,dc=myCompany 

dn: cn=sysopr,ou=People,dc=myCompany 
objectClass: user 
objectClass: organizationalPerson 
objectClass: person 
objectClass: top 
cn: sysopr 
sn: team 
memberOf: cn=ReadOnly,ou=People,dc=myCompany 
userPassword:: e1NIQX1jUkR0cE5DZUJpcWw1S09Rc0tWeXJBMHNBaUE9 
4

Ok, tutaj jest pacz odpowiedź:

Po zainstalowaniu openldap

A - zmieniać swoich slapd.conf do:

1) modyfikować schematy zawarte

include /usr/local/etc/openldap/schema/core.schema 
include /usr/local/etc/openldap/schema/cosine.schema 
include /usr/local/etc/openldap/schema/inetperson.schema 

2) modifiy pliki schematu jak wyjaśniono w this FAQ

3) modyfikować swój kontekst nazewnictwa (osobiście I'am przy użyciu HDB jako backend)

database hdb 
suffix "dc=dom,dc=com" 
rootdn "cn=Manager,dc=dom,dc=com" 
rootpw secret 
directory /usr/local/var/openldap-hdb 

4) Następnie uruchom ponownie katalog

B - Włóż korzeń

Oto plik LDIF (root.ldif)

dn: dc=dom,dc=com 
objectclass: dcObject 
objectclass: organization 
o: Company name 
dc: dom 

Tutaj linia polecenia

ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f root.ldif 

C - Wstawianie użytkownika

Oto plik LDIF (user.ldif)

dn: cn=user1,dc=dom,dc=com 
objectClass: inetOrgPerson 
sn: users 
cn: user1 
telephoneNumber: 9999 

Tutaj linia polecenia

ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f user.ldif 

D - rada

Apache directory studio, jest dla mnie, to bardzo dobra przeglądarka LDAP, to Open Source, działa na szczycie Java w środowisku Linux i Windows. Korzystając z niego możesz przeglądać graficznie AD i OpenLdap i wykonywać tylko części B i C.


Active-Directory Schema (Classes and attributes) są udokumentowane w witrynie MSDN. Na przykład tutaj są informacje o groupType. Czy tego oczekujesz?

+0

Dzięki, ale podałeś tylko ogólne instrukcje dotyczące konfiguracji OpenLDAP - już to zrobiłem (i używam Apache Directory Studio). Muszę wiedzieć, jak tworzyć użytkowników i grupy w określony sposób AD. Typy grup i atrybuty zakresu grup, na przykład, nie są po prostu ciągami "Zabezpieczenia" i "Globalne", używają długich stałych numerycznych (których nie miałem). – muriloq

+0

Edytuję odpowiedź, ale nie jestem pewien, aby zrozumieć, czego się spodziewasz. – JPBlanc