Tải bản đầy đủ (.pdf) (49 trang)

Luận án - Xây dựng phần mềm báo điểm tuyển sinh qua mạng pps

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 (932.89 KB, 49 trang )












Luận án
Xây dựng phần mềm
báo điểm tuyển sinh
qua mạng

Trang
1
CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI
1.1 Hướng Chọn Đề tài:
Phần mềm nguồn mở đã trở thành một trong những hướng đi chiến lược trong
việc phát triển Công nghệ thông tin của nước ta hiện nay. Đặc biệt với sự phát
triển bùng nổ của hệ thống mạng thông tin Internet, việc ứng dụng phần mềm
nguồn mở đã trở thành một cơ hội cho phép tiếp cận các công nghệ mới một cách
dễ dàng với chi phí hợp lý. Ngày càng nhiều phần mềm nguồn mở được đánh giá
cao và được đưa vào ứng dụng tại nhiều tổ chức nổi tiếng trên thế giới.
Ở Việt Nam, việc nghiên cứu phát triển và ứng dụng các sản phẩm phần mềm
nguồn mở đã trở thành một nhu cầu cấp thiết vì nhiều lý do :
 Nhu cầu về phát triển Công nghệ Thông tin trong nước: trong hoàn cảnh Công
nghệ Thông tin thế giới đã có một quãng thời gian phát triển khá lâu với rất
nhiều thành tựu trong khi Công nghệ thông tin Việt Nam mới chỉ đạt được ở


mức khiêm tốn, để có thể bắt kịp các nước phát triển, việc tiếp cận với hệ
thống phần mềm nguồn mở là một hướng đi đúng đắn giúp Công nghệ thông
tin Việt Nam có một nền tảng để hội nhập.
 Vấn đề bản quyền và chi phí: hiện nay, phần lớn các sản phẩm phần mềm
thương mại đang được sử dụng ở Việt Nam đều không có đăng ký bản quyền.
Trong điều kiện tình hình sắp tới, khi các điều luật về bản quyền được thắt
chặt sẽ làm cho việc sử dụng phần mềm thương mại sẽ không còn dễ dàng.
 Với phần mềm phần mềm nguồn mở, người sử dụng có thể yên tâm hoàn toàn
vào hoạt động của phần mềm. Do phần mềm nguồn mở có một cộng đồng sử
dụng đông đảo luôn trao đổi thông tin với nhau thông qua Internet, các lỗ
hổng trong phần mềm nguồn mở không ngừng được tìm và sửa chữa.


Trang
2

Hàng năm, số lượng thí sinh tham dự vào các kỳ thi đại học ngày càng tăng.
Bên cạnh đó, kể từ khi mạng Internet lần đầu tiên xuất hiện ở Việt Nam, đến nay
Internet đã được phủ khắp ở hầu hết các tỉnh, thành phố trên phạm vi cả nước.
Xuất phát từ tình hình trên, chúng tôi đã chọn Đề tài : “Xây dựng phần mềm báo
điểm tuyển sinh qua mạng”. Đề tài của chúng tôi ứng dụng OpenLDAP,
Webserver Apache, PHP. Chương trình hoạt động dựa trên nền hệ điều hành
Linux (một hệ điều hành nguồn mở mà tên tuổi của nó đã trở nên quá quen thuộc
với Công nghệ thông tin Việt Nam kể từ năm 2000) để tổ chức dữ liệu và thông
báo điểm tuyển sinh một cách trực tuyến thông qua giao diện web.
1.2.Giới thiệu các phần mềm sử dụng cho đề tài :
Các phần mềm sử dụng để thực hiện Đề tài “Xây dựng phần mềm báo điểm
tuyển sinh qua mạng” đều là các phần mềm nguồn mở.
 OpenLDAP (): sản phẩm phần mềm nguồn mở này
được phát triển từ năm 1998 và được sử dụng bởi rất nhiều tổ chức trên thế

giới. OpenLDAP hoạt động trên nền giao thức TCP cho phép tổ chức lưu trữ
thông tin người dùng một cách tối ưu theo cấu trúc cây phân cấp, giúp người
dùng truy cập thông tin một cách nhanh chóng.
- Apache () : Web server được sử dụng rộng rãi nhất trên
thế giới với độ bảo mật và tin cậy cao, cung cấp dịch vụ web, webhosting, hỗ
trợ virtual host, dynamic module và các công nghệ Web tiên tiến. Giống như
Linux, PHP, MySQL, nó là một dự án nguồn mở, Apache được hỗ trợ rất tốt
trên môi trường Unix (và cả trên môi trường hệ điều hành Windows
®
) ở đây
PHP hoạt động với tư cách là một phần mở rộng của Apache và người ta gọi
là Module của Apache.
- Ngôn ngữ lập trình PHP : là ngôn ngữ có tốc độ thực thi nhanh dễ sử dụng,
cung cấp các tính năng mạnh mẽ để xây dựng ứng dụng web một cách nhanh


Trang
3

chóng, ổn định và có thể chạy trên nhiều hệ điều hành khác nhau như
WindowsNT/2000/2003, Unix, Linux với sự hỗ trợ của IIS và Apache. PHP
hỗ trợ truy cập nhiều hệ CSDL khác nhau, luôn được cải tiến và cập nhật. Bên
cạnh đó, PHP có một cộng đồng sử dụng rất lớn và chúng ta có thể nhận được
sự hỗ trợ rất tốt.


Trang
4

CHƯƠNG 2 : GIỚI THIỆU VỀ LDAP

2.1 Định nghĩa :
2.1.1.Định nghĩa :
LDAP viết tắt từ cụm từ Lightweight Directory Access Protocol có nghĩa là
giao thức truy cập thư mục. Nó là một giao thức cho việc truy cập các dịch vụ
thư mục, đặc biệt là dịch vụ thư mục tương thích chuẩn X500. LDAP có thể
chạy trên mạng dựa trên giao thức TCP/IP hoặc các mạng khác có hỗ trợ tầng
vận chuyển (transport layer). Kiến trúc của LDAP được nói rõ ở RFC2251 và
RFD3377 bao gồm các đặc tính kỷ thuật của nó. LDAP v3 được xem là chuẩn
Internet. Phiên bản thứ ba này hỗ trợ đa ngôn ngữ (Unicode).

2.1.2. Giới thiệu về X.500 :
Xét trên phương diện kỹ thuật, LDAP là một giao thức truy cập đến một
dịch vụ thư mục tương thích chuẩn X.500, đây là một dịch vụ thư mục trong
mô hình OSI. Đầu tiên các máy client truy cập các gateway đến dịch vụ thư
mục X.500. Gateway này chạy LDAP máy client và gateway, còn giao thức
DAP của X.500 thì chạy giữa gateway và X.500 server. Giao thức DAP
(Directory Access Protocol) là giao thức quan trọng nhưng DAP đòi hỏi mô
hình mạng OSI đầy đủ và nhiều tài nguyên tính toán hơn trong một máy tính
thường. LDAP là một phiên bản cải tiến của DAP mà không cần nhiều tài
nguyên hệ thống như DAP. Ưu điểm của LDAP là chạy trên mạng TCP/IP và
có thể truy cập đến các dịch vụ X.500 có sẵn.
*


*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
1.4. What about X.500?



Trang
5

Một tiện ích độc lập của LDAP có tên là slap được xem như là một server
thư mục X.500. Có nghĩa là nó không thự thi giao thức DAP của X.500. Với tư
cách là một directory server, slap chỉ thực thi một tập con của mô hình X.500.
2.2. Cách thức tổ chức dữ liệu
2.2.1. Các lọai dữ liệu được lưu trữ trong thư mục :
Mô hình thông tin LDAP dựa vào các mục. Mỗi một mục là một tập hợp các
thuộc tính có một tên riêng biệt là DN (distinguished name).
DN là tên xác định tất cả các mục chứa đựng tạo thành đường đi từ đầu cây
đến một nút (node) lá nào đó. Mỗi một thuộc tính của một mục có một kiểu và
một hoặc nhiều giá trị tương ứng.
Kiểu thường là một chuỗi gợi nhớ ví dụ như “cn” thuộc kiểu common name
(tên riêng), hoặc là “mail” thuộc kiểu email address. Ví dụ một thuộc tính cn có
thể có giá trị Bab Jensen. Thuộc tính mail có thể có giá trị
Một thuộc tính jpegPhoto chứa một hình ảnh dạng jpeg (hay dữ liệu dạng nhị
phân nói chung).
2.2.2. Cách thức tổ chức dữ liệu:
Cây thư mục LDAP có cấu trúc dạng cây phân cấp. Cấu trúc này nói lên
ranh giới địa lý và tổ chức (để dễ quản lý, thực hiện theo dạng phân cách). Các
mục tượng trưng cho quốc gia thường đứng ở đỉnh cây. Dưới đó là các mục
tượng trưng cho bang và các tổ chức nhà nước, bậc dưới nữa là các mục dành
cho đơn vị và tổ chức tiếp theo là người, máy in, tài liệu …. Hình 2.1 là ví dụ
về cây thư mục LDAP sử dụng cách đặt tên truyền thống



*

Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?


Trang
6



VD : Về nước Việt Nam




















Cây thư mục cũng có thể được sắp xếp dựa trên cấu trúc tên miền ở mạng
Internet. Phương pháp đặt tên này đang được sử dụng phổ biến bởi vì có cho
phép các dịch vụ thư mục được định vị trí theo phương pháp tên miền DNS.
Hình 2.2 là một ví dụ về cây thư mục LDAP sử dụng cách đặt tên theo tên miền






*



*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
c=Mỹ
st = TP Hồ Chí Minh
c = Việt Nam
o= Sở GD&ĐT
ou = Trường THPT Ngô Quyền
Person

cn = Học sinh
The Organization

Organization Unit


ou = TT GDTX
Hình 2.1 : LDAP cây thư mục (sử dụng cách đặt tên truyền thống)


Trang
7



























Ngoài ra, LDAP còn cho phép kiểm soát các thuộc tính nào cần thiết có mặt
trong một mục bằng cách sử dụng một thuộc tính đặc biệt có tên là lớp đối
tượng (ObjectClass). Giá trị của thuộc tính lớp đối tượng sẽ quyết định các qui
tắc của lược đồ mà mục đó cần phải tuân theo. (mở rộng ra  có thể định
nghĩa lớp đối tượng riêng)
*

2.2.3. Cách tham chiếu của thông tin:

*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
dc=net
dc= example

dc = D
E

ou = Marketing
Person

The Organization


Organization Unit

ou = People

dc =
DE

uid=babs
Hình 2.2 : LDAP cây thư mục (sử dụng cách đặt tên theo tên miền)


Trang
8

Một mục được tham chiếu bằng tên phân biệt của nó (DN) và tổ chức của
cây tương ứng. Tên này được tạo ra bằng cách ghép tên của mục
(hay còn gọi là tên phân biệt quan hệ hoặc RDN) với tên mục ở cấp trên nó.
Ví dụ: trong hình 2.2 tên mục Barbara Jensen có tên RDN là uid=babs và DN
là uid=babs, ou=people, dc= example, dc=com

2.2.4. Cách truy cập thông tin :
LDAP định nghĩa các thao tác cho việc truy vấn và cập nhật thư mục. Một
số thao tác được dùng để thêm và xoá một mục từ thư mục, để thay đổi một
mục có sẵn, và thay đổi tên của một mục. Tuy nhiên, phần lớn thời gian LDAP
được sử dụng để tìm kiếm thông tin trong thư mục. Thao tác tìm kiếm của
LDAP cho phép tìm kiếm các mục mà thoả điều kiện của công cụ lọc trong một
phần của thư mục. Thông tin có thể được yêu cầu từ mỗi mục mà thoả điều
kiện.
Ví dụ, bạn có thể muốn tìm người có tên Babara Jensen trên một cây thư
mục con bắt đầu từ dc=example,dc=com trở xuống để lấy thông tin địa chỉ
email của từng mục mà thoả điều kiện. LDAP cho phép chúng ta làm việc này
một cách dễ dàng. Hoặc nếu bạn muốn tìm kiếm các tổ chức mà tên nó có cụm
từ Acme và phải có số fax từ các mục dưới mục st=Caliornia, c=US. LDAP
cũng cho phép bạn làm được điều này.


*




*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?


Trang
9

2.2.5. Cách bảo vệ Thông tin trước sự truy cập trái phép :
Một vài dịch vụ thư mục không có cơ chế bảo vệ thông tin, nó cho phép mọi
người có thể truy cập và xem toàn bộ thông tin. LDAP cung cấp nhiều cơ chế
khác nhau để xác thực và chứng minh danh tính của một người sử dụng khi họ
truy cập vào thư mục chủ. Do đó nó cho phép bảo vệ thông tin mà chúng ta lưu
trên máy chủ. LDAP cũng hỗ trợ các công cụ cho phép đảm bảo tính cá nhân.

2.3 Giới thiệu về SLAPD :
2.3.1 Khái niệm về slapd :
Slapd là một LDAP directory server mà có thể chạy trên nhiều Platform
khác nhau. Bạn có thể dùng nó để tạo một directory server riêng của bạn
directory của bạn có thể chứa được nhiều dữ liệu mà bạn muốn lưu. Bạn có thể
kết nối đến các dịch vụ LDAP directory khác hay là chạy nó một cách độc lập.
2.3.2 Đặc tính và chức năng của tiến trình Slapd :
2.3.2.1 Đặc tính của slapd :

 Slapd thực thi phiên bản 3 của giao thức LDAP. Slapd hỗ trợ giao thức LDAP
trong môi trường địa chỉ IP phiên bản 4 và phiên bản 6 (IPv4 và IPv6).
 Tầng đăng nhập và bảo mật đơn giản : Slapd hỗ trợ sự đăng nhập một cách
chặt chẽ hơn bằng cách sử dụng SASL. SASL được thực thi bằng cách sử
dụng phần mềm Cyrus SASL. Phần mềm này được cung cấp một số cơ chế
mã hoá sau: DIGEST-MD5, EXTERNAL, and GSSAPI.

*



*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
1.6 What is slapd and what can it do ?


Trang
10
 Tính bảo mật của tầng vận chuyển : Slapd cung cấp sự bảo vệ riêng tư và toàn
vẹn bằng cách sử dụng TLS ( hoặc SSL). TLS được thực thi bằng cách sử
dụng phần mềm OpenSSL.
 Tính toàn cầu: Slapd hỗ trợ Unicode và các thể ngôn ngữ.
 Cho phép lựa chọn các module cơ sở dữ liệu: BDB, LDBM, SHELL,
PASSWD.
 Nhiều cơ sở dữ liệu mẫu : Slapd có thể được cấu hình để cung cấp nhiều loại
cơ sở dữ liệu, có nghĩa là một Slapd server có thể phản hồi các yêu cầu của
nhiều phần của cây thư mục LDAP bằng cách sử dụng các module cơ sở dữ
liệu.

 Các module API chung: Slapd cho phép bạn viết các module riêng của bạn
một cách dễ dàng. Slapd gồm có 2 phần riêng biệt: phần mặt trước dùng để
xử lý các liên lạc giao thức với LDAP client; và phần module có chức năng
xử lý các thao tác trên cơ sở dữ liệu. Bởi vì 2 phần này được viết bằng các
hàm API, cho nên bạn có thể viết các module riêng cơ sở dữ liệu có thể lập
trình lại được. Các module này cho phép bạn trưng bày các nguồn dữ liệu
ngoài bằng cách sử dụng các ngôn ngữ lập trình thông dụng như Perl, Shell,
SQL, và TCL.
2.3.2.2 Chức năng được cung cấp bởi tiến trình Slapd :
 Kiểm soát topology: Slapd chỉ cho phép chúng ta giới hạn sự truy cập server
dựa vào cấu trúc của mạng. Đặc tính được thực thi bằng cách sử dụng trình
bao bọc TCP.
*



*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.6 What is slapd and what can it do ?


Trang
11
 Kiểm soát truy cập : Slapd cung cấp chức năng kiểm soát truy cập chặt chẽ.
Nó cho phép bạn kiểm soát các truy cập thông tin vào cơ sở dữ liệu của bạn.
Ngoài ra bạn còn có thể kiểm soát việc truy cập vào các mục dựa vào thông
tin đăng nhập LDAP, địa chỉ IP, tên miền và các tiêu chuẩn khác. Slapd hỗ
trợ kiểm soát truy cập tĩnh và động.
2.3.3.Cách cấu hình file slapd.conf

Các thông số chạy của slapd thường được lấy từ file slapd.conf. Và file này
thường được lưu trữ tại /usr/local/etc/openldap.
2.3.3.1.Dạng thức của file cấu hình
File slapd.conf thường chứa thông tin về 3 loại cấu hình: toàn cục, chuyên
phụ trợ và chuyên về CSDL. Thông tin về toàn cục được định nghĩa trước, tiếp
theo là phụ trợ và CSDL. Các định nghĩa về toàn cục có thể được định nghĩa lại
trong phần định nghĩa của phụ trợ và CSDL và các định nghĩa về phụ trợ có thể
được định nghĩa lại trong phần định nghĩa của CSDL.
Dòng trống và câu bắt đầu bằng ‘#’ sẽ không được biên dịch. Nếu một dòng
bắt đầu bằng khoảng trắng thì nó được xem là dòng kế tiếp của dòng trước đó.
Dạng thức chung của file slapd.conf là:
# global configuration directives
< global config directives


*




*
Tài liệu viết phần này được lấy ở trang Web mục
1. Introduction to OpenLDAP Directory Services
1.6 What is slapd and what can it do ?
6. The slapd Configuration File
6.1. Configuration File Format


Trang
12


#backend definition
backend <typeA>
< backend-specific directives >

#first database definition & config directives
database <typeA>
<database -specific directives >

#second database definition & config directives
database <TypeB>
<database -specific directives directives >
#second database definition & config directives
database <TypeA>
<database -specific directives >
#subsequent backend & database definitions &config directives
………
Một chỉ thị về cấu hình có thể có nhiều tham số. Các tham số được cách
nhau bởi khoảng trắng. Nếu một tham số có khoảng trắng thì nó phải được đặt
trong dấu ngoặc đôi “” ví dụ: “biến a”. Nếu một tham số có chứa dấu ngoặc đôi
hoặc là dấu ‘\’, thì trước hai ký tự này phải có thêm dấu ‘\’.


*



*
Tài liệu viết phần này được lấy ở trang Web mục
6. The slapd Configuration File

6.1. Configuration File Format


Trang
13
Phần mềm mà bạn tải xuống có kèm theo một ví dụ mẫu về cấu hình và
được cài đặt ở thư mục /usr/local/etc/openldap. Và một số các định nghĩa về
cây thư mục (có nghĩa là định nghĩa về các loại thuộc tính và các lớp đối
tượng) cũng được kèm theo và lưu trữ ở thư mục
/usr/local/etc/openldap/schema.
2.3.3.2. Các chỉ thị về cấu hình.
Phần này giới thiệu chi tiết các chỉ thị cấu hình thường dùng. Muốn biết
bảng chỉ thị chi tiết xem trong tài liệu hướng dẫn về slapd.conf. Phần này chia
chỉ thị về cấu hình thành 3 loại toàn cục, phụ trợ và dữ liệu. Kế đó, mô tả từng
chỉ thị một và các giá trị mặc định của nó (nếu có) và ví dụ về cách sử dụng.
Chỉ thị toàn cục.
Các chỉ thị được đề cập trong phần này được áp dụng cho tất cả các kiểu
backends và database trừ khi có những có các định nghĩa chi tiết khác được nạp
chồng lên. Các định nghĩa được để trong cặp ngoặc nhọn <> cần được thay thế
bằng tham số thực.
 Chỉ thị cấp quyền đăng nhập
access to <what> [by <who> <accesslevel > <control>] +
Chỉ thị này sẽ cấp quyền truy cập (được xác định bởi < accesslevel >)
cho một bộ các mục hoặc các thuộc tính (được xác định bởi <what>)bởi
một hoặc nhiều người yêu cầu (được xác định bởi <who>).

*


*

Tài liệu viết phần này được lấy ở trang Web mục
6. The slapd Configuration File
6.1 Configuration File Format
6.2 Configuration File Directives
6.2.1Global Directives
6.2.1.1. access to<what>[by<who><accesslevel><control>]


Trang
14


Xem phần Kiểm soát truy cập trong chương này để biết thêm chi tiết về
cách sử dụng cơ bản.
Lưu ý: Nếu không có chỉ thị về quyền truy cập access, thì cơ chế quyền
truy cập mặc định sẽ được sử dụng có cấu trúc sau: access to * by* read.
Chỉ thị mặc định này sẽ cho phép cả những người sử dụng xác định và vô
danh được quyền truy cập.
 attributetype: Chỉ thị loại thuộc tính.
Attributetype <RFC2252 Attribute Type Desciption>
Chỉ thị này định nghĩa một loại thuộc tính. Để biết cách sử dụng của chỉ
thị này hãy xem chương về Các đặc tính của giản đồ (Schema
Specification).
 Chỉ thị về thời gian nhàn rỗi
idletimeout <integer>
Số lượng thời gian tính bằng giây nhàn rỗi của một máy khách. Nếu hết
thời gian này nó sẽ bị ngắt kết nối. Giá trị mặc định của nó là 0, điều này
đồng nghĩa là thuộc tính này không có tác dụng (hay là bị vô hiệu hóa).
 include<filename> : chỉ thị về thêm file.
Chỉ thị này báo hiệu cho Slapd biết là nó phải đọc file các thông tin về

cấu hình ở file được thêm trước khi tiếp tục xử lý đến dòng lệnh kế tiếp.
*



*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.1Global Directives
6.2.1.2. attributetypr<RFC2252 Atribute Type Description>
6.2.1.3 idletimeout<integer>
6.2.1.4. include <filename>


Trang
15
File được kèm thêm phải có dạng thức chuẩn giống như file cấu hình của
slapd.
Lưu ý: Bạn nên cẩn trọng khi sử dụng chỉ thị này bởi vì không nó khó
kiểm soát.
 loglevel<integer>
Chỉ thị này chỉ rõ mức độ mà các câu lệnh debug và các thống kê của
quá trình vận hành chương trình được ghi lại trong hệ thống. Để chỉ thị
này có tác dụng bạn phải cấu hình OpenLDAP bằng lệnh enalbe-debug
(đây là giá trị mặc định) để chỉ thị này có tác dụng. Cấp độ log là có thể
tổng lại được (có nghĩa là ta có thể tổng hai cấp độ lại thành một). Để biết
một cấp độ tương ứng với một số nào thì ta có thể dùng lệnh đó với tham số
dấu hỏi (?) hoặc có thể tham khảo bảng sau.
Cấp độ

Tác dụng

-1 Tất cả các lỗi
0 Không debug
1 Theo dõi việc gọi hàm
2 Debug việc xử lý các gói (packet)
4 Theo dõi lỗi lớn
8 Kiểm soát kết nối
16 In ra các gói đã gởi và nhận
32 Quá trình xử lý tìm kiếm và lọc thông tin
64 Quá trình xử lý file cấu hình
128 Quá trình xử lý bảng danh sách truy cập
256 thống kê kết nối/vận hành/kết quả
512 Thống kê các mục đã gởi
1024 In các giao tiếp với Shell của phần phụ trợ
2048 In mục gây ra lỗi
Bảng 2.1 : Bảng các cấp độ của sửa lỗi (debug)
*



*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.1.5 loglevel<integer>


Trang
16
Ví dụ:
Loglevel -1
Lệnh này sẽ ghi lại thông tin của tất cả các lỗi.
Giá trị mặc định:

Loglevel 256
 objectclass<mô tả về lớp tối tượng> :
objectclass<RFC2252 Obiect Class Description>
Chỉ thị này định nghĩa một lớp đối tượng.
 referral <url>
Chỉ thị này xác định nơi chuyển tiếp khi mà slapd tìm lấy CSDL cục bộ
để xử lý một yêu cầu. Các máy khách LDAP thông minh có thể lập lại yêu
cầu của nó trên máy chủ, nhưng lưu ý rằng tất cả các máy clients này chỉ
biết xử lý các địa chỉ URL đơn giản.
Ví dụ: referral ldap://root.openldap.org
 sizelimit<số nguyên>
sizelimit<integer>
Chỉ thị này xác định số lượng mục tối đa mục tìm thấy khi ta thực thi một
lệnh tìm kiếm.
Giá trị mặc định: sizelimit 500
*



*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.1.6, objectclass<RFC2252 Object Class Description>
6.2.1.7 referral <url>
6.2.1.8, sizelimit<integer>




Trang
17


 timelimit<số nguyên>
timelimit<integer>
Giá trị mặc định: timelimit 3600
Chỉ thị này xác định thời gian tính bằng giây mà slapd cần để phản hồi
lại một yêu cầu tìm kiếm. Nếu một yêu cầu không được thực thi trong
khoảng thời gian này, thì sẽ hiện lên thông báo lỗi là đã vượt quá thời gian
quy định.
Chỉ thị phụ trợ.
Các chỉ thị của phần này được áp dụng cho các phụ trợ mà chúng định
nghĩa. Chúng được hỗ trợ bởi tất cả các loại phụ trợ. Các chỉ thị phụ trợ
áp dụng được cho tất cả các CSDL cùng loại và tùy theo từng loại chỉ thị
chúng có thể định nghĩa lại bởi chỉ thị CSDL
 backend <loại>
backend <type>

Chỉ thị này có tác dụng đánh dấu sự khai báo phụ trợ. <type> là một
trong các loại sau:




*



*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.1.9. timelimit<integer>
6.2.2.General Backend Directive

6.2.2.1.backend <type>


Trang
18

Loại Mô tả
dbd Phụ trợ kiểu giao dịch Berkeley DB
dnssrv Phụ trợ theo kiểu DNS server
Ldap phụ trợ Ldap
Ldbm phụ trợ DBM
Meta Phụ trợ kiểu Meta
minitor Phụ trợ theo dõi
passwd Cung cấp quyền truy cập chỉ đọc cho passwd
Perl Phụ trợ có thể lập trình theo ngôn ngữ Perl
Shell Phụ trợ Shell
Sql Phụ trợ có thể lập trình với ngôn ngữ Sql
Bảng 2.2 : Bảng CSDL phụ trợ
Ví dụ : backend bdb

Các chỉ thị về CSDL
Chỉ thị ở mục này chỉ áp dụng cho những CSDL mà nó định nghĩa. Chúng
được hỗ trợ bởi tất cả các loại CSDL.
 database <loại>
database <type>
Chỉ thị này có tác dụng đánh dấu sự khai báo về một thực thể CSDL.
<type> phải là một trong những loại có trong bảng CSDL phụ trợ.
Ví dụ: database bdb
*



*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.2.1.backend <type>
6.2.3. General Database Directives


Trang
19
 readonly {on | off}
Chỉ thị này có tác dụng khai báo CSDL ở chế độ chỉ đọc “read-only”.
Nếu CSDL đang ở chế độ này thì mội thao tác chỉnh sửa dữ liệu đều
không thực hiện được.
Giá trị mặc định của nó là
readonly off
 replica
replica host=<hostname>[:<port>]
replica host=<máy chủ>[:<cổng>]
[bindmethod={simple | kerberos| sasl}]
[bindmethod={kiểu đơn giản | kiểu Kerberos| kiểu sasl}]
[“binddn=<DN>”]
[“binddn=<tên riêng biệt DN>”]
[mech=<mech>]
[mech=<cơ chế>]
[authcid=<identity >]
[authcid=<số id >]
[authcid=<identity>]
[authzid=<số id>]
[credentials=<password>]
[credentials=<mật mã>]

[srvtab=<filename>]
[srvtab=<tên file>]
*


6.2.3.1. database <type>

*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.3.2 readonly {on | off}


Trang
20

Chỉ thị này xác định một bản sao cho CSDL này. Tham số host=
xác định một máy chủ và cổng (tham số này là tùy chọn) mà một trường
hợp (instance) của máy con slapd có thể được tìm thấy ở đó. Giá trị của
<máy chủ> (<hostname>)có thể là tên domain hoặc là địa chỉ IP. Nếu
xác định rõ cổng (<port>) thì cổng chuẩn của LDAP là cổng số 389.
Tham số binddn= cho biết DN để kết nối khi cập nhật một máy con
slapd. Nó phải là một DN có quyền đọc/ghi lên CSDL của máy con slapd
và thường có tên là rootdn trong file config của máy con. Tên này phải
trùng khớp với chỉ thị updatedn trong file config của máy con. Bởi vì tên
DN thường có khoảng trắng nên chúng thường đặt trong cặp ngoặc đôi
(“binddn=<DN>”).
Tham số phương thức kết nối bindmethod là một trong các kiểu sau:
simple, kiểu kerberos và kiểu sasl. Giá trị của tham số này tùy thuộc vào
kiểu chứng thực mật mã nào trong ba kiểu sau: kiểu chứng thực đơn giản
hay kiểu chứng thực kerberos hay kiểu chứng thực SASL được sử dụng

để kết nối đến máy con slapd.
Không nên sử dụng kiểu chứng thực đơn giản trừ khi các chính sách
về bảo mật riêng tư và tính nhất quán( ví dụ như TLS VÀ IPSEC ) được
sử dụng. Chế độ chứng thực đơn giản đòi hỏi phải khai báo tham số
binddn và credentials.
Kiểu chứng thực Kerberos, đặc biệt là KERBEROS_V4 bà GSSAPI,
không tương thích với cơ chế chứng thực SASL. Kiểu chứng thực
Kerberos đòi hỏi phải khai báo tham số binddn và tham số srvtab.
*


6.2.3.3. replica
*
Tài liệu viết phần này được lấy ở trang Web mục


Trang
21

Nên sử dụng kiểu chứng thực SASL. Kiểu chứng thực yêu cầu xác
định một cơ chế thực thông qua tham số mech. Dựa vào cơ chế này, sự
chứng thực và sự uỷ quyền sẽ được xác định bằng cách sử dụng hai tham
số authcid và credentials. Tham số authzid có thể được dùng để xác định
quyền.
 replogfile<tên file>
replogfile<filename>
Chỉ thị này sẽ xác định tên của file log (file log này ghi nhận lại các
quá trình tái bản CSDL) mà slapd sẽ dùng để ghi lại những thay đổi. File
log này thường được viết bởi slapd và được đọc bởi slurpd. Chỉ thị này
thường chỉ được sử nếu slurpd đang được vận hành để sao chép lại

CSDL. Tuy nhiên, bạn cũng có thể sử dụng chỉ thị này để tạo ra một file
log ghi nhận về các giao dịch, nếu slurpd không được vận hành. Trong
trường hợp này, bạn phải cắt bỏ file theo định kỳ bởi vì file này sẽ lớn lên
một cách không giới hạn.
 .rootdn<dn>
Chỉ thị này xác định tên riêng biệt DN mà không bị giới hạn về quyền
truy cập hoặc là các hạn chế về quản trị cho những thao tác trên CSDL
này. DN không nhất thiết phải tham chiếu đến một mục trong CSDL này
hoặc ngay cả trong thư mục. DN có thể tham chiếu đến một định danh
SASL.
Ví dụ theo kiểu mục:
rootdn “cn=Manager, dc=example, dc=com”

6.2.3.3. replica



Trang
22

*


Ví dụ theo kiểu SASL
rootdn “uid=root, cn=example.com, cn=digest-md5,cn=auth”
 rootpw<mật mã>
rootpw<password>

Chỉ thị này được dùng để xác định mật mã cho một DN của rootdn.
Ví dụ:

rootpw secret
Chỉ thị này cũng có thể được sử dụng để cho biết mã hoá mật mã. Lệnh
slappasswd dùng để mã hóa mật mã.
Ví dụ:
rootpw {SSHA} ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN
Đó là mã hoá của mật mã secret khi ta dùng lệnh
Slappasswd –s secret
 suffix <tên dn của hậu tố>
suffix <dn suffix>
Chỉ thị này xác định hậu tố DN của các truy vấn được chuyển sang
CSDL phụ trợ loại này. Chúng ta có thể định nghĩa nhiều tiền tố khác
nhau và ít nhất một hậu tố được áp dụng cho một định nghĩa CSDL.
Ví dụ: suffix “dc=example, dc=com”
Các truy vấn có hậu tố là “dc=example, dc=com” sẽ được chuyển cho
phụ trợ loại này (phụ trợ CSDL loại thông thường).
 updatedn<dn>

*
Tài liệu viết phần này được lấy ở trang Web mục
6.2.3.3. replica



Trang
23
Chỉ thị này chỉ được thực hiện ở máy slapd con. Nó xác định tên DN
mà cho phép tạo ra những thay đối với các bản sao.
Ví dụ theo kiểu mục:
updatedn “cn=Update Daemon, dc=example, dc=com”
Ví dụ theo kiểu SASL

updatedn“uid=slurpd,cn=example.com,cn=digest-md5, cn=auth”
 updateref <URL>
Chỉ thị này chỉ thực hiện được ở máy slapd con. Nó xác định địa chỉ
URL để trả về cho các máy khách mà đã gởi các yêu cầu cập nhật lên các
bản sao.
Ví dụ:
updateref ldap://master.example.com
.Các chỉ thị của CSDL kiểu BDB.
Các chỉ thị trong mục này được áp dụng đối với CSDL kiểu BDB. Các
chỉ thị loại này phải được khai báo đứng sau dòng “database bdb” và
đứng trước các khai báo tiếp theo của phụ trợ và CSDL.
 directory <thư mục>
directory <directory>

Chỉ thị này xác định thư mục chứa các file dữ liệu BDB và các chỉ
mục liên quan.
Giá trị mặc định của nó là
directory /usr/local/var/openldap-data
Các chỉ thị của CSDL kiểu LDBM.


Trang
24
Các chỉ thị trong mục này chỉ được áp dụng đối với CSDL kiểu
LDBM. Các chỉ thị này phải được khai báo sau dòng “database ldbm” và
trước các khai báo tiếp theo của phụ trợ và CSDL.
 cachesize <interger>
cachesize < số nguyên >
Chỉ thị này xác định số lượng mục trong bộ nhớ cache được duy trì
bởi thực thể phụ trợ CSDL kiểu LDBM.

Giá trị mặc định của nó là:
cachesize 1000
 dbcachesize <integer>
dbcachesize <số nguyên>

Chỉ thị này xác định kích thước dưới dạng byte liên quan đến một file
chỉ mục mở. Nếu nó không được hỗ trợ bởi phương thức CSDL ngầm thì
chỉ thị này sẽ không được biên dịch. Số lượng càng lớn thì dung lượng bộ
nhớ được sử dụng càng nhiều nhưng nó sẽ làm cho quá trình chỉnh sửa và
tạo các chỉ mục trở nên chậm hơn.
Giá trị mặc định của nó là 100000
dbcachesize 100000
 bdnolocking
Chỉ thị này có tác dụng vô hiệu hóa việc khoá CSDL. Nếu ta sử dụng
chỉ thị này thì tốc độ xử lý CSDL sẽ nhanh hơn điều này cũng đồng nghĩa
với việc là tính bảo mật của CSDL sẽ không được cao.
 dbnosync
Chỉ thị này có tác dụng đồng bộ hóa quá trình thay đổi dữ liệu được
lưu ở bộ nhớ cache và trên đĩa cứng. Nếu chỉ thị này được sử dụng thì tốc

×