2013年3月8日金曜日

Windows Server 2008 R2 の Active Directory を ldapsearchで検索


Windows Server 2008 R2 の Active Directory 上のユーザをLinuxのldapsearchコマンドを利用して検索できるか確認します。
LinuxサーバのSubversionの認証にADを利用するための事前検証という位置付けです。

【ADサーバ】
OS: Windows Server 2008 R2(64-bit)
Domain Name: kuitan.net
IP: 192.168.77.125

【Linuxサーバ】
OS: CentOS 6.3(64-bit)
openldap-clients: 2.4.23
IP: 192.168.77.147


■Active Directoryにユーザ作成

↑標準的な場所にaduser01~05を作成。

↑組織単位(OU)として「person」を作成し、ObjectClassにInetOrgPersonを指定したユーザpuser01~02を作成。

■openldap-clientsインストール
※ldapsearchコマンドを利用するにはopenldap-clientsパッケージが必要。
[root@cent63 ~]# yum install openldap-clients ====================================================================== Package Arch Version Repository Size ====================================================================== Installing: openldap-clients x86_64 2.4.23-26.el6_3.2 updates 164 k Updating for dependencies: openldap x86_64 2.4.23-26.el6_3.2 updates 262 k Transaction Summary ====================================================================== Install 1 Package(s) Upgrade 1 Package(s) (以下省略)

■ldapsearchコマンドで接続確認
[root@cent63 ~]# ldapsearch -x -D "cn=administrator,dc=kuitan,dc=net" -w xxxxxxxx -h 192.168.77.125 -b "cn=users,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" ldap_bind: Invalid credentials (49) additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0 [root@cent63 ~]#
→接続失敗。
Invalid credentials (49) は、ユーザIDやパスワードが間違っているとよく出るエラー。らしい。

今回はDNの指定が間違っていたので修正して再検索
[root@cent63 ~]# ldapsearch -x -D "cn=administrator,cn=users,dc=kuitan,dc=net" -w xxxxxxxx -h 192.168.77.125 -b "cn=users,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" (中略) # aduser04, Users, kuitan.net dn: CN=aduser04,CN=Users,DC=kuitan,DC=net # aduser05, Users, kuitan.net dn: CN=aduser05,CN=Users,DC=kuitan,DC=net # Administrator, Users, kuitan.net dn: CN=Administrator,CN=Users,DC=kuitan,DC=net # Guest, Users, kuitan.net dn: CN=Guest,CN=Users,DC=kuitan,DC=net # search result search: 2 result: 0 Success # numResponses: 26 # numEntries: 25 [root@cent63 ~]#

DNの指定は、「ユーザ@ドメイン」としてもよい。
※OU=personの下のユーザを検索。
[root@cent63 ~]# ldapsearch -x -D "administrator@kuitan.net" -w xxxxxxxx -h 192.168.77.125 -b "ou=person,dc=kuitan,dc=net" "(objectclass=*)" "sAMAccountName=username" # extended LDIF # # LDAPv3 # base with scope subtree # filter: (objectclass=*) # requesting: sAMAccountName=username # # person, kuitan.net dn: OU=person,DC=kuitan,DC=net # puser01, person, kuitan.net dn: CN=puser01,OU=person,DC=kuitan,DC=net # puser02, person, kuitan.net dn: CN=puser02,OU=person,DC=kuitan,DC=net # search result search: 2 result: 0 Success # numResponses: 4 # numEntries: 3 [root@cent63 ~]#
※ちなみに、ldapsearchで検索するためにcent63サーバをADのドメインに参加させる必要はありません。

0 件のコメント:

コメントを投稿