1. Trang chủ >
  2. Công nghệ thông tin >
  3. Hệ thống thông tin >

Phân phối thư mục

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 188 trang )


Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



Trong ví dụ trên, people ou trong cây thư mục chính không có thư mục con do query of entry

ou=people,dc=plainjoe,dc=org nằm trong server 2.Lúc này entry (lối vào) ou=people,dc=plainjoe,dc=org

trên server thư mục chính chứa thông tin tham khảo tới server thư mục thực sự chứa nó.

Hình ảnh thể hiện định nghĩa của lớp đối tượng referral trong RFC 3296



Lớp trên chỉ chứa 1 thuộc tính đó là ref.Thuộc tính này chứa file URI chỉ ra host chứa cây.Định

dạng của URI như sau:

ldap://[host:port]/[/dn[?attribute][?scope][?filter][?extensions]]

khi đó entry mới của people ou như sau :

# LDIF listing for the entry ou=people,dc=plainjoe,dc=org

dn: ou=people,dc=plainjoe,dc=org

objectClass: referral

ref: ldap://server2.plainjoe.org/ou=people,dc=plainjoe,dc=org



cấu hình superior knowledge reference :từ server 2 trở về thư mục chính ,hoạt động này phụ

thuộc vào vendor



Chương 2



10



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



CHƯƠNG 3. OPENLDAP

Chương này giới thiệu về OpenLDAP, một server phổ biến, mã nguồn mở theo tiêu chuẩn LDAPv3. Có

một số những sản phẩm thương mại khác tương tự, bao gồm Sun Microsystem's SunOne directory server,

Novell's eDirectory và Microsoft's Active Directory, mặc dù những Directory này không đơn thuần chỉ là

LDAP.

Vậy, tại sao chúng ta sử dụng OpenLDAP server thay vì một trong những sản phẩm khác ? Có khá nhiều

lí do khiến OpenLDAP trở nên thu hút:







OpenLDAP là sản phẩm mã nguồn mở, mã nguồn của nó có thể được tải về từ

http://www.openldap.org. Mã nguồn giúp cung cấp khá nhiều sự trợ giúp cho người sử dụng.

• OpenLDAP 2 được làm theo chuẩn LDAPv3.

• OpenLDAP có trên nhiều nền khác nhau, bao gồm Linux, Solaris, Mac OS 10.2, và Windows

(hầu hết các phiên bản).

• Dự án OpenLDAP là sự tiếp nối từ LDAP server của Đại học Michigan. Quan hệ giữa LDAP

server của Michi gan và các sản phẩm LDAP server hiện đại khác có thể được so sánh như là mối

quan hệ của trình duyệt Web hiện đại và NCSA code base.

Những ví dụ trong chương này giới thiệu OpenLDAP trên nền 1 Unix server, vì vậy, họ sử dụng những

dòng lênh chuẩn của Unix chẳng hạn như tar, gzip và make.



1. Openldap distribution :

Phiên bản mới nhất của OpenLDAP có thể tải về từ http://www.OpenLDAP.org/software/download/.

OpenLDAP có hai phiên bản chính, bản 1.2 chỉ nâng cao và sửa một số bug nhỏ từ bản gốc LDAP server

của Đại học Michigan và chỉ hỗ trợ LDAPv2, còn bản OpenLDAP 2 là một sản phẩm hoàn thiện theo

chuẩn LDAPv3.

Có khá nhiều ưu điểm của LDAPv3 so với các phiên bản trước, chẳng hạn :



















Khả năng hỗ trợ refferal: LDAPv2 không có sự chuẩn bị về việc trả lại một refferal cho client.

Trong khi LDAP server của Đại học Michigan có thí nghiệm hỗ trợ cho việc thực thi referral,

khái niệm này vẫn chưa được chuẩn hóa cho khi LDAPv3 xuất hiện. Việc chuẩn hóa này tạo nên

khả năng tương tác giữa server và clients từ các sản phẩm LDAP server khác nhau, điều mà

LDAPv2 chưa làm được.

Khả năng cung cấp server’s schema qua các hoạt động của LDAP, làm cho việc client học schema

của server trước khi thực hiện các tìm kiếm trở nên dễ dàng hơn. Các duy nhất để xác định

schema trong LDAPv2 là kiểm tra các file configuration của server. Cung cấp server’s schema

như là các mục trong directory cho phép những dịch vụ real-time cập nhật qua các hoạt động của

LDAP. (lưu rằng LDAPv3 không yêu cầu cập nhật động).

Hỗ trợ sử dụng kí tự UTF-8 trong các chuỗi (RFC 2253) và language tags cho việc mô tả các

thuộc tính (RFC 2596).

Cải thiện bảo mật và tính linh hoạt cho authentication credentials và data qua SASL và SSL/TLS,

trong khi LDAPv2 chỉ hỗ trợ simple binds hoặc Kerberos 4 cho authentication

Hỗ trợ protocol extensions như là một cơ chế để tăng cường những hoạt động có sẵn hoặc tạo

những lệnh mới mà không cần phải sửa lại những LDAP protocol đã định nghĩa.



Chương 3



11



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



2. Software requirements

Những ví dụ trong sách này sử dụng phiên bản OpenLDAP version 2.1.8. Giống như các phần mềm khác,

software requirement thay đổi theo từng phiên bản, vì vậy, hãy kiểm tra kĩ thông tin của các bản đó trước

khi sử dụng.

OpenLDAP server sẽ cần một số gói phần mềm mở rộng như sau:













Hỗ trợ cho POSIX threads, kể cả hệ điều hành hay thư viện ngoài

Thư viện SSL/TLS (chẳng hạn OpenSSL package có ở http://www.openssl.org )

Một thư viện quản lí dữ liệu có hỗ trợ lữu trữ DBM type một cách dễ dàng. Có thể chọn Berkeley

DB 4.1 package từ Sleepycat Software (http://www.sleepycat.com/).

Thư viện SASL phiên bản 2.1 từ Đại học Carnegie Mellon (http://asg.web.cmu.edu/sasl/sasllibrary.html).



2.1 Threads

Nếu hệ điều hành server của bạn hỗ trợ threads, OpenLDAP 2 hoạt động hiệu quả hơn với thứ này. Sự

hỗ trợ này có ở hầy hết các hệ điều hành Linux, Solaris và nhiều hệ khác.

Nếu bạn gặp vấn đề với hỗ trợ POSIX thread, lựa chọn đầu tiên là kiểm tra lại các ghi chú về cài đặt

ứng với hệ điều hành của bạn trên web site OpenLDAP.org, hoặc bạn có thể vào

http://www.gnu.ai.mit.edu/software/pth/related.html, nơi có một danh sách những thư viện POSIX

thread cho hệ điều hành Unix. Có thể tắt hỗ trợ thread bằng lệnh –disble-threads trong configuration

script để compile. Tuy nhiên, replcation helper daemon (sẽ được nhắc đến trong chương 5) cần đến

thread support này.



2.2 Thư viện SSL/TLS

RFC 2246 mô tả TLS 1.0, tương ứng với SSL 3.0. Những họat động mở rộng của StartTLS định

nghĩa trong RFC 2830 cho phép LDAP clients và servers negotiate một TLS sesion tại bất kỳ điểm

nào trong một conversation (ngay cả khi đang authenticate client). Để bật việc hỗ trợ này, bạn cần

phải cài đặt phiên bản mới nhất của thư viện OpenSSL tại http://www.openssl.org/.

Xây dựng và cài đặc OpenSSL khá đơn giản. Chỉ cần nhớ rằng, với bản 0.9.6, thư viện chia sẻ không

được xây dựng một cách mặc định. Để tạo các thư viện chia sẻ, trong build script của OpenSSL, mở

tùy chọn shared lên.

Tùy chọn –opensldir để định nghĩa thư mục cài đặt

$ ./configuration shared --openssldir=/usr/local

Theo sau đó là phần bắt buộc để cài đặt thư viện phát triển và các công cụ ở /usr/local :

$ make

$ /bin/su -c "make install"



Chương 3



12



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



2.3 Database Backend Modules

Để xây dựng một OpenLDAP server độc lập, cần phải cung cấp một thư viện cho một vài loại

database manager (DBM). OpenLDAP hỗ trợ hai loại lưu trữ local DB. Loại thứ nhất là ldbm, có thể

sử dụng GNU Database manâger từ Free Software Foundation (http://www.fsf.org) hoặc BerkeleyDB

package từ Sleepyal Software(http://www.sleepycat.com). Loại thứ 2 được giới thiệu ở OpenLDAP

2.1 gọi là bdb, được chỉnh sửa để sử dụng mỗi thư viện Berkeley DB 4 .

Tải thư viện Berkeley DB 4.1 từ http://www.sleepycat.com/download/index.shtml. Sau đó extract ra

một thư mục nào đó, ví dụ :

$ cd /usr/local/src/

$ gzip -dc {path-to-download-directory}/db-4.1.24.tar.gz | tar xvf –

Rồi cài đặt :

$ cd db-version/build_unix

$ ../dist/configure --prefix=/usr/local/

$ make

$ /bin/su -c "make install"



2.4 SASL Libraries

Cài đặt SASL chỉ cần một số bước quen thuộc :

$ gzip -dc cyrus-sasl-2.1.9.tar.gz | tar xf $ cd cyrus-sasl-2.1.9

$ ./configure

$ make

$ /bin/su -c "make install && \

ln -s /usr/local/lib/sasl2 /usr/lib/sasl2"



3. Compiling OpenLDAP 2:

Giải nén source file :

$ gzip -dc openldap-2.1.8.tar.gz | tar xvf –

Đến thư mục mới tạo ra, chạy ./configure script, chỉnh lại các tùy chọn mà bạn muốn mở hoặc tắt, ví dụ :

$ cd openldap-2.1.8/

$ ./configure --enable-wrappers

Kiểm tra đầu ra của các lệnh này xem có đúng với các vị trí các DBM và các tùy chọn của bạn. Cài đặt

với các lệnh :

$ make depend

$ make

$ make test

$ /bin/su -c "make install"



Chương 3



13



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



4. OpenLDAP Clients and Servers :

OpenLDAP package chứa những thư viện client, server và development. Bảng 3.1 cho ta một cái nhìn

tổng quan về các tiện ích đi kèm với package.

Table 3-1. Installed components included with OpenLDAP

Name



Description



libexec/slapd



The LDAP server.



libexec/slurpd



The LDAP replication helper.



bin/ldapadd

bin/ldapmodify Command-line tools for adding, modifying, and deleting entries on an LDAP server.

bin/ldapdelete These commands support both LDAPv2 and LDAPv3.

bin/ldapmodrdn

bin/ldapsearch Command-line utilities for searching for an LDAP directory or testing a compare

bin/ldapcompare operation on a specific attribute held by an entry.

bin/ldappasswd



A tool for changing the password attribute in LDAP entries. This tool is the LDAP

equivalent of / bin/passwd.



sbin/slapadd

sbin/slapcat

sbin/slapindex



Tools for manipulating the local backend data store used by the slapd daemon.



sbin/slappasswd A simple utility to generate password hashes suitable for use in slapd.conf.

lib/libldap*

lib/liblber*

The OpenLDAP client SDK.

include/ldap*.h

include/lber*.h



5. Slapd.conf Configuration file

File slapd.conf là nơi chứa các thông tin cấu hình chính cho một OpenLDAP server độc lập, replication

helper daemon slurpd, và các công cụ liên quan như slapcat và slapadd. Tương tự, OpenLDAP client tool

sửa dụng ldap.conf cho các tùy chỉnh mặc định.

File slapd.conf chia làm 2 phần chính. Phần đầu chứa các thông số ảnh hưởng tới hoạt động tổng thể cho

OpenLDAP server (ví dụ như : lượng thông tin gửi đến log file). Phần thứ hai là những thông số liên quan

tới các database backend sử dụng bởi slapd daemon. Chúng ta có thể định nghĩa những cài đặt mặc định

cho phần đầu trong slapd.conf. Tuy nhiên, trong phần thứ hai, các giá trị được chỉnh sẽ đè lên giá trị mặc

định.

Hai phần trong spld.conf :

# /usr/local/etc/openldap/slapd.conf

# Global section



Chương 3



14



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Giao thức LDAP



GVHD: TS. Lưu Thanh Trà



## Global parameters removed for brevity's sake, for now . . .

#######################################################

# Database #1 - Berkeley DB

database bdb

## Database parameters and directives would go here.

#######################################################

# Database #2 - Berkeley DB

database bdb

## Database parameters and directives would go here.

## And so on . . .



5.1 Schema files

Bước đầu tiên để configure LDAP server của bạn là quyết định xem nên chọn schema nào để

directory hỗ trợ.

OpenLDAP 2 chứa khá nhiều schema thông dụng, các định nghĩa attributeType và objectClass cần

thiết trong core.schema.

Mặc định, tập tin trên ở /usr/local/etc/openldap/schema/ sau khi cài đặt. Trong file config, thông số

include chỉ ra schema sẽ được sử dụng bởi server :

# /usr/local/etc/openldap/slapd.conf

# Global section

## Include the minimum schema required.

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

#######################################################

## Database sections omitted

Có rất nhiều loại schema trong mặc định của OpenLDAP 2.1 :

corba.schema

A schema for storing Corba objects in an LDAP directory, as described in RFC 2714.

core.schema

OpenLDAP's required core schema. This schema defines basic LDAPv3 attributes and objects

described in RFCs 2251-2256.

cosine.schema

A schema for supporting the COSINE and X.500 directory pilots. Based on RFC 1274.

inetorgperson.schema



Chương 3



15



Lê Tiến Cường – Nguyễn Minh Đức

Lê Thạch Giang- Hoàng Ngọc Hưng



Xem Thêm
Tải bản đầy đủ (.docx) (188 trang)

×