LDAP是目錄服務(wù),前身是X500,但是X500不支持TCP/IP,所以出現(xiàn)了LDAP協(xié)議,默認(rèn)端口是389。LDAP的查詢速度很快,寫入很慢,適用于讀多寫少的情況。 LDAP中的結(jié)構(gòu)是樹形的,一條記錄,包含一個dn,dn由dc,ou,cn等組成,這正好是一個域名的方式,一個dn就是一個主鍵,用來表示這條記錄的唯一性。 例如 dn:cn=harbor,ou=eng,dc=centling,dc=com 一條記錄中有若干屬性,這些屬性類似于java類的屬性的概念,首先要引入class,LDAP中叫objectClass,每個objectClass都有各自的屬性,有些屬性是必填的,有些則不是。 例如 dn: uid=alex.yu,ou=people,dc=centling,dc=com uid: alex.yu top是一個抽象類,沒有任何屬性,相當(dāng)于java的Object類。這里面引用了3個objectClass:inetOrgPerson,posixAccount,top ldapsearch命令 -h 主機名 -b base dn 從樹形結(jié)構(gòu)的哪個記錄開始查詢 -x 匿名查詢 -D bind dn 用戶的用戶名 "uid=alex.yu,ou=people,dc=centling,dc=com",則綁定了這個用戶 -w 上述綁定用戶的密碼 -W 提示輸入密碼 -z 設(shè)置輸出記錄數(shù) -l 超時時間 -LLL 以LDIF形式顯示結(jié)果 例如 從dc=centling,dc=com開始查詢,以username1這個用戶查詢,查詢記錄中含有uid=figo的用戶 ldapsearch -h 127.0.0.1 -b "dc=centling,dc=com" -D "uid=username1,ou=people,dc=centling,dc=com" -W -LLL "uid=figo" 或者用匿名查詢,但是服務(wù)器要支持匿名查詢 ldapsearch -h 127.0.0.1 -b "dc=centling,dc=com" -x -LLL "uid=figo" 查詢語法 or "(|(uid=A)(uid=B))" and "(&(uid=A)(email=B))" |
|