作者 主題: 想試試LDAP卻一開使就遇到怪問題 ??  (閱讀 18946 次)

0 會員 與 1 訪客 正在閱讀本文。

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
我先vi /etc/ldap/slapd.conf,我改了
database        ldbm
suffix             "dc=contek,dc=com.tw"
rootdn           "cn=root,dc=contek,dc=com.tw"
rootpw           administrator

之後我再到/etc/ldap中建了一個檔
vi anson.ldif內容如下
dn: cn=anson, dc=contek, dc=com.tw
objectClass: contek
cn: Chih-Hao Lin
cn: Lin
sn: Lin
Userpassword: anson
mail: anson@anson.com.tw
telephoneNimber: 123456789

再來我就要新增user
ldapadd -x -f anson.ldif -D "cn=root,dc=contek,dc=com.tw"  -w administrator

就出現了 :
adding new entry "cn=anson, dc=contek, dc=com.tw"
ldap_add: Object class violation
        additional info: attribute not allowed

我就再用ldapserach的指令去search,並沒有加入我anson的資料呀 !!
請教大家,這是什麼樣的問題呀!!怎麼一開始就遇到怪問題 :cry:  :cry:  :cry:

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17431
    • 檢視個人資料
    • http://www.study-area.org
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #1 於: 2002-09-13 00:01 »
additional info: attribute not allowed

看看 mail 是否改用其它 attribute name 了?

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #2 於: 2002-09-13 00:19 »
對不起 netman 大哥,部不太懂你的意思耶
mail ??
mail是用Sendmail且我有裝openwebmail
不知是不是指這個 ??
 :cry:  :cry:  :cry:

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17431
    • 檢視個人資料
    • http://www.study-area.org
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #3 於: 2002-09-13 00:23 »
Userpassword: anson
mail: anson@anson.com.tw
telephoneNimber: 123456789


或是將上面三個(其中含 mail ),給 '臨時' 取消看看?

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #4 於: 2002-09-13 00:40 »
我將他改成這樣就可以了
dn: cn=anson, dc=contek, dc=com.tw
objectclass: person
cn: Chih-Hao Lin
cn: Lin
sn: Lin
mail: anson@anson.com.tw
telephoneNumber: 28825252
description: admin
我去掉了 password 就可以了

我再用ldapserach -x -b "dc=contek,dc=com.tw" cn=*
結果出現
version: 2
#
# filter: cn=*
# requesting: ALL
#
# contek, dc=com.tw
dn: dc=contek, dc=com.tw
objectClass: person
cn: Lin
sn: Linz

# anson, dc=contek, dc=com.tw
dn: cn=anson, dc=contek, dc=com.tw
objectClass: person
cn: Chih-Hao Lin
cn: Lin
sn: Lin

# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2

為什麼沒有
mail: anson@anson.com.tw
telephoneNumber: 28825252
description: admin
這些資訊進去呢 ,怪怪??!! :cry:  :cry:  :cry:

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #5 於: 2002-09-13 01:06 »
Sorry,剛剛多建幾個user交叉試試看
結果發現真的是 mail: 那一項害的
但是ldap通常是要給mail通訊錄查詢用的呀,怎麼可能不加入
mail: anson@anson.com.tw
這一項勒 !!
有辦法加進去嗎 ??還是要去哪裡定義呢??
 :cry:  :cry:  :cry:

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17431
    • 檢視個人資料
    • http://www.study-area.org
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #6 於: 2002-09-13 01:11 »
換了其它名稱了吧?

我也不清楚,試看 EmailAddress ?? 要不到 openldap 網站找找範例囉~~~

roy

  • 懷疑的國中生
  • **
  • 文章數: 38
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #7 於: 2002-09-13 09:40 »
引述: "anson lin"
Sorry,剛剛多建幾個user交叉試試看
結果發現真的是 mail: 那一項害的
但是ldap通常是要給mail通訊錄查詢用的呀,怎麼可能不加入
mail: anson@anson.com.tw
這一項勒 !!
有辦法加進去嗎 ??還是要去哪裡定義呢??
 :cry:  :cry:  :cry:


不知道您有掛那些 schema,預設應該會接受,另外您可以看看 /usr/share/openldap/migratioin裡的東西…應該對您有幫助
小弟之前也有在試ldap,不過,有點懶了… :oops:
參考網址:
http://www.padl.com/Contents/Documentation.html
http://www.mandrakesecure.net/en/docs/ldap-auth.php

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #8 於: 2002-09-13 12:03 »
我參考了"高健智的網路實作經典"中的ldap
我發現好像是可以由sldapd.oc.conf去定義
p.10-16和p.10-20頁
但是我怎麼就是找不到這個檔??
請教有裝ldap的大哥,是不是去這一個檔中定義??
還是要去哪裡定義呢??
 :cry:  :cry:  :cry:

roy

  • 懷疑的國中生
  • **
  • 文章數: 38
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #9 於: 2002-09-13 12:58 »
引述: "anson lin"
我參考了"高健智的網路實作經典"中的ldap
我發現好像是可以由sldapd.oc.conf去定義
p.10-16和p.10-20頁
但是我怎麼就是找不到這個檔??
請教有裝ldap的大哥,是不是去這一個檔中定義??
還是要去哪裡定義呢??
 :cry:  :cry:  :cry:


不知道您使用的版本為何? slapd.oc.conf應該是較早版本使用。
新的版本則使用 /etc/openldap/schema/xxx.schema 取代,用
rpm 安裝slapd.oc.conf預設目錄為 /etc/openldap,當然檔案放
在何處都可以,只要slapd.conf將它include進來即可。祝好運!!

不知道是否有那位大大使用Sendmail LDAP Routing ?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17431
    • 檢視個人資料
    • http://www.study-area.org
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #10 於: 2002-09-13 13:01 »
嗯,參考文件時,請注意版本.....

那本書我也有,但在 ldap 部份,我還是跑去 openldap 看 guides 。

天線

  • 榮譽博士
  • 憂鬱的高中生
  • ***
  • 文章數: 155
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #11 於: 2002-09-13 14:21 »
終於看到LDAP的討論了
不過用來做認證的好像還很少

關於上面前輩的問題,如果不是自己定義objectClass
那麼就得依據include的schema

每一個objectClass都有自己定義的attribute,
每一個objectClass中的attribute也有分"Requires","May Have"
可不能只加一個objectClass,就想掛入一大堆不屬於他所定義的attribute
像IE6中所有通訊錄的欄位就分布在好幾個objectClass中

這個網址http://ldap.akbkhome.com有一些可供參考,你可以看到每一個objectClass都有他自己所要求的項目,一定有幾個attribute是必修,有一些是選修

像你是要加mail的attribute,那麼應該先有包含mail這個attribute的objectClass
,譬如inetOrgPerson這個objectClass就有
那麼ldif中應該像這樣
.................................................前面略過
objectClass: inetOrgPerson---------先有這個
cn: Babs Jensen----------------------必修
sn: Jensen-----------------------------必修
mail: bjensen@aceindustry.com-----選修
...................................................底下略過

大致上就是這樣

也可以是試試用LDAP來做認證中心>>

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #12 於: 2002-09-13 16:59 »
所以這應該是我的objectClass: person中不支援mail這一項
所以我的anson.ldif如下
dn: cn=anson, dc=contek, dc=com, dc=tw
objectClass: inetOrgPerson
cn: Chih-Hao Lin
cn: Lin
sn: Lin
telephoneNumber: 28825252
mail: anson@contek.com.tw

但是我一執行完
ldapadd -x -f anson.ldif -D "cn=root,dc=contek,dc=com,dc=tw" -w itdadmin
adding new entry "cn=anson, dc=contek, dc=com, dc=tw "
ldap_add: No such object
        additional info: parent does not exist

ldif_record() = 32
他說我的這個object沒找到耶,我要去哪定義這個file勒

我的/etc/openldap/schema有inetorgperson.schema 這個file呀
corba.schema
corba.schema.default
core.schema
core.schema.default
cosine.schema
cosine.schema.default
inetorgperson.schema
inetorgperson.schema.default
java.schema
java.schema.default
krb5-kdc.schema
krb5-kdc.schema.default
misc.schema
misc.schema.default
nis.schema
nis.schema.default
openldap.schema
openldap.schema.default

天線

  • 榮譽博士
  • 憂鬱的高中生
  • ***
  • 文章數: 155
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #13 於: 2002-09-13 17:58 »
"我的/etc/openldap/schema有inetorgperson.schema 這個file呀"

那就看一下第二個訊息阿
"additional info: parent does not exist"

不知道你的 dbm 是不是已經建立
我大致看了一下前面的slapd.conf,不知道你的根目錄到底是哪一個
假設是 dc=contek,dc=com.tw 好了
database ldbm
suffix "dc=contek,dc=com.tw"
rootdn "cn=root,dc=contek,dc=com.tw"
rootpw administrator
那麼你該先有一個"根目錄"
ldif是
dn:dc=contek,dc=com.tw
objectClass:top

先建完這個根目錄,有了最上層的那麼其他的像群組或個人帳號才能陸續加入ㄚ
你大概忘了吧

還有提醒你,rootpw最好使用加密的密碼
使用slappasswd -h {MD5}或其他的加密方式來產生密碼
然後貼到slapd.conf裡面

雖然很老套,但是卻是真理,howto一定要看
http://www.redhat.com/mirrors/LDP/HOWTO/LDAP-HOWTO/
http://www.openldap.org/doc/admin/

別讓howto說;
世上最遠的距離是,我就在你的電腦裡,你卻不知道我最能幫你

roy

  • 懷疑的國中生
  • **
  • 文章數: 38
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #14 於: 2002-09-13 22:37 »
引述: "anson lin"
所以這應該是我的objectClass: person中不支援mail這一項
所以我的anson.ldif如下
dn: cn=anson, dc=contek, dc=com, dc=tw
objectClass: inetOrgPerson
cn: Chih-Hao Lin
cn: Lin
sn: Lin
telephoneNumber: 28825252
mail: anson@contek.com.tw

但是我一執行完
ldapadd -x -f anson.ldif -D "cn=root,dc=contek,dc=com,dc=tw" -w itdadmin
adding new entry "cn=anson, dc=contek, dc=com, dc=tw "
ldap_add: No such object
        additional info: parent does not exist

ldif_record() = 32
他說我的這個object沒找到耶,我要去哪定義這個file勒
我的/etc/openldap/schema有inetorgperson.schema 這個file呀

請您先檢查一下你的schema檔,確定 telephoneNumber在這個
ObjectClass ?
引述: "天線"

每一個objectClass都有自己定義的attribute,
每一個objectClass中的attribute也有分"Requires","May Have"
可不能只加一個objectClass,就想掛入一大堆不屬於他所定義的attribute

找找看,把他加上去吧…

天線

  • 榮譽博士
  • 憂鬱的高中生
  • ***
  • 文章數: 155
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #15 於: 2002-09-14 00:39 »
不好意思
實在不會用msn 我也搞不清楚帳號是hotmail還是passport

言歸正傳,
喔.....剛吃完宵夜有點給他飽

你想做一個通訊錄,其實上面兩關過了就差不多了

舉個例子


suffix "dc=contek,c=tw"
rootdn "cn=admin,dc=contek,c=tw"
rootpw administrator

那麼先要有一個根目錄
底下是根目錄的root.ldif

dn: dc=contek,c=tw
objectClass: top

兩行其實就夠了

ldapadd -x -W -D"cn=admin,dc=contek,c=tw" -f /somewhere/root.ldif

再來就是看你是不是需要在分層次,譬如群組,電腦帳號,......
假設需要兩個people和group
那就在做一個group.ldif

dn: ou=people,o=contek,c=tw
objectClass: organizationalUnit
ou: people

dn: ou=group,o=contek,c=tw
objectClass: organizationalUnit
ou: group

然後在加入
ldapadd -x -W -D"cn=admin,o=contek,c=tw" -f /somewhere/group.ldif

那麼現在就有兩層了

也就是說                             |-----------ou=people,dc=contek,c=tw
   dc=contek,c=tw ------|
                                  |-----------ou=group,dc=contek,c=tw

需不需要在分層看你的環境需要而定

再來就是加入user帳號,最最痛苦的時候到了
dn: uid=user1,ou=people,o=contek,c=tw
uid: user1
cn: user1
givenname: user1
sn: user1
mail: user1@contek.com.tw
objectClass: person-----------------------|
objectClass: organizationalPerson         |
objectClass: inetOrgPerson                   |----這些objectClass針對需要而定
objectClass: account                            |
objectClass: posixAccount----------------|
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/user1
userPassword:{MD5}ijrlSwm1E++nXdSWfFb2ow==

因為你需要的只是通訊錄,所以針對通訊錄中的欄位去找相對的attribute
只要記的把objectclass加入,並注意每一個objectclass要求的必要的attribute
那大概就沒甚麼問題

而相關的欄位那就要自己努力了
http://www.openldap.org/faq/index.cgi?_highlightWords=outlook&file=293

http://www.openldap.org/faq/index.cgi?_highlightWords=outlook&file=294
我建議你先把功能做起來再來考慮相關的欄位
而且我記的http://freshmeat.net/有web的軟體可以做
加好了user之後
確定ldap是work的狀態
那麼outlook加入目錄服務
填入LDAP SERVER的ip
進階的地方確定port 389
搜尋依據的地方 填入 dc=contek,c=tw
那就大概完成了 可以在通訊錄中搜尋了

大致上是如此,有問題可以在討論
消化完了,要去睡覺了

祝好運

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #16 於: 2002-09-17 11:23 »
謝謝大家的幫忙 ,我終於用好了
請教一下"天線"兄
你一開釋寫的 :
suffix "dc=contek,c=tw"
rootdn "cn=admin,dc=contek,c=tw"
rootpw administrator

那個suffix "dc=contek,c=tw"
是 o=contek,c=tw
或 dc=contek,dc=com,dc=tw
嗎,怎麼會是 dc 和 c 呢??

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17431
    • 檢視個人資料
    • http://www.study-area.org
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #17 於: 2002-09-17 11:30 »
引述: "anson lin"
謝謝大家的幫忙 ,我終於用好了


恭喜!

好了,接下來是你要和大家分享心得的時候了哦~~~  ^_^

(期待中...)

anson lin

  • 憂鬱的高中生
  • ***
  • 文章數: 121
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #18 於: 2002-09-17 15:29 »
呵呵.....
其實天線兄寫的非常的清楚(真的很感謝他)
大家可以參考他的方法在看個人的需求作修改
一定可以成功的 :lol:  :lol:
天線兄.........謝謝你 !!

天線

  • 榮譽博士
  • 憂鬱的高中生
  • ***
  • 文章數: 155
    • 檢視個人資料
re: 想試試LDAP卻一開使就遇到怪問題 ??
« 回覆 #19 於: 2002-09-17 15:49 »
我瞎掰亂寫的,你居然成功,------開玩笑的別介意

至於dc和c是不是能共用我不太清楚,我隨便舉例的沒注意到

一班都是以dc=XXX,dc=XXX或 o=XXX,c=XX來做

不過好像也沒有規定不行,rfc2247有一些說明,不過我沒看完>>>

恭喜囉