2011-08-30 6 views
6

Active Directoryを使用してユーザーを認証するWebアプリケーションがあり、ADをOpenLDAPに置き換えようとしています。OpenLDAPでActive Directoryユーザーとグループを作成するためのLDIF?

ドキュメントには、管理者としてドメインコントローラにログオンし、ユーザー管理ウィンドウを開き、適切な組織単位をクリックし、適切なグループにユーザーIDを追加する必要があると記載されています(これらのグループは、タイプ "セキュリティ")。

OpenLDAPサーバーに相当するエントリを作成する必要があります。誰かがこのためにLDIFサンプルを提供することはできますか?私はクラスや使用するべき属性を知らず、ドメインコントローラにアクセスすることもできません。最も問題のある項目は、文字列ではなくバイナリ値のように見えるため、グループの種類と範囲のようです。

私はActive Directoryを完全に置き換えたくないことに注意してください。ユーザーIDとグループが必要です。 OpenLDAPにmicrosoft.schemaを追加しようとしましたが、動作しません。私は、Microsoft Outlookのスキーマの変更に関するいくつかの情報を見つけました。私は似たような単純なものが必要です。

+0

あなたがより明確にすることができます。 LDIFスクリプトが必要なので、プログラミングしていますので、質問を閉じる投票はしませんが、それほど明白ではありません。あなたは本当に何をしたいのですか?ADからOpenLDAPにユーザーを移行しますか? LFIFでOpenLDAPに新しいユーザーを追加する?あなたはあなたの質問を編集してリンクを張ることができる文書について教えてくれましたか? OpenLDAPがなぜADAM(ADのような)がWindows上で動作し、無料であることを知っているのか? – JPBlanc

+0

Active Directoryで使用されているのと同じスキーム(クラス、属性)を使用してOpenLDAPで新しいユーザーとグループを作成する必要があります(ADから移行しないでください)。私が言及した文書を提供することはできません - それは専有です。私はADAMを知っていますが、使用することはできません(このソリューションはLinuxベースである必要があります)。あなたの興味に感謝します。 – muriloq

答えて

9

ActiveDirectoryスキーマ全体をOpenLDAPに変換することはほとんど不可能です。巨大です。しかし、我々は必要な属性とクラスを追加することができます。

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)) 

は、その後、それはユーザーとグループを挿入するためのLDIFファイルを作成するのは簡単です:

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]を、ここでは答えの初めである:

あなたのOpenLDAPをインストールしたら

A - あなたのslapd.confに編集します。

1)スキーマは

を含め変更
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スキーマファイルをthis FAQ

3で説明したように)

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

4))個人的にバックエンドとしてHDBを使用してI'am(あなたの名前付けコンテキストを変更します次に、あなたのディレクトリ

Bを再起動します - ここで

あなたのルートを挿入してLDIFファイル(root.ldif)

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

コマンドラインは

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

Cである - ここでユーザーに

を挿入ここLDIFファイル(user.ldif)

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

コマンドライン

であります
ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f user.ldif 

D - アドバイス

Apache directory studioは、非常に良いLDAPブラウザは、それがオープンソースだ、それはLinuxとWindows上のJavaの上で動作しますが、私のためです。これを使用すると、グラフィカルにADとOpenLdapをブラウズし、クリックするだけで部品BとCを実行できます。


アクティブディレクトリSchema (Classes and attributes)は、MSDNに記載されています。たとえば、groupTypeに関する情報がここにあります。それはあなたが期待するものですか?

+0

ありがとう、しかし、あなたはOpenLDAPを設定するための一般的な指示を与えました - 私はすでにそれを(そして私はApache Directory Studioを使用しています)。私が知る必要があるのは、広告が特定の方法でユーザーとグループを作成する方法です。例えば、グループタイプとグループスコープの属性は、単純に "Security"と "Global"という文字列ではなく、長い数値定数を使用します(これは私が持っていませんでした)。 – muriloq

+0

私は自分の答えを編集しますが、あなたが期待していることを理解していません。 – JPBlanc

関連する問題