Ưu điểm & khuyết điểm của Linux: Linux là một Hệ điều hành mã nguồn mở nên chúng ta có thể tùy ý sửa chữa theo như mình thích tất nhiên là trong khả năng kiến thức của mỗi người.. Mặt k
Trang 1ĐỒ ÁN TỐT NGHIỆP
Tên đề tài:
QUẢN LÝ XÁC THỰC TẬP TRUNG VỚI DỊCH VỤ LDAP LINUX
Tp Hồ Chí Minh, Ngày 19 Tháng 10 Năm 2011
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 2
Trang 3
MỤC LỤC
LỜI CẢM ƠN 14
MỤC TIÊU ĐỀ TÀI 15
CHƯƠNG I: GIỚI THIỆU TỔNG QUAN 16
I Lịch sử phát triển của Linux: 16
II Ưu điểm & khuyết điểm của Linux: 17
1 Ưu điểm: 17
1.1 Kinh tế: 17
1.2 Linh hoạt, uyển chuyển: 17
1.3 Độ an toàn cao: 17
1.4 Thích hợp cho quản trị mạng: 18
2 Khuyết điểm: 19
2.1 Đòi hỏi người dùng phải thành thạo: 19
2.2 Tính tiêu chuẩn hóa: 19
2.3 Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế: 20
2.4 Phần cứng: 20
CHƯƠNG II: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX (CENTOS) 21
I Yêu cầu phần cứng: 21
II Đĩa cứng và phân vùng đĩa trong Linux: 21
III Quản lý ổ đĩa và partition trong Linux: 21
IV Các bước cài đặt hệ điều hành Linux: 23
1 Chọn phương thức cài đặt: 23
2 Chọn chế độ cài đặt: 23
3 Chọn ngôn ngữ hiển thị trong quá trình cài đặt: 24
4 Cấu hình bàn phím: 24
5 Chia partition: 25
6 Cài đặt chương trình Boot Loader: 26
7 Cấu hình mạng: 27
8 Cấu hình khu vực địa lý: 28
Trang 49 Đặt mật khẩu cho người quản trị: 29
10 Chọn loại cài đặt: 30
11 Tiến hành cài đặt hệ điều hành: 32
12 Sử dụng hệ điều hành: 33
CHƯƠNG III: GIỚI THIỆU CÁC DỊCH VỤ LIÊN QUAN 35
I Dịch vụ DNS (Domain Name System): 35
1 Giới thiệu: 35
2 Cách phân bổ dữ liệu quản lý domain name: 39
3 Phân giải thuận: 40
4 Phân giải nghịch: 40
5 Sự khác nhau giữa Zone và Domain: 41
6 Chứng nhận tên miền: 41
7 Phân loại Domain Name Server: 41
8 Sự ủy quyền (Delegation domain) 42
9 Resource record: 43
10 Giới thiệu phần mềm BIND: 45
II Dịch vụ FTP (File Transfer Protocol): 50
1 Giới thiệu: 50
2 Mô hình hoạt động: 50
3.Chương trình FTP Client: 53
4 Một số tập lệnh của FTP Client: 53
5 Cài đặt và cấu hình FTP: 55
III Dịch vụ Web: 58
1 Giới thiệu giao thức HTTP: 58
2 Web server và hoạt động: 60
3 Web client: 62
4 Web động: 62
5 Cài đặt và cấu hình Web server: 63
5.1 Giới thiệu phần mềm Apache: 63
Trang 55.2 Cài đặt Apache: 64
5.3 Thông tin cấu hình: 64
5.4 Cấu hình cơ bản: 64
5.5 Cấu hình chứng thực: 65
IV Dịch vụ Squid Proxy: 68
1 Giới thiệu Squid: 68
2 Những giao thức hổ trợ trên Squid: 69
3 Trao đổi cache: 70
4 Cài đặt và cấu hình Squid Proxy: 70
V Dịch vụ Mail Server: 74
1 Giới thiệu: 74
2 Hệ thống mail: 76
3 Các khái niệm: 78
4 Mail và DNS: 80
5 Phần mềm mail Postfix: 80
6 Phần mềm webmail: 81
VI Dịch vụ Samba: 82
1 Giới thiệu: 82
2 Cài đặt: 82
CHƯƠNG IV: CƠ SỞ LÝ THUYẾT LDAP 89
I Giới thiệu về LDAP: 89
1 Khái niệm cơ bản: 89
II Phương thức hoạt động của LDAP: 90
1 Một nghi thức client/sever: 90
2 LDAP Là một nghi thức hướng thông điệp: 90
3 Các thao tác của nghi thức LDAP: 92
4 Các thao tác mở rộng: 93
5 Mô hình kết nối Client – Server: 93
III Các mô hình LDAP: 94
Trang 61 LDAP Information Model: 94
2 LDAP Naming Model: 98
3 Mô hình LDAP Function: 103
4 Mô hình LDAP Security: 111
IV Sử dụng LDAP: 112
1 Ứng dụng xác thực dùng LDAP: 112
2 Một số ứng dụng sử dụng nghi thức LDAP: 112
CHƯƠNG V: TRIỂN KHAI HỆ THỐNG 114
I Phân tích hiện trạng hệ thống: 114
II Cài đặt và cấu hình Open LDAP Replication Multi Master: 116
1.Cài đặt: 116
1.1 Các gói cài đặt: 116
2.Các file cấu hình: 116
2.1 Cấu hình file /usr/local/etc/openldap/slapd.conf: 116
III Xây dựng Primary Domain Controller (Openldap with Samba): 121
1 Cài đặt: 121
1.1 Các gói cài đặt: 121
2 Các file cấu hình: 122
2.1 Cấu hình file /etc/openldap/slapd.conf: 122
2.2 Cấu hình file /etc/samba/smb.conf: 124
2.3 Tạo file script logon trong /var/lib/samba/netlogon/scripts 125
2.4 Cấu hình file /var/lib/samba/sbin/smbldap_tools.pm: 128
IV Xây dựng File-Server chứng thực LDAP (Samba): 130
1 Cài đặt: 130
1.1 Các gói cài đặt: 130
2 Các file cấu hình: 130
2.1 Cấu hình file /etc/samba/smb.conf: 130
2.2 Giám sát truy cập tài nguyên chia sẽ: 132
V Xây dựng Mail-Server chứng thực LDAP (Postfix): 133
Trang 71 Cài đặt: 133
1.1 Các gói cài đặt: 133
2 Các file cấu hình: 133
2.1 Cấu hình file /etc/postfix/main.cf: 133
2.2 Tạo file /etc/postfix/accountsmap.cf: 135
2.3 Tạo file /etc/postfix/ldap-aliases.cf: 135
2.4 Cấu hình file dovecot-ldap.conf: 135
2.5 Cấu hình file dovecot.conf: 135
3 Tạo mail và kiểm tra: 137
3.1 Tạo email account: 137
3.2 Kiểm tra gởi – nhận mail: 137
4 Cấu hình webmail: 139
4.1 Cấu hình file /etc/squirrelmail/config.php 139
4.2 Sử dụng webmail: 139
VI Xây dựng FTP-Server chứng thực LDAP (vsftpd): 140
1 Cài đặt: 140
1.1 Các gói cài đặt: 140
2 Các file cấu hình: 140
2.1 Cấu hình file /etc/pam.d/vsftpd (chứng thực ldap): 140
2.2 Cấu hình file /etc/vsftpd/ vsftpd.conf (cấu hình cơ bản): 141
3 Kiểm tra – sử dụng: 141
VII Xây dựng Web-Server chứng thực LDAP (apache): 142
1 Cài đặt: 142
1.1 Các gói cài đặt: 142
2 Các file cấu hình: 142
2.1 Cấu hình file /etc/httpd/conf/httpd.conf (chứng thực ldap): 142
3 Kiểm tra chứng thực truy cập: 144
VIII Xây dựng Proxy, Firewall, VPN Server (IPCOP):
145
Trang 81 Cài đặt: 145
1.1 Cài đặt IPCOP: 145
1.2 Các bước cài đặt: 145
1.3 Cấu hình Proxy Server: 158
1.4 Cấu hình firewall: 162
1.5 Cấu hình logs: 165
1.6 Cấu hình VPN Server: 170
CHƯƠNG VI: ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 176
I Kết quả thực hiện đề tài: 176
1 Yêu cầu đề tài: 176
2 Hướng phát triển đề tài: 176
II Tài liệu tham khảo: 176
III Các website: 176
DANH MỤC HÌNH Hình 1: Partition trong Linux 22
Hình 2: Chọn chế độ cài đặt 23
Hình 3: Chọn ngôn ngữ sử dụng 24
Hình 4: Chọn kiểu bàn phím 25
Hình 5: Chia partition 26
Hình 6: Cài Boot Loader 27
Hình 7: Cấu hình mạng 28
Hình 8: Cấu hình khu vực địa lý 29
Hình 9: Đặt mật khẩu cho người quản trị 29
Hình 10: Chọn loại cài đặt 30
Hình 11: Quá trình cài đặt hệ điều hành 32
Hình 12: Cài đặt hoàn tất 33
Hình 13: Cấu hình firewall 33
Hình 14: Cài đặt ngày giờ hệ thống 34
Trang 9Hình 15: Tạo user 34
Hình 16: Giao diện Desktop 35
Hình 17a: Cơ chế phân cấp DNS 37
Hình 17b: Cơ chế phân cấp DNS 38
Hình 18: Zone và Domain 41
Hình 19: Delegation Domain 43
Hình 20: File cấu hình zone thuận 49
Hình 21: File cấu hình zone nghịch 49
Hình 22: Sơ đồ kết nối active FTP 51
Hình 23: Sơ đồ kết nối passive FTP 53
Hình 20: Hoạt động của giao thức HTTP 60
Hình 21: Mô tả phát sinh web động từ chương trình CGI 63
Hình 22: Chứng thực Digest 67
Hình 22: Squid Proxy 69
Hình 23: Sơ đồ hệ thống mail 76
Hình 24: Hệ thống mail cục bộ 77
Hình 25: Hệ thống mail cục bộ có kết nối từ xa 78
Hình 26: Hệ thống mail hai Domain & một Gateway 78
Hình 27: Truy xuất samba swat 86
Hình 28: Đăng nhập samba thành công 86
Hình 29: Thao tác tìm kiếm cơ bản 91
Hình 30: Những thông điệp Client gửi cho Server 91
Hình 31: Nhiều kết quả tìm kiếm được trả về 92
Hình 32: Mô hình kết nối giữa client và server 94
Hình 33: Cây thư mục với các entry là các thành phần cơ bản 95
Hình 34: Cây thư mục LDAP 99
Hình 35: Hệ thống tập tin của UNIX 100
Hình 36: Một phần thư mục LDAP với các entry chứa thông tin 101
Hình 37: Ví dụ về relative distingguished name (RDN) 102
Trang 10Hình 38: LDAP với alias entry 103
Hình 39: Thao tác tìm kiếm với phạm vi base 105
Hình 40: Thao tác tìm kiếm với phạm vi onelevel 105
Hình 41: Thao tác tìm kiếm với phạm vi subtree 105
Hình 42: Xác thực dùng LDAP 112
Hình 43: Mô hình đơn giản lưu trữ 113
Hình 44: Dùng LDAP để quản lý thư 114
Hình 45: Khai báo schema 116
Hình 46: Khai báo tham số ldap 116
Hình 47: Định nghĩa database, tên phân giải, user quản trị, thư mục lưu trữ database 117
Hình 48: Khai báo các tham số đồng bộ ldap 117
Hình 49: Chỉ định logfile 117
Hình 50: Tạo các đối tượng cho ldap 118
Hình 51: Khai báo schema 118
Hình 52: Khai báo tham số ldap 118
Hình 53: Định nghĩa database, tên phân giải, user quản trị, thư mục lưu trữ database 118
Hình 54: Khai báo các tham số đồng bộ ldap 119
Hình 55: User u1 đã được đồng bộ sang ldap-svr2 120
Hình 56: User u2 đã được đồng bộ sang ldap-svr1 121
Hình 57: Khai báo samba.schema 122
Hình 58: Khai báo tham số ldap 122
Hình 59: Định nghĩa database, tên phân giải, user quản trị, thư mục lưu trữ database 123
Hình 60: Khai báo chỉ mục cho database 123
Hình 61: Phân quyền cho các đối tượng 124
Hình 62: Khai báo thông tin chứng thực bằng ldap 124
Hình 63: Khai báo tên Domain, kiểu chứng thực 124
Hình 64: Khai báo logfile, logsize, script tạo các đối tượng cho DC 124
Hình 65: Cấu hình logon script, kiểu chứng thực 125
Hình 66: Cấu hình netlogon, tạo Profiles cho user 125
Trang 11Hình 67: Nội dung file logon 128
Hình 68: Chỉ định đường dẫn file smbldap_bind.conf; smbldap.conf 128
Hình 69: Nhập các thông số cấu hình 128
Hình 70: Join Domain thành công 129
Hình 71: Client Windows XP đã được thêm vào Cơ sở dữ liệu LDAP 130
Hình 72: Các thư mục chia sẽ 131
Hình 73: Truy xuất file server từ client 132
Hình 74: Thông số samba swat 132
Hình 75: Giám sát chia sẽ tài nguyên 133
Hình 76: Chỉ định hostname, domain, origin, network 134
Hình 77: Khai báo virtual_alias_maps, virtual_mailbox_maps 134
Hình 78: Nội dung file accountsmap.cf 135
Hình 79: Nội dung file ldap-aliases.cf 135
Hình 80: Cấu hình file dovecot-ldap.conf 135
Hình 81: Cấu hình file dovecot.conf 136
Hình 82: Tạo email account 137
Hình 83: Cấu hình outlook express 138
Hình 84: Gởi – nhận mail thành công 139
Hình 85: Trang đăng nhập webmail 139
Hình 86: Giao diện webmail 140
Hình 87: Nội dung file /etc/pam.d/vsftpd 140
Hình 88: Cấu hình thông số ftp cơ bản 141
Hình 89: Truy cập FTP Server 142
Hình 90: Yêu cầu chứng thực khi truy cập vào trang /admin 143
Hình 91: Chứng thực truy cập 144
Hình 92: Chứng thực truy cập thành công 145
Hình 93: Chọn ngôn ngữ sử dụng 145
Hình 94: Chọn source cài đặt 146
Hình 95: Thông báo prepare harddisk 147
Trang 12Hình 96: Quá trình cài đặt bắt đầu 147
Hình 97: Cấu hình mạng 148
Hình 98: Thiết lập địa chỉ IP cho GREEN interface 148
Hình 99: Chọn kiểu bàn phím 149
Hình 100: Nhập hostname 149
Hình 101: Nhập Domain name 150
Hình 102: Cấu hình mạng 150
Hình 103: Chọn kiểu cấu hình mạng 151
Hình 104: Chỉ định drivers cho NIC 152
Hình 105: Thiết lập IP address 152
Hình 106: Đặt ip cho ORANGE interface 153
Hình 107: Đặt ip cho RED interface 153
Hình 108: Thiết lập DNS và Gateway 154
Hình 109: Chỉ định DNS và Gateway 154
Hình 110: Cấu hình DHCP Server 155
Hình 111: Đặt password cho user root 155
Hình 112: Đặt password cho user admin 156
Hình 113: Đặt password backup 157
Hình 114: Hoàn tất cài đặt 157
Hình 115: Giao diện quản trị firewall 158
Hình 116: Cấu hình Proxy Server 159
Hình 117: Khai báo thông số chứng thực LDAP 160
Hình 118: Chứng thực user truy cập web 161
Hình 119: Thiết lập rule puplic dịch vụ 162
Hình 120: Thiết lập rule DNZ zone 163
Hình 121: Thiết lập ping response 164
Hình 122: Thiết lập các thông số log 165
Hình 123: Proxy logs 166
Hình 124: Firewall logs 167
Trang 13Hình 125: IDS logs 168
Hình 126: URL Filter logs 169
Hình 127: Cấu hình VPN Server 170
Hình 128: Khai báo thông tin user 171
Hình 129: Download key chứng thực 172
Hình 130: Cài đặt OpenVPN client 173
Hình 131: Giải nén key xác thực 174
Hình 132: Kết nối VPN thành công 174
Hình 133: Truy cập mạng internal thành công 175
Trang 14LỜI CẢM ƠN
Để có thể hoàn tất được bài đồ án này, trước tiên phải kể đến công sức của thầy TRẦN VĂN
TÀI Nhóm chúng em kính gửi lời cảm ơn đến thầy đã tận tình hướng dẫn và giúp đỡ trong thời
gian thực hiện đồ án này
Nhóm chúng em xin chân thành cảm ơn các thầy cô khoa Công Nghệ Thông Tin Trường Cao Đẳng Nghề iSPACE đã truyền đạt những kiến thức, những kinh nghiệm quý báu cho chúng em trong quá trình học tập tại trường
Xin chân thành cảm ơn đến các bạn đã giúp đỡ tài liệu cũng như trao đổi học thuật mới có thể thực hiện đồ án này
Tp.Hồ Chí Minh, ngày 19 tháng 10 năm 2011
Học viên thực hiện
Dương Quốc Tuấn
Trần Huỳnh An Duy Trần Đoàn Kiến
Trang 15
MỤC TIÊU ĐỀ TÀI
Xây dựng hệ thống mạng chứng thực tập trung với OpenLDAP
Xây dựng hệ thống chứng thực tập trung cho các dịch vụ: mail, ftp, samba, web
Xây dựng hệ thống quản lí tập trung trên HDH Linux thay thế cho hệ thống MS Active Directory
Trang 16CHƯƠNG I: GIỚI THIỆU TỔNG QUAN
I Lịch sử phát triển của Linux:
Linux là một HDH dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào của Unix để tránh vấn đề bản quyền của Unix Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX Giữa các hệ thống Unix sự khác nhau cũng không kém gì giữa Unix và Linux
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix, một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một
hệ điều hành Unix chạy trên máy PC với bộ vi xử lý Intel 80386
Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của Internet
về dự định của mình về Linux
Tháng 01/1992, Linus cho ra version 0.12 với shell và C compiler Linus không cần Minix nữa để recompile HDH của mình Linus đặt tên HDH của mình là Linux
Năm 1994, phiên bản chính thức 1.0 được phát hành
Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU’s Not Unix), đó là chương trình phát triển các Unix có khả năng chạy trên nhiều platform Phiên bản mới nhất của Linux kernel là 2.6.25, có khả năng điều khiển các máy
đa bộ vi xử lý ( hiện tại Linux hỗ trợ máy tính có tối đa 16 CPUs) Linux kernel 2.6.25 cũng đồng thời nâng cấp hệ thống file Ext4 (phiên bản cũ là Ext3), giúp hỗ trợ dung lượng block lớn hơn - từ 4K lên 64K và rất nhiều các tính năng khác (có thể download tại (http://www.kernel.org)
Các phiên bản của Hệ điều hành Linux được xác định bởi hệ thống số dạng X.YY.ZZ Nếu YY là số chẵn phiên bản ổn định, YY là số lẻ phiên bản thử nghiệm
Trang 17II Ưu điểm & khuyết điểm của Linux:
Linux là một Hệ điều hành mã nguồn mở nên chúng ta có thể tùy ý sửa chữa theo như mình thích (tất nhiên là trong khả năng kiến thức của mỗi người) Chúng ta có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với mình nhất Mặt khác do Linux được một cộng đồng rất lớn những người làm phần mềm cùng phát triển trên các môi trường, hoàn cảnh khác nhau nên tìm một phiên bản phù hợp với yêu cầu của mỗi người sẽ không phải là một vấn đề quá khó khăn
Tính linh hoạt của Linux còn được thể hiện ở chỗ nó tương thích được với rất nhiều môi trường Hiện tại, ngoài Linux dành cho server, PC…nhân Linux (Linux kernel) còn được nhúng vào các thiết bị điều khiển như máy tính palm, robot… Phạm vi ứng dụng của Linux được xem là rất rộng rãi
1.3 Độ an toàn cao:
Trước hết, trong Linux có một cơ cấu phân quyền hết sức rõ ràng Chỉ có "root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống Ngoài ra Linux cũng có cơ chế để một người dùng bình thường có thể tạm thời chuyển sang quyền "root" để thực hiện một số thao tác Điều này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót dẫn đến đổ vỡ hệ thống (trong những
Trang 18phiên bản Windows gần đây, cơ chế phân quyền này cũng đã bước đầu được áp dụng, nhưng so với Linux thì vẫn kém chặt chẽ hơn)
Ngoài ra chính tính chất "mở" cũng tạo nên sự an toàn của Linux Nếu như một
lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng mã nguồn
mở cùng sửa và thường thì chỉ sau 24h sẽ có thể cho ra bản sửa lỗi Mặt khác đối với những Hệ điều hành mã nguồn đóng như Windows, chúng ta không thể biết được người ta viết gì, và viết ra sao mà chỉ biết được chúng chạy như thế nào Vì vậy nếu như Windows có chứa những đoạn mã cho phép tạo những "back door"
để xâm nhập vào hệ thống của chúng ta thì chúng ta cũng không thể biết được Đối với người dùng bình thường như chúng ta vấn đề này có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế này lại mang tính sống còn Các nhân viên an ninh không được phép để
lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan đến an ninh của cả một quốc gia Và một lần nữa các phần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số 1 Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành Điều đó cũng có nghĩa là độ an toàn được nâng cao
1.4 Thích hợp cho quản trị mạng:
Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điều hành mạng rất giá trị Nếu như Windows tỏ ra là một Hệ điều hành thích hợp với máy tính Desktop thì Linux lại là hệ điều hành thống trị đối với các Server Đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên tốt… Giao thức TCP/IP mà chúng ta vẫn thấy ngày nay chính là một giao thức truyền tin của Linux (sau này mới được đưa vào Windows)
1.5 Chạy thống nhất trên các hệ thống phần cứng:
Trang 19Dù cho có rất nhiều phiên bản Linux được các nhà phân phối khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ Intel 486 đến những máy Core 2 Duo, từ những máy có dung lượng RAM chỉ 4MB đến những máy có cấu hình cực mạnh (tất nhiên là tốc độ sẽ khác nhau nhưng về nguyên tắc vẫn có thể chạy được) Nguyên nhân là Linux được rất nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển (không như Windows chỉ do Microsoft phát triển) và chúng ta sẽ bắt gặp nhiều người có
"cùng cảnh ngộ" như mình và dễ dàng tìm được các driver tương ứng với thiết bị của mình Tính chất này hoàn toàn trái ngược với Windows Mỗi khi có một phiên bản Windows mới ra đời thì bao giờ kèm theo đó cũng là một cơn khát về phần cứng vì Hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ
2 Khuyết điểm:
Dù cho hiện nay Linux đang có tốc độ phát triển nhanh hơn hẳn Windows nhưng khách quan mà nói so với Windows, Linux vẫn chưa thể đến với người sử dụng cuối Đó là do Linux vẫn còn có những nhược điểm cố hữu:
2.1 Đòi hỏi người dùng phải thành thạo:
Trước kia việc sử dụng và cấu hình Linux được xem là một công việc chỉ dành cho những kĩ thuật viên CNTT Hầu như mọi công việc đều thực hiện trên các dòng lệnh và phải cấu hình nhờ sửa trực tiếp các file Mặc dù trong những phiên bản gần đây, các Hệ điều hành Linux đã có những cải tiến đáng kể, nhưng so với Windows tính thân thiện của Linux vẫn còn là một vấn đề lớn Đây là một trong những nguyên nhân chủ yếu khiến Linux mặc dù có rất nhiều đặc tính kỹ thuật tốt nhưng vẫn chưa đến được với người dùng cuối
2.2 Tính tiêu chuẩn hóa:
Linux được phát hành miễn phí nên bất cứ ai cũng có thể tự mình đóng gói, phân phối theo những cách riêng Hiện tại có khá nhiều bản Linux phát triển từ một
Trang 20nhân ban đầu cùng tồn tại như: RedHat, SuSE, Knoppix… Người dùng phải tự
so sánh xem bản nào là phù hợp với mình Điều này có thể gây khó khăn cho người dùng, nhất là những người còn có kiến thức về tin học hạn chế
2.3 Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế:
Mặc dù Windows có sản phẩm nào thì Linux cũng gần như có phần mềm tương
tự, (VD: OpenOffice trên Linux tương tự như MSOffice, hay GIMP tương tự như Photoshopv v ) Tuy nhiên chất lượng những sản phẩm này là chưa thể so sánh được với các sản phẩm viết cho Windows
2.4 Phần cứng:
Một số nhà sản xuất phần cứng không có driver hỗ trợ Linux: Do hiện nay Linux chưa phổ biến bằng Windows nên nhiều nhà sản xuất không hỗ trợ các driver chạy trên Linux Tuy nhiên chúng ta vẫn có thể tìm thấy các driver này trên internet do cộng đồng mã nguồn mở viết
Trên cơ sở nhìn nhận một cách khách quan các ưu, nhược điểm của Hệ điều hành Linux cũng như xem xét xu hướng phát triển tin học ở nước ta có thể thấy: Đối với người dùng thông thường việc chuyển từ Windows sang Linux trong ngày một ngày hai là chưa thể Tuy nhiên đối với những người làm tin học, đặc biệt là đối với sinh viên, việc tìm hiểu và nghiên cứu Linux và phần mềm mã nguồn mở là một điều kiện rất tốt để nâng cao hiểu biết của mình Linux dẫu sao vẫn là một hệ điều hành rất có giá trị: chi phí thấp, linh hoạt, ổn đinh, và bảo mật cao
Trang 21CHƯƠNG II: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX (CENTOS)
I Yêu cầu phần cứng:
Linux không đòi hỏi máy có cấu hình mạnh Tuy nhiên nếu phần cứng có cấu hình thấp quá thì có thể không chạy được Xwindow hay các ứng dụng có sẳn Cấu hình tối thiểu nên dùng:
CPU: Pentium 3 trở lên
RAM: 64 MB trở lên cho text mode, 192 MB cho mode Graphics
Đĩa cứng: Dung lượng đĩa phụ thuộc vào loại cài đặt:
Custom Instalation (minimum): 520MB
Server (minimum): 870 MB
Personal Desktop: 1.9 GB
Custom Instalation (everything): 5.3 GB
2M cho cardd màn hình nếu muốn sử dụng mode cho đồ họa
II Đĩa cứng và phân vùng đĩa trong Linux:
Đĩa cứng được phân ra nhiều vùng khác nhau gọi là Partion Mỗi partion sử dụng một
hệ thống tập tin và dữ liệu lưu trữ dữ liệu Mỗi đĩa chúng ta chỉ chia được tối đa 4 partion chính (primary) Giới hạn như vậy là do Master Boot Record của đĩa chỉ ghi tối
đa 4 chỉ mục tới 4 partion
Để tạo nhiều partion lưu trữ dữ liệu (hơn 4) người ta dùng partion mở rộng (extended pariton) Thực ra partion mở rộng cũng là primary partition nhưng cho phép tạo ra các partition con được gọi là logical partition trong nó
III Quản lý ổ đĩa và partition trong Linux:
Linux sử dụng cơ chế truy xuất ổ đĩa thông qua tập tin Mỗi ổ đĩa được gán với một tập tin trong thư mục /dev/ Ký hiệu ổ đĩa fd cho ổ mềm, hd cho ổ cứng, sd dành cho ổ SCSI Ký tự a, b, c … gắn thêm vào để xác định các ổ đĩa khác nhau cùng loại
Trang 22Ký tự mô tả ổ đĩa Các thiết bị lưu trữ (Physical block devices)
Bảng ký tự mô tả ổ đĩa
Ví dụ: Ổ cứng thứ nhất hda, ổ cứng thứ 2 hdb … xác định các parttion trong ổ đĩa người ta dùng các số đi kèm Theo qui định partition chính và mở rộng được gán số 1 -
4 Các logical partition được gán các giá trị từ 5 trở đi
Hình 1: Partition trong Linux
Như hình vẽ trên là các partition của ổ cứng thứ nhất hda: có 2 partition chính ký hiệu
là hda1 và hda2, một partition mở rộng là hda3 Trong partition mở rộng hda3 có 2 partition logic có ký hiệu là hda6 và hda5
Trong Linux bắt buộc phải có tối thiểu 2 partition sau:
Partition chính chứa thư mục gốc (/) và hạt nhân (gọi là Linux Native partition) Partition swap được dùng làm không gian hoán đổi dữ liệu khi vùng nhớ chính được
sử dụng hết Kích thước của phần swap sử dụng tùy thuộc hệ thống mình sử dụng nhiều hay ít ứng dụng Thông thường thì kích thước vùng swap bằng kích thước bộ nhớ chính
Trang 23IV Các bước cài đặt hệ điều hành Linux:
1 Chọn phương thức cài đặt:
CD-ROM: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot Đĩa cứng: Cần sử dụng đĩa mềm boot (dùng lệnh dd hoặc mkbootdisk để tạo đĩa mềm boot)
NFS image: Sử dụng đĩa khởi động mạng Kết nối tới NFS server
FTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối FTP
HTTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối HTTP
2 Chọn chế độ cài đặt:
Khi chương trình cài đặt khởi động sẽ hiển thị màn hình:
Hình 2: Chọn chế độ cài đặt
Chúng ta có thể chọn các chế độ:
Trang 24Linux text: Chương trình cài đặt hệ điều hành dưới chế độ text (text mode) [ENTER]: Chương trình cài đặt hệ điều hành dưới chế độ đồ họa (Graphical mode)
3 Chọn ngôn ngữ hiển thị trong quá trình cài đặt:
Mặc định trong bước này hệ thống sẽ chọn English làm ngôn ngữ chính hiển thị trong quá trình cài đặt Thông thường trong bước này ta sẽ chấp nhận phương thức chọn mặc định của hệ thống, tiếp tục chọn Next để sang trang kế tiếp
Hình 3: Chọn ngôn ngữ sử dụng
4 Cấu hình bàn phím:
Chọn loại bàn phím thích hợp Next
Trang 25Create custom layout: Chia partition theo tùy chọn của người dùng (manually) Tùy theo từng yêu cầu mà chúng ta chọn các cách chia partition cho phù hợp, sau đó chọn Next
Trang 26Hình 5: Chia partition
6 Cài đặt chương trình Boot Loader:
Boot Loader là chương trình cho phép chúng ta chọn các hệ điều hành để khởi động qua menu Khi chúng ta chọn, thì chúng xác định các tập tin cần thiết để khởi động
hệ điều hành và giao quyền điều khiển lại cho hệ điều hành Boot Loader có thể được cài vào Master Boot record hoặc vào sector đầu tiên của partition
Linux cho phép chúng ta sử dựng chương trình Boot Loader là GRUB hoặc LILO
Cả hai Boot Loader đều có thể hổ trợ quản lý nhiều hệ điều hành trên một hệ thống:
Chúng ta chọn cài Boot Loader vào Master Boot Record (MBR) khi chưa có chương trình Boot Loader nào (ví dụ như của Windows) được cài, hoặc chúng
ta chắc chắn chương trình Boot Loader của mình có thể khởi động được các hệ
Trang 27điều hành khác trong máy Khi cài lên MBR thì các chương trình Boot Loader trước đó sẽ bị thay thế bằng Boot Loader mới
Chúng ta không cài chương trình Boot Loader, khi đó cần phải sử dụng đĩa mềm boot để khởi động hệ điều hành
Ta có thể đặt mật khẩu cho boot loader thông qua tùy chọn User a boot loader password và nhấn nút Change password
Hình 6: Cài Boot Loader
7 Cấu hình mạng:
Mặc định hệ thống cấu hình mạng DHCP, để cấu hình địa chỉ IP cụ thể chúng ta nhập những thông số cấu hình mạng bằng cách Click nút Edit
IP Address: Chỉ định địa chỉ IP cho máy
Prefix (Netmask): Chỉ định netmask cho máy
Active on boot: Card mạng được kích hoạt khi hệ điều hành khởi động
Trang 28Hostname: Nếu chúng ta có tên dns đầy đủ thì khai báo tên đầy đủ Trong trường hợp không kết nối vào mạng chúng ta cũng đặt tên cho máy thông qua mục chọn manually Nếu không tên nào được điền vào thì giá trị mặc nhiên sử dụng là localhost
Miscellaneous Settings: Để chỉ định địa chỉ Gateway và Primary DNS, và một
số thông số khác Các trường không có giá trị thì trường đó không được sử dụng trong hệ thống
Hình 7: Cấu hình mạng
8 Cấu hình khu vực địa lý:
Các vị trí chia theo châu lục Ở Việt Nam là Asia/Ho_Chi_Minh, ta có thể chọn mục này một cách dễ dàng thông qua việc định vị chuột tại đúng vị trí trên bảng đồ Next
Trang 29Hình 8: Cấu hình khu vực địa lý
9 Đặt mật khẩu cho người quản trị:
Trên Linux người quản trị thường được gọi là người root Mật khẩu của user root bắt buộc có chiều dài tối thiểu của password là 6 ký tự Chúng ta nên đặt password gồm có ký tự, số và các ký tự đặc biệt để bảo đảm an toàn Lưu ý password phân biệt chữ hoa và thường Next
Hình 9: Đặt mật khẩu cho người quản trị
Trang 3211 Tiến hành cài đặt hệ điều hành:
Sau khi thiết lập các thông số, chương trình sẽ tiến hành cài đặt hệ điều hành
Hình 11: Quá trình cài đặt hệ điều hành
Sau khi quá trình cài đặt hoàn tất, hệ thống yêu cầu reboot
Trang 33Hình 13: Cấu hình firewall
Tùy chỉnh ngày, giờ hệ thống:
Trang 34Hình 14: Cài đặt ngày giờ hệ thống
Tạo user đăng nhập:
Hình 15: Tạo user
Hoàn tất, đăng nhập và sử dụng:
Trang 35Hình 16: Giao diện Desktop
CHƯƠNG III: GIỚI THIỆU CÁC DỊCH VỤ LIÊN QUAN
I Dịch vụ DNS (Domain Name System):
1 Giới thiệu:
Mỗi máy tính trong mạng muốn liên lạc hay trao đổi thông tin, dữ liệu cho nhau cần phải biết rõ địa chỉ IP của nhau Nếu số lượng máy tính nhiều thì việc nhớ những địa chỉ IP này là rất khó khăn
Mỗi máy tính ngoài địa chỉ IP ra còn có một tên máy còn gọi là Computer name Đối với con người việc nhớ tên máy dù sao cũng dễ dàng hơn vì chúng có tính trực quan và gợi nhớ hơn địa chỉ IP Vì thế người ta nghĩ ra cách làm sao ánh xạ địa chỉ
IP thành tên máy tính
Ban đầu do quy mô mạng ARPAnet (tiền than của mạng Internet) còn nhỏ (chỉ vài trăm máy), nên chỉ có một tập tin đơn HOSTS.TXT lưu thong tin về ánh xạ tên máy tính thành địa chỉ IP Trong đó tên máy chỉ là một chuỗi văn bản không phân cấp (flat name) Tập tin này được duy trì tại một máy chủ và các máy chủ khác lưu giữ bản sao của nó Tuy nhiên khi quy mô mạng lớn hơn, việc sử dụng tập tin HOSTS.TXT có các nhược điểm sau:
Lưu lượng mạng và máy chủ duy trì tập tin HOSTS.TXT bị quá tải do hiệu ứng
“cổ chai”
Xung đột tên vì không thể có hai máy tính cùng tên trong tập tin HOSTS.TXT Tuy nhiên do tên máy không phân cấp và không có gì bảo đảm để ngăn chặn
Trang 36việc tạo hai tên trùng nhau vì không có cơ chế ủy quyền quản lý tập tin nên có nguy cơ bị xung đột tên
Không đảm bảo sự toàn vẹn: việc duy trì một tập tin trên mạng lớn rất khó khăn Ví dụ như khi tập tin HOSTS.TXT vừa cập nhật chưa kịp chuyển đến máy chủ ở xa thì đã có sự thay đổi địa chỉ trên mạng
Tóm lại việc dùng tập tin HOSTS.TXT không phù hợp cho mạng lớn vì thiếu cơ chế phân tán và mở rộng Do đó, dịch vụ DNS ra đời nhằm khắc phục các nhược điểm này Người thiết kế cấu trúc của dịch vụ DNS là Paul Mockapetris – USC’s Information Sciences Institute, và các khuyến nghị RFC của DNS RFC 882 và 883, sau đó được bổ sung của RFC 1034, 1035
Dịch vụ DNS hoạt động theo mô hình Client-Server: Phần Server gọi là máy chủ phục vụ tên hay còn gọi là Nameserver, còn phần Client là chương trình yêu cầu phân giải tên hay còn gọi là Resolver Nameserver chứa các thông tin CSDL của DNS, còn Resolver đơn giản chỉ là các hàm thư viện dùng để tạo các truy vấn (query) và gửi chúng qua đến Nameserver
DNS là một CSDL phân tán Điều này cho phép người quản trị cục bộ quản lý phần
dữ liệu nội bộ thuộc phạm vi của họ, đồng thời dữ liệu này cũng dễ dàng truy cập được trên toàn bộ hệ thống mạng theo mô hình Client-Server Hiệu suất sử dụng dịch vụ được tăng cường thông qua cơ chế nhân bản (replication) và lưu tạm (caching) Một hostname trong domain là sự kết hợp giữa những từ phân cách nhau bởi dấu “.” Ví dụ: hostname là server.thanhlong.com, trong đó server là tên máy và thanhlong.com là tên vùng Domain name phân bổ theo cơ chế phân cấp tương tự như sự phân cấp của hệ thống tập tin Unix/Linux
Trang 37Hình 17a: Cơ chế phân cấp DNS
Trang 38Cơ sở dữ liệu (CSDL) của DNS là một cây đảo ngược Mỗi nút trên cây cũng là gốc của 1 cây con Mỗi cây con là một phân vùng con trong toàn bộ CSDL DNS gọi là 1 miền (domain) Mỗi domain có thể phân chia thành các phân vùng con nhỏ hơn gọi
là các miền con (subdomain)
Mỗi domain có 1 tên (domain name) Tên domain chỉ ra vị trí của nó trong CSDL DNS Trong DNS tên miền là chuỗi tuần tự các tên nhãn tại nút đó đi ngược lên nút gốc của cây và phân cách nhau bởi dấu chấm Tên nhãn bên phải trong mỗi domain name được gọi là top-level domain
Hình 17b: Cơ chế phân cấp DNS
.com Các tổ chức, công ty thương mại org Các tổ chức phi lợi nhuận net Các trung tâm hổ trợ về mạng edu Các tổ chức giáo dục
Trang 39.gov Các tổ chức thuộc chính phủ mil Các tổ chức quân sự
.int Các tổ chức được thành lập bởi các hiệp ước quốc tế
Vì sự quá tải của những domain name đã tồn tại, do đó đã làm phát sinh những level domain mới
.arts Những tổ chức liên quan đến nghệ thuật và kiến trúc nom Những địa chỉ cá nhân và gia đình
.rec Những tổ chức có tính chất giải trí, thể thao firm Những tổ chức kinh doanh, thương mại info Những dịch vụ liên quan đến thông tin Bên cạnh đó, mỗi nước cũng có một top-level domain Ví dụ top-level domain của Việt Nam là vn, Mỹ là us, … Mỗi quốc gia khác nhau có cơ chế tổ chức phân cấp domain khác nhau
2 Cách phân bổ dữ liệu quản lý domain name:
Những root nameserver (.) quản lý những top-level domain trên internet Tên máy
và địa chỉ IP của những nameserver này được công bố cho mọi người biết, chúng được liệt kê trong bảng sau:
a.root-servers.net 198.41.0.4 b.root-servers.net 128.9.0.107 c.root-servers.net 192.33.4.12 d.root-servers.net 128.8.10.90 e.root-servers.net 192.203.230.10 f.root-servers.net 192.5.5.241 g.root-servers.net 192.112.36.4 h.root-servers.net 128.63.2.53 i.root-servers.net 192.36.148.17
Trang 40j.root-servers.net 192.58.128.30 k.root-servers.net 193.0.14.129 l.root-servers.net 198.32.64.12 m.root-servers.net 202.12.27.33 Thông thường một tổ chức được đăng ký một hay nhiều domain name Sau đó, mỗi
tổ chức sẽ cài đặt một hay nhiều nameserver và duy trì cơ sở dữ liệu cho tất cả những máy tính trong domain Những nameserver của tổ chức được đăng ký trên internet Một trong những nameserver này được biết như là Primary Server Nhiều Secondary Name Server được dung để làm backup cho Primary Name Server Trong trường hợp Primary bị lỗi, Secondary được sử dụng để phân giải tên miền Primary Name Server có thể tạo ra những subdomain và ủy quyền những subdomain này cho những nameserver khác
3 Phân giải thuận:
Vai trò của Root Name Server: là máy chủ quản lý các name server ở mức top-level domain
Khi có truy vấn về một tên miền nào đó thì root name server phải cung cấp tên và địa chỉ IP của name server quản lý top-level domain mà tên miền này thuộc vào
Có hai loại truy vấn:
Truy vấn đệ quy: bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi nếu như truy vấn này không phân giải được
Truy vấn tương tác: trả lời cho resolver thông tin tốt nhất mà nó có được vào thời điểm lúc đó