Đặt vấn đề Việc phát triển mạnh mẽ của công nghệ cùng với tiến bộ xã hội làm nảy sinh nhu cầu sử dụng các nguồn lực công nghệ thông tin để nâng cao hiệu quả quản lí và làm việc. Công nghệ có thể giúp con người truy cập thông tin từ bất cứ nơi nào có thể truy cập mạng. Từ đó làm phát triển các công cụ giúp làm việc, trao đổi hay họp mặt trực truyến có thể truy cập và thao tác dễ dàng chỉ với một trình duyệt web hay thậm chí bằng một chiếc điện thoại di động. Học tập trực tuyến cũng là một trong số đó và ngày càng phổ biến.
Các trường Đại học ở nước ngoài và một số trường trong nước đã triển khai và đưa vào sử dụng các hệ thống Elearning để dạy học trực tuyến. Thậm chí một số trường Trung học, cũng có hệ thống Elearning của riêng họ. Ta còn có thể tìm thấy các trang Elearning của các hãng công nghệ, các tổ chức kinh doanh v. Tuy nhiên, sử dụng Elearning vẫn còn khá mới mẻ đối với sinh viên và cả giảng viên ở Việt Nam.
Xây dựng một hệ thống Elearning cho trường là điều cần thiết nhằm chuyên nghiệp hóa phong cách dạy và học, giúp cho sinh viên khả năng nắm bắt công nghệ tốt. Bên cạnh đó, sử dụng công nghệ thông tin trong trường đại học đòi hỏi việc phát triển một hệ thống mạng với nhiều dịch vụ như Email, FTP, Web, VPN và các công cụ quản lí và các cơ sở dữ liệu phục vụ v. Nếu phải sử dụng nhiều tên truy cập và mật khẩu khác nhau cho từng dịch vụ sẽ gây khó khăn cho người sử dụng đồng thời khó thống nhất, quản lí các cơ sở dữ liệu lại với nhau. Cũng như việc phát triển mạng nội bộ với nhiều thiết bị khác nhau, trên nhiều hệ điều hành đòi hỏi các hệ thống quản lí tập trung riêng biệt cho các hệ điều hành Linux, Solaris hay Windows, thậm chí cho các phòng ban riêng rẽ.
Chúng ta có thể phát triển một hệ thống quản lí tập trung lớn sử dụng LDAP và Active Directory (AD) cho các dịch vụ và thiết bị nói trên nhằm thống nhất tên truy cập và mật khẩu cho cùng một người dùng. Mục tiêu đề tài 1. Xây dựng hệ thống quản lí tập trung cho một trường đại học Hệ thống quản lí tập trung sử dụng chủ yếu dịch vụ LDAP trên máy chủ Linux dùng để chứng thực, quản lí người dùng cho các dịch vụ và AD trên máy chủ Windows Server cho các tài khoản sử dụng trên máy người dùng nội bộ. Luận Trang 2 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS.
Lưu Thanh Trà án cũng sẽ phát triển một trang web bằng PHP nhằm giúp người dùng quản lí thông tin truy cập của mình. Trang web còn giúp người quản trị thêm, xóa, và chỉnh sửa thông tin tài khoản của người dùng. Hình 1: Mô hình tổng quan hệ thống 1. Xây dựng hệ thống Elearning với Moodle Moodle là một trong những ứng dụng mã nguồn mở được xây dựng để phục vụ việc dạy và học trực tuyến.
Moodle được cộng đồng phát triển cùng với nhiều module khác nhau, hỗ trợ nhiều ngôn ngữ. Luận án xây dựng hệ thống Elearning sử dụng Moodle được xác thực người dùng qua hệ thống LDAP đã được xây dựng bên trên và cơ sở dữ liệu SQL để lưu trữ dữ liệu. Luận án cũng nghiên cứu triển khai thêm các module cho Moodle để đáp ứng các nhu cầu cơ bản. Trang 3 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS.
Lưu Thanh Trà Hình 2: Mô hình tổng quan Moodle Trang 4 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS. Lưu Thanh Trà PHẦN 2. TỔNG QUAN - LÍ THUYẾT Trang 5 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS. Các mô hình quản lí người dùng 2.
Mô hình quản lí người dùng đơn giản Hệ thống quản lí người dùng đơn giản được sử dụng trên một hoặc một nhóm máy, các máy thường được kết nối với nhau theo mô hình peer-to-peer. Đặc điểm của hệ thống này là thường phải cấu hình trên từng máy riêng lẻ. Người dùng xác thực bằng account riêng trên từng máy và các acount khác khi truy cập tài nguyên hệ thống. Việc quản lí thực sự không tập trung và rất khó khăn khi quản lí trong một hệ thống mạng lớn.
Sau đây là cách quản lí người dùng đơn giản bằng cách xác thực trực tiếp trên máy sử dụng hệ điều hành Windows và Linux: a. Quản lí người dùng trên máy sử dụng hệ điều hành Windows Đối với các máy sử dụng các hệ điều hành Windows người dùng sử dụng tên truy cập và mật khẩu được lưu và mã hóa trên file Security Accounts Manager (SAM) lưu trên từng máy. Quản lí người dùng trên máy sử dụng hệ điều hành Linux Linux sử dụng các file text để lưu lại các thông số, cấu hình, thông tin người dùng. Dữ liệu truy cập của người dùng được lưu lại ở các file /etc/passwd, /etc/shadow, trong đó file shadow chưa thông tin về mật khẩu đã được mã hóa.
Dữ liệu về các nhóm người dùng được lưu trong file /etc/group. Việc thay đổi, thêm, xóa thông tin người dùng có thể thực hiện dễ dàng bằng cách thao tác trực tiếp trên các file hoặc qua thao tác lệnh. Xác thực người dùng được thực hiện bằng thao tác đọc thông tin trong các file trên. Ta tham khảo một dòng trong file /etc/passwd: root:x:0:0:root:/root:/bin/bash dấu hai chấm phân cách các trường thông tin với nhau.
Trường thứ nhất lưu tên truy cập, trường thứ hai với dấu x cho biết thông tin mật khẩu đã được mã hóa và lưu trong file /etc/shadow, hai trường tiếp theo cho biết UserID và GroupID, trường kế tiếp là tên gọi của account, hai trường cuối cùng là Home directory và Login shell của tài khoản đó. Trang 6 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS. Hệ thống quản lí tập trung sử dụng Directory để chứng thực Hệ thống này là cách quản lí người dùng và thiết bị dưới dạng mô hình Domain có cấu trúc như sau: Hình 3: Mô hình Domain Bên dưới một Domain bao gồm các tập hợp quản lí (Organizational Unit-OU) dùng để quản lí các đối tượng người dùng và thiết bị (Object) theo nhóm với các chính sách khác nhau. Như vậy, ta có thể thấy lợi điểm của việc sử dụng mô hình này.
Các chính sách được đặt ra có thể được cấu hình dễ dàng theo từng nhóm người dùng và người dùng có thể truy cập và sử dụng tài nguyên tại nhiều nơi trên hệ thống mạng chỉ với một account duy nhất. Đòi hỏi một hoặc vài máy chủ đứng ra làm nơi xác thực và lưu trữ thông tin người dùng. Các dịch vụ được triển khai trong mạng có thể sử dụng những thông tin này mà không cần tạo mới như các hệ thống không có mô hình quản lí tập trung. Trang 7 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS.
Lưu Thanh Trà Hình 4: Hệ thống mạng dưới mô hình Domain Những hệ thống Directory thường thấy là LDAP trên các máy sử dụng các hệ điều hành Linux, Solaris v. và Active Directory dùng cho các máy sử dụng các hệ điều Windows. Trang 8 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS. Lightweight Directory Access Protocol (LDAP) LDAP là một giao thức cho phép truy xuất dữ liệu dưới dạng danh bạ (directory).
Được sử dụng nhiều cho việc xác thực các thiết bị, dịch vụ và ứng dụng như Email, Web, FTP v. LDAP thực sự hỗ trợ tốt cho việc tìm kiếm thông tin với cách lưu trữ theo dạng cây (Directory Information Tree). Việc này cho phép LDAP lưu trữ thông tin người dùng với số lượng account lớn. LDAP được xây dựng hướng tới các đối tượng (Object Class) và thuộc tính (Attribute) khác nhau được quy định trước.
Hiện nay LDAP đã được phát triển lên phiên bản 3. LDAP message Giao thức LDAP sử dụng các gói thông điệp (LDAPmessage) để trao đổi dữ liệu và thao tác. Máy chủ nhận được message yêu cầu tìm kiếm từ máy con, thực hiện xử lí và tìm kiếm, sau đó trả về cho máy con các thông điệp kết quả. Quá trình đó được thực hiện dựa theo các bước sau: − Máy con gửi yêu cầu kết nối TCP đến máy chủ LDAP.
− Máy chủ gửi trả về thông tin kết nối cho máy con. − Nếu nhận được kết quả thành công, máy con sẽ thực hiện thao tác ràng buộc (bind) với máy chủ bằng một tên của một mục (entry) trong cơ sở dữ liệu LDAP. Gửi kèm theo đó có thể là mật khẩu hoặc thông tin chứng thực. − Máy chủ gửi trả về cho máy con kết quả của thao tác ràng buộc.
− Máy con gửi đi các yêu cầu tìm kiếm cho máy chủ LDAP. − Máy chủ thực hiện tìm kiếm và trả về từng mục kết quả theo thứ tự cho máy con. − Máy chủ gửi trả về cho máy con thông điệp LDAPResult thông báo kết quả với resultCode và kết thúc việc tìm kiếm. − Máy con gửi yêu cầu hủy bỏ ràng buộc (unbind).
− Máy chủ thực hiện việc đóng kết nối và trả kết quả về cho máy con. Trang 9 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS. Lưu Thanh Trà LDAPmessage được đánh số ID để phân biệt các yêu cầu từ một kết nối. Việc này cho phép một máy con có thể gửi nhiều yêu cầu lên máy chủ trong một kết nối chừng nào các yêu cầu này không bị trùng với ID của yêu cầu chưa kết thúc trước đó.
Kết quả trả về cũng được đánh số ID để máy con phân biệt các kết quả được trả về. Cấu trúc cơ sở dữ liệu LDAP LDAP sử dụng cấu trúc dữ liệu theo kiểu X.500, với cấu trúc được xây dựng theo dạng cây thông tin (DIT) theo từng mục (entry). Mỗi mục đều phải có tên. Tên của một mục là một số giá trị thuộc tính của chính mục đó tạo thành nên một đối tượng duy nhất đối với các mục cùng lớp.
Tên này kết hợp với tên của các mục lớp trên kể từ gốc cây thông tin tạo thành dòng distinguished name (DN). DN là giá trị khóa của một mục, mang tính duy nhất trong toàn bộ cây danh bạ LDAP. Ví dụ: uid=071338, ou=sinhvien, ou=people, dc=hoasen, dc=edu, dc=vn Theo đó 071338 là tên của mục, là giá trị của thuộc tính uid. Qua dòng DN ở trên, ta thấy mục của sinh viên ở vị trí nào trong cây danh bạ LDAP: Hình 5: Vị trí của mục 071338 trong cơ sở dữ liệu LDAP Trang 10 Luận án: Xây dựng hệ thống Elearning với Moodle GVHD: TS.
Thuộc tính Thuộc tính (Attribute) là những giá trị tạo nên một mục của LDAP.