Hướng dẫn giảng dạy CHương trình kỹ thuật viên ngành mạng & phần cứng - Học phần IV: Quản trị mạng linux - Đại học Khoa học tự nhiên TP Hồ Chí Minh

pdf 271 trang Hùng Dũng 04/01/2024 1370
Bạn đang xem 20 trang mẫu của tài liệu "Hướng dẫn giảng dạy CHương trình kỹ thuật viên ngành mạng & phần cứng - Học phần IV: Quản trị mạng linux - Đại học Khoa học tự nhiên TP Hồ Chí Minh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfhuong_dan_giang_day_chuong_trinh_ky_thuat_vien_nganh_mang_ph.pdf

Nội dung text: Hướng dẫn giảng dạy CHương trình kỹ thuật viên ngành mạng & phần cứng - Học phần IV: Quản trị mạng linux - Đại học Khoa học tự nhiên TP Hồ Chí Minh

  1. TRUNG TÂM TIN HỌC - ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM 227 Nguyễn Văn Cừ - Quận 5 – TP. Hồ Chí Minh Tel: 8351056 – Fax 8324466 – Email: ttth@hcmuns.edu.vn HƯỚNG DẪN GIẢNG DẠY CHƯƠNG TRÌNH KỸ THUẬT VIÊN Ngành MẠNG & PHẦN CỨNG Học phần IV CHỨNG CHỈ QUẢN TRỊ MẠNG LINUX Mã tài liệu: DT_NCM_MG_HDGD_QTMLX Phiên bản 1.2 – Tháng 4/2006
  2. Hướng dẫn giảng dạy MỤC LỤC MỤC LỤC 2 MỤC TIÊU 11 ĐỐI TƯỢNG HỌC VIÊN 11 PHÂN BỐ BÀI GIẢNG 11 BÀI 1 Giới Thiệu Hệ Điều Hành Linux 13 Tóm tắt 13 I. Vài dòng lịch sử về Linux 14 II. Lịch sử phát triển của Linux 15 III. Những ưu điểm của Linux 16 III.1. Khả năng tương thích với các hệ mở 16 III.2. Hỗ trợ ứng dụng 16 III.3. Lợi ích cho giới chuyên nghiệp điện toán 16 IV. Khuyết điểm của Linux 16 IV.1. Hỗ trợ kỹ thuật 16 IV.2. phần cứng 17 V. Kiến trúc của hệ điều hành Linux 17 V.1. Hạt nhân (Kernel) 17 V.2. Shell 18 V.3. Các tiện ích 18 V.4. Chương trình ứng dụng 18 VI. Các đặc tính cơ bản của Linux 18 VI.1. Đa tiến trình 18 VI.2. Tốc độ cao 18 VI.3. Bộ nhớ ảo 19 VI.4. Sử dụng chung thư viện 19 VI.5. Sử dụng các chương trình xử lý văn bản 19 VI.6. Sử dụng giao diện cửa sổ 19 VI.7. Network Information Service (NIS) 19 VI.8. Lập lịch hoạt động chương trình, ứng dụng 19 VI.9. Các tiện ích sao lưu dữ liệu 20 VI.10. Hỗ trợ nhiều ngôn ngữ lập trình. 20 BÀI 2 Cài Đặt Hệ Điều Hành Linux 21 Tóm tắt 21 I. Yêu cầu phần cứng 22 II. Đĩa cứng và phân vùng đĩa trong Linux 22 III. Quản lý ổ đĩa và partition trong Linux 22 IV. Khởi động chương trình cài đặt 23 IV.1. Boot từ CD-ROM 23 IV.2. Boot từ đĩa khởi động Windows 23 IV.3. Boot từ đĩa mềm khởi động Linux 23 V. Các bước cài đặt hệ điều hành Linux 24 V.1. Chọn phương thức cài đặt 24 V.2. Chọn chế độ cài đặt 24 V.3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt 24 V.4. Cấu hình bàn phím 25 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 2/271
  3. Hướng dẫn giảng dạy V.5. Chọn cấu hình mouse 25 V.6. Lựa chọn loại màn hình 25 V.7. Lựa chọn loại cài đặt 26 V.8. Chia Partition 27 V.9. Lựa chọn Automatically partition 27 V.10. Chia Partition bằng Disk Druid 28 V.11. Cài đặt chương trình Boot Loader 29 V.12. Cấu hình mạng 30 V.13. Cấu hình Firewall 31 V.14. Chọn ngôn ngữ hỗ trợ trong Linux 31 V.15. Cấu hình khu vực địa lý của hệ thống 31 V.16. Đặt mật khẩu cho người quản trị 32 V.17. Cấu hình chứng thực 32 V.18. Chọn các chương trình và Package cài đặt 33 V.19. Định dạng filesystem và tiến hành cài đặt 34 VI. Cấu hình thiết bị 34 VI.1. Bộ nhớ (RAM) 34 VI.2. Vị trí lưu trữ tài nguyên 34 VI.3. Hỗ trợ USB 35 VI.4. Network Card 35 VI.5. Cài đặt modem 35 VI.6. Cài đặt và cấu hình máy in 36 VII. Sử dụng hệ thống 37 VII.1. Đăng nhập 37 VII.2. Một số lệnh cơ bản 38 VII.3. Sử dụng trợ giúp man 38 VIII. Khởi động hệ thống 39 VIII.1. Các bước khởi động hệ thống: 39 IX. Shutdown và Reboot hệ thống 41 X. Sử dụng runlevel 41 XI. Phục hồi mật khẩu cho user quản trị 41 XII. Tìm hiểu boot loader 42 XII.1. GRUB boot loader 42 XII.2. LILO boot loader 44 BÀI 3 Hệ Thống Tập Tin 46 Tóm tắt 46 I. Cấu trúc hệ thống tập tin 47 I.1. Loại tập tin 48 I.2. Liên kết tập tin 48 II. Cấu trúc cây thư mục 49 III. Các thao tác trên hệ thống tập tin và đĩa 51 III.1. Mount và umount một hệ thống tập tin 51 III.2. Định dạng filesystem 53 III.3. Quản lý dung lượng đĩa 53 III.4. Duy trì hệ thống tập tin với lệnh fsck 54 IV. Các thao tác trên tập tin và thư mục 54 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 3/271
  4. Hướng dẫn giảng dạy IV.1. Thao tác trên thư mục 54 IV.2. Tập tin 56 IV.3. Các tập tin chuẩn trong Linux 58 IV.4. Đường ống (Pipe) 60 IV.5. Lệnh tee 60 V. Lưu trữ tập tin/thư mục 60 V.1. Lệnh gzip/gunzip 60 V.2. Lệnh tar 60 VI. Bảo mật hệ thống tập tin 61 VI.1. Quyền hạn 61 VI.2. Lệnh chmd, chown, chgrp 63 Bài 4 Cài Đặt Phần Mềm 65 Tóm tắt 65 I. Chương trình RPM 66 II. Đặc tính của RPM 66 III. Lệnh rpm 66 III.1. Cài đặt phần mềm bằng rpm 66 III.2. Loại bỏ phần mềm đã cài đặt trong hệ thống 67 III.3. Nâng cấp phần mềm 68 III.4. Truy vấn các phần mềm 68 III.5. Kiểm tra các tập tin đã cài đặt 69 III.6. Cài đặt phần mềm file nguồn *.tar, *.tgz 69 Bài 5 Giới Thiệu Các Trình Tiện Ích 71 Tóm tắt 71 I. Trình soạn thảo vi 72 I.1. Một số hàm lệnh của vi 72 I.2. Chuyển chế độ lệnh sang chế độ soạn thảo 72 I.3. Chuyển chế độ soạn thảo sang chế độ lệnh 72 II. Trình tiện tích mail 74 III. Tiện ích tạo đĩa mềm boot 75 IV. Trình tiện ích setup 75 V. Trình tiện ích fdisk 76 VI. Trình tiện ích iptraf 77 VII. Trình tiện ích lynx 77 VIII. Trình tiện ích mc 78 Bài 6 Quản Trị Người Dùng Và Nhóm 79 Tóm tắt 79 I. Superuser 80 II. Thông tin của User 80 II.1. Tập tin /etc/passwd 80 II.2. Username và UserID 81 II.3. Mật khẩu người dùng 82 II.4. Group ID 82 II.5. Home directory 82 III. Quản lý người dùng 82 III.1. Tạo tài khoản người dùng 82 III.2. Thay đổi thông tin của tài khoản 83 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 4/271
  5. Hướng dẫn giảng dạy III.3. Tạm khóa tài khoản người dùng 84 III.4. Hủy tài khoản 84 IV. Nhóm người dùng 84 IV.1. Tạo nhóm 84 IV.2. Thêm người dùng vào nhóm 84 IV.3. Hủy nhóm 85 IV.4. Xem thông tin về user và group 85 BÀI 7 Quản Lý Tài Nguyên Đĩa Cứng 86 Tóm tắt 86 I. Giới thiệu QUOTA 87 II. Thiết lập Quota 87 II.1. Chỉnh sửa tập tin /etc/fstab 87 II.2. Thực hiện quotacheck 88 II.3. Phân bổ quota 88 III. Kiểm tra và thống kê hạn nghạch 89 IV. Thay đổi Grace Periods 89 BÀI 08 Cấu Hình Mạng 90 Tóm tắt 90 I. Đặt tên máy 91 II. Cấu hình địa chỉ IP cho NIC 91 II.1. Xem địa chỉ IP 91 II.2. Thay đổi địa chỉ IP 91 II.3. Tạo nhiều địa chỉ IP trên card mạng 92 II.4. Lệnh netstat 93 III. Thay đổi default gateway 94 III.1. Mô tả đường đi (route) thông qua script file 94 III.2. Xóa route trong bảng định tuyến 95 IV. Truy cập từ xa 95 IV.1. xinetd 95 IV.2. Tập tin /etc/services 96 IV.3. Khởi động xinetd 97 V. Telnet 97 V.1. Khái niệm telnet 97 V.2. Cài đặt 97 V.3. Cấu hình 98 V.4. Bảo mật dịch vụ telnet 99 VI. Secure Remote Access – SSH (Secure Shell) 100 VI.1. Cài đặt SSH Server trên Server Linux 100 VI.2. Sử dụng SSH Client trên Linux 100 VI.3. Quản trị hệ thống Linux thông qua SSH client for Windows: 100 VII. Dynamic Host Configuration Protocol 101 VII.1. Một số đặc điểm cần lưu ý trên DHCP Server 101 VII.2. Ưu điểm của việc sử dụng DHCP 101 VII.3. Cấu hình DHCP Server 101 VII.4. Khởi động dịch vụ DHCP: 102 BÀI 9 SAMBA 103 Tóm tắt 103 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 5/271
  6. Hướng dẫn giảng dạy I. Cài đặt SAMBA 104 II. Khởi động dịch vụ SAMBA 104 III. Cấu hình Samba Server 104 III.1. Đoạn [global] 105 III.2. Đoạn [homes] 105 III.3. Chia sẻ máy in dùng SMB 106 III.4. Chia sẻ thư mục 106 IV. Sử dụng SAMBA SWAT 106 IV.1. Tập tin cấu hình SAMBA SWAT 106 IV.2. Truy xuất SWAT từ Internet Explorer 107 IV.3. Cấu hình SAMBA SWAT 108 V. Khởi động Samba Server 108 VI. Sử dụng SMB client 108 VII. Mount thư mục chia sẻ 109 VIII. Mount tự động tài nguyên từ SMB Server 109 IX. Mã hoá mật khẩu 110 BÀI 10 Network File System 111 Tóm tắt 111 I. Tổng quan về quá trình hoạt động của NFS 112 I.1. Một số luật chung khi cấu hình NFS 112 I.2. Một số khái niệm chính về NFS 112 II. Cài đặt NFS 112 III. Cấu hình NFS 113 III.1. Cấu hình NFS Server 113 III.2. Cấu hình NFS Client 114 III.3. Kích hoạt file /etc/exports 115 III.4. Troubleshooting NFS Server 115 BÀI 11 LẬP TRÌNH SHELL TRÊN LINUX 117 Tóm tắt 117 I. Giới thiệu về SHELL Và Lập Trình SHELL 118 I.1. Giới thiệu về Shell 118 I.2. Lập cấu hình môi trường đăng nhập 119 II. Mục đích và ý nghĩa của việc lập trình Shell 121 III. Điều khiển Shell từ dòng lệnh 121 IV. Điểu khiển tập tin lệnh 122 V. Cú pháp ngôn ngữ Shell 123 V.1. Ghi chú, định shell thực thi, thoát chương trình 123 V.2. Sử dụng biến 124 V.3. Lệnh kiểm tra 126 V.4. Biểu thức tính toán expr 127 V.5. Kết nối lệnh, khối lệnh và lấy giá trị của lệnh 128 V.6. Cấu trúc rẽ nhánh If 128 V.7. Cấu trúc lựa chọn Case 130 V.8. Cấu trúc lặp 130 V.9. Lệnh break, continue, exit 132 V.10. Các lệnh khác 133 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 6/271
  7. Hướng dẫn giảng dạy V.11. Hàm(function) 133 BÀI 12 Quản Lý Tiến Trình 135 Tóm tắt 135 I. Định nghĩa 136 II. Xem thông tin tiến trình 137 III. Tiến trình tiền cảnh(foreground process) 138 IV. Tiến trình hậu cảnh(background process) 138 V. Tạm dừng và đánh thức tiến trình 138 VI. Hủy một tiến trình 139 VII. Chương trình lập lịch at 139 VIII. Chương trình lập lịch batch 140 IX. Chương trình lập lịch crontab 140 BÀI 13 Domain Name System 142 Tóm tắt 142 I. Giới thiệu về DNS 143 II. Cách phân bổ dữ liệu quản lý domain name 146 III. Cơ chế phân giải tên 146 III.1. Phân giải tên thành IP 146 III.2. Phân giải IP thành tên máy tính 147 IV. Sự khác nhau giữa domain name và zone 148 V. Fully Qualified Domain Name (FQDN) 149 VI. Phân loại Domain Name Server 149 VI.1. Primary Name Server 149 VI.2. Secondary Name Server 149 VI.3. Caching Name Server 149 VII. Sự ủy quyền(Delegating Subdomains) 150 VIII. Resource Record (RR) 150 VIII.1. SOA(Start of Authority) 150 VIII.2. NS (Name Server) 151 VIII.3. A (Address) và CNAME (Canonical Name) 152 VIII.4. MX (Mail Exchange) 152 VIII.5. PTR (Pointer) 153 IX. Hoạt động của Name Server trong Linux 153 X. Cài đặt BIND 153 X.1. Một số file cấu hình quan trọng 154 X.2. Cấu hình 154 XI. Kiểm tra hoạt động của DNS 157 XII. Cấu hình Secondary Name Server 158 XIII. Một số quy ước 158 XIV. Cấu hình sự ủy quyền cho các miền con 160 BÀI 13 File Transfer Protocol 161 Tóm tắt 161 I. Giới thiệu về FTP 162 I.1. Giao thức FTP 162 II. Chương trình FTP Server 165 III. Chương trình FTP client 166 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 7/271
  8. Hướng dẫn giảng dạy IV. Giới thiệu VsFTP 168 IV.1. Những tập tin được cài đặt liên quan đến vsftpd 168 IV.2. Khởi động và dừng vsftpd 168 IV.3. Một số thông số cấu hình mặc định 168 IV.4. Những tùy chọn cấu hình vsftpd 169 V. Cấu hình Virtual FTP Server 171 V.1. Logging 171 V.2. Network 171 BÀI 14 WEB SERVER 172 Tóm tắt 172 I. Giới thiệu về Web Server 173 I.1. Giao thức HTTP 173 I.2. Web Server và cách hoạt động 174 I.3. Web client 175 I.4. Web động 175 II. Giới thiệu Apache 175 II.1. Cài đặt Apache 176 II.2. Tạm dừng và khởi động lại Apache 176 II.3. Sự chứng thực, cấp phép, điều khiển việc truy cập 176 II.4. Điều khiển truy cập 179 II.5. Khảo sát log file trên apache 180 III. Cấu hình Web Server 181 III.1. Định nghĩa về ServerName 181 III.2. Thư mục Webroot và một số thông tin cần thiết 182 III.3. Cấu hình mạng 183 III.4. Alias 184 III.5. UserDir 184 III.6. VirtualHost 185 BÀI 15 MAIL SERVER 188 Tóm tắt 188 I. Những giao thức mail 189 I.1. SMTP(Simple Mail Transfer Protocol) 189 I.2. Post Office Protocol 191 II. Giới thiệu về hệ thống mail 193 II.1. Mail gateway 193 II.2. Mail Host 193 II.3. Mail Server 194 II.4. Mail Client 194 II.5. Một số sơ đồ hệ thống mail thường dùng 194 III. Những chương trình mail và một số khái niệm 195 III.1. Mail User Agent (MUA) 195 III.2. Mail Transfer Agent (MTA) 195 III.3. Mailbox 195 III.4. Hàng đợi (queue) 196 III.5. Alias 196 IV. DNS và Sendmail 200 V. Những tập tin cấu hình Sendmail 201 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 8/271
  9. Hướng dẫn giảng dạy V.1. Tập tin /etc/sendmail.cf 201 V.2. Macro 202 V.3. Sendmail macro 203 V.4. Tùy chọn (Option) 203 V.5. Định nghĩa các mailer 204 V.6. Rule 204 V.7. Rule set 205 VI. Tập tin /etc/aliases 206 VII. Cấu hình Mail Server với Sendmail 206 VIII. Một số file cấu hình trong sendmail 207 VIII.1. File /etc/mail/access 207 VIII.2. File /etc/mail/local-host-names 207 VIII.3. File /etc/mail/virtusertable 208 VIII.4. File /etc/mail/mailertable 208 VIII.5. File /etc/mail/domaintable 209 IX. Cấu hình POP Mail Server 209 X. Cài đặt và cấu hình Webmail - Openwebmail 209 X.1. Cài đặt và cấu hình Open Webmail 210 X.2. Cài đặt Open Webmail từ Source code 211 BÀI 16 PROXY SERVER 215 Tóm tắt 215 I. Firewall 216 I.1. Giới thiệu về Firewall 216 I.2. Những chính sách Firewall 216 I.3. Các loại Firewall và cách hoạt động 217 II. Squid Proxy 219 II.1. Giới thiệu Squid 219 II.2. Những giao thức hỗ trợ trên Squid 219 II.3. Trao đổi cache 219 II.4. Cài đặt Squid Proxy 219 II.5. Cấu hình 220 II.6. Khởi động Squid 223 BÀI 17 Linux Security 224 Tóm tắt 224 I. Log File 225 II. Giới hạn user 225 III. Network security 225 III.1. Host Based security 225 III.2. Port based security 226 BÀI 18 Webmin 239 Tóm tắt 239 I. Giới thiệu Webmin 240 II. Cài đặt Webmin 240 II.1. Cài đặt từ file nhị phân 240 II.2. Cài đặt Webmin từ file nguồn *.tar.gz 240 III. Cấu hình Webmin 241 III.1. Đăng nhập vào Webmin Server 241 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 9/271
  10. Hướng dẫn giảng dạy III.2. Cấu hình Webmin 241 III.3. Cấu hình Webmin qua Web Browser 242 III.4. Quản lý Webmin User 245 III.5. Webmin cho Users(Usermin) 245 III.6. Sử dụng Usermin 246 III.7. Cấu hình hệ thống qua Webmin 248 III.8. Cấu hình Server và Daemon 249 III.9. Cấu hình mạng thông qua Webmin 250 III.10. Cấu hình Hardware trên Webmin 251 III.11. Linux Cluster trên Webmin 252 III.12. Các thành phần khác(Others) trên Webmin 253 ĐỀ THI CUỐI HỌC PHẦN 254 I. Cấu trúc đề thi 254 II. Đề thi mẫu 256 II.1. Đề thi mẫu cuối môn - Hệ Điều Hành Linux 256 II.2. Đề thi cuối môn - Dịch Vụ Mạng Linux 258 ĐỀ THI CUỐI HỌC PHẦN 260 I. Mẫu Đề thi lý thuyết 260 II. Mẫu đề thi thực hành 267 ĐỀ THI KIỂM TRA CHUYÊN MÔN GIÁO VIÊN 269 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 10/271
  11. Hướng dẫn giảng dạy MỤC TIÊU Sau khi hoàn thành khóa học, học viên sẽ có khả năng: ƒ Cài đặt và sử dụng hệ điều hành Linux (phiên bản mới nhất của RedHat) và thực thi được các thao tác tạo tập tin, thư mục, quản lý người dùng, cấp quyền hạn sử dụng tài nguyên, soạn thảo văn bản bằng các công cụ, chia sẻ tài nguyên thông qua dịch vụ Samba, đặt hạn ngạch để giới hạn sử dụng tài nguyên đĩa cứng. ƒ Cấu hình và quản trị các dịch vụ mạng trên hệ thống Linux như: DNS, FTP, WEB, MAIL, PROXY. ƒ Thiết lập một số cơ chế bảo mật hệ thống Linux thông qua các công cụ như: iptables, tcp_wrappers, ƒ Tổ chức hệ thống cho phép người dùng có thể làm việc từ xa qua Web, SSH, Telnet, SFTP sử dụng các công cụ như: Webmin, Usermin, OpenSSH, TELNET. ĐỐI TƯỢNG HỌC VIÊN Học sinh, sinh viên, kỹ sư CNTT, những nhân viên quản trị mạng (cơ quan, xí nghiệp) muốn bổ sung kiến thức quản trị mạng trên môi trường Linux. PHÂN BỐ BÀI GIẢNG Thời lượng: 96LT + 120TH STT Bài học Số tiết LT Số tiết TH 1 Giới thiệu về Linux 3 2 Cài đặt hệ điều hành RedHat Linux 5 5 3 Quản lý hệ thống tập tin 8 10 4 Cài đặt phần mềm 3 5 5 Giới thiệu các trình tiện ích 4 5 6 Quản trị người dùng 5 5 7 Quản lý tài nguyên đĩa cứng 3 5 8 Cấu hình mạng 5 10 9 SAMBA 4 5 10 NFS 3 5 11 Lập trình Shell trên Linux 5 5 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 11/271
  12. Hướng dẫn giảng dạy 12 Quản lý tiến trình 5 5 13 Dịch vụ DNS 5 10 14 Dịch vụ FTP 5 5 15 Dịch vụ Web 5 5 16 Dịch vụ Mail 8 10 17 Dịch vụ Proxy 5 5 18 Linux Security 10 10 19 Webmin 5 5 20 Ôn tập 5 Tổng số tiết 96 120 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 12/271
  13. Hướng dẫn giảng dạy BÀI 1 Giới Thiệu Hệ Điều Hành Linux Tóm tắt Lý thuyết: 3 tiết - thực hành: 0 tiết Bài tập bắt Bài tập làm Mục tiêu Các mục chính buộc thêm Bài học này giới thiệu I. Vài dòng về lịch sử Linux. II. Lịch sử phát triển của Linux. sơ lược về lịch sử phát III. Những ưu điểm của Linux. triển, kiến trúc của IV. khuyết điểm của Linux. Linux, ưu và nhược điểm của Linux so với các hệ điều hành khác. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 13/271
  14. Hướng dẫn giảng dạy I. Vài dòng lịch sử về Linux Giữa năm 1960, AT & T Bell Laboratories và một số trung tâm khác tham gia vào một cố gắng nhằm tạo ra một hệ điều hành mới được đặt tên là Multics (Multiplexed Information and Computing Service). Đến năm 1969, chương trình Multics bị bãi bỏ vì đó là một dự án quá nhiều tham vọng và do đó không khả thi. Thậm chí nhiều yêu cầu đối với Multics thời đó đến nay vẫn chưa có được trên các Unix mới nhất. Nhưng Ken Thompson, Dennis Richie và một số đồng nghiệp của Bell Labs đã không bỏ cuộc. Thay vì xây dựng một hệ điều hành làm nhiều việc một lúc như Multics, họ quyết định phát triển một hệ điều hành đơn giản chỉ làm tốt một công việc là chạy chương trình (run program). Hệ điều hành sẽ có rất nhiều các công cụ (tool) nhỏ, đơn giản, gọn nhẹ (compact) và chỉ làm tốt một công việc. Bằng cách kết hợp nhiều công cụ lại với nhau, họ sẽ có một chương trình thực hiện một công việc phức tạp. Đó cũng là cách thức người lập trình viết ra chương trình. Vào năm 1973, sử dụng ngôn ngữ C của Richie. Thompson đã viết lại toàn bộ hệ điều hành Unix và đây là một thay đổi quan trọng của Unix. Do đó, Unix từ chỗ là một hệ điều hành cho một máy PDP-xx trở thành hệ điều hành của các máy khác với một cố gắng tối thiểu để chuyển đổi. Khoảng 1977 bản quyền của UNIX được giải phóng và hệ điều hành UNIX trở thành một thương phẩm. Hai dòng UNIX: System V của AT&T, Novell và Berkeley Software Distribution (BSD) của Đại học Berkeley. - System V: Các phiên bản UNIX cuối cùng do AT&T xuất bản là System III và một vài phát hành (releases) của System V. Hai bản phát hành gần đây của System V là Release 3.2 (SVR 3.2) và Release 4.2 (SVR 4.2). Phiên bản SVR 4.2 là phổ biến nhất từ máy PC cho tới máy tính lớn. - BSD: Từ 1970 Computer Science Research Group của University of California tại Berkelry (UCB) xuất bản nhiều phiên bản UNIX, được biết đến dưới tên Berkeley Software Distribution, hay BSD. Cải tiến của PDP-11 được gọi là 1BSD và 2BSD. Trợ giúp cho các máy tính của Digital Equipment Corporation VAX được đưa vào trong 3BSD. Phát triển của VAX được tiếp tục với 4.0BSD, 4.1BSD, 4.2BSD và 4.3BSD. - Trước 1992, UNIX là tên thuộc sở hữu của AT&T. từ 1992, khi AT&T bán bộ phận Unix cho Novell, tên Unix thuộc sở hữu của X/Open foundation. Tất cả các hệ điều hành thỏa mãn một số yêu cầu đều có thể gọi là Unix. Ngoài ra, Institute of Electrical and Electronic Engineers (IEEE) đã thiết lập chuẩn “An Industry-Recognized Operating System Interface Standard based on the UNIX Operating System”. Kết quả cho ra đời POSIX.1 (cho giao diện C) và POSIX.2 (cho hệ thống lệnh trên Unix). Tóm lại, vấn đề chuẩn hóa UNIX vẫn còn rất xa kết quả cuối cùng. Nhưng đây là quá trình cần thiết có lợi cho sự phát triển của ngành tin học nói chung và sự sống còn của hệ điều hành UNIX nói riêng. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 14/271
  15. Hướng dẫn giảng dạy II. Lịch sử phát triển của 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 về dự định của mình về Linux. - 1/1992, Linus cho ra version 0.02 với shell và trình biên dịch C. Linux không cần Minix nữa để biên dịch lại hệ điều hành của mình. Linus đặt tên hệ điều hành của mình là Linux. - 1994, phiên bản chính thức 1.0 được phát hành. - Linux là một hệ điều hành 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 Space. Linux thỏa mãn chuẩn POSIX.1. - 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. Nên chú ý rằng giữa các Unix sự khác nhau cũng không kém gì giữa Unix và Linux. - Linux là hệ điều hành phân phát miễn phí, phát triển trên mạng Internet, tựa Unix và được sử dụng trên máy tính cá nhân (PCs). Linux đã phát triển nhanh chóng và trở nên phổ biến trong thời gian ngắn. Nó nhanh chóng được nhiều người sử dụng vì một trong những lý do là không phải trả tiền bản quyền. Mọi người có thể dễ dàng download từ Internet hay mua tại các hiệu bán CD. - Linux là hệ điều hành có hiệu năng cao, trong tất cả các máy tính có cấu hình cao hay thấp. Hệ điều hành này hỗ trợ các máy tính sử dụng 32 cũng như 64 bit và rất nhiều phần mềm khác nhau. - 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 nền tảng khác nhau. Đến hôm nay, cuối 2001, phiên bản mới nhất của Linux kernel là 2.6.11.3, có khả năng điều khiển các máy đa bộ vi xử lý và rất nhiều các tính năng khác. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 15/271
  16. Hướng dẫn giảng dạy III. Những ưu điểm của Linux Trong số những hệ điều hành thông dụng ngày nay, Linux là hệ điều hành miễn phí được sử dụng rộng rãi nhất. Với các PC IBM, Linux cung cấp một hệ thống đầy đủ với những chức năng đa nhiệm (multitasking) và đa người dùng (multiuser) lập sẵn, tận dụng được sức mạnh xử lý của máy 386 và cao hơn. Linux có sẵn bộ giao thức TCP/IP giúp bạn dễ dàng kết nối Internet. Linux cũng có Xfree86 cung cấp cho bạn một giao diện đồ họa GUI đầy đủ. Những phần này bạn không cần phải mất tiền mua chỉ cần tải xuống từ Internet. III.1. Khả năng tương thích với các hệ mở Khả năng tương thích của một hệ điều hành giúp bạn chuyển nó từ một nền này sang một nền khác mà vẫn hoạt động tốt. Trước kia UNIX chỉ hoạt động trên một nền duy nhất, đó là máy điện toán mini DEC PDP-7. Hiện nay, UNIX chạy được trên bất kỳ nền nào, từ máy tính xách tay cho đến những máy tính lớn dạng mainframe. Nhờ tính tương thích này, các máy điện toán chạy UNIX trên nhiều nền khác nhau có thể liên lạc với nhau một cách chính xác và hữu hiệu với những loại nền khác. III.2. Hỗ trợ ứng dụng Hiện nay, Linux có hàng nghìn ứng dụng, bao gồm các chương trình báo biểu, cơ sở dữ liệu, xử lý văn bản Ngoài ra, Linux cũng có hàng loạt trò chơi giải trí trên nền văn bản hoặc đồ họa. III.3. Lợi ích cho giới chuyên nghiệp điện toán Đến với Linux, giới điện toán sẽ có hàng loạt công cụ phát triển chương trình, bao gồm các bộ biên dịch cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn như C, C++, IV. Khuyết điểm của Linux IV.1. Hỗ trợ kỹ thuật Có lẽ điều trở ngại nhất của Linux là không có một công ty nào chịu trách nhiệm phát triển hệ điều hành Linux này. Nếu có điều gì trục trặc, bạn không thể gọi miễn phí cho một bộ phận hỗ trợ kỹ thuật nào cả. Thiếu nguồn trợ giúp kỹ thuật không chỉ đối với Linux mà cả với những ứng dụng Linux. Mặc dù, hiện có vài chương trình mang tính thương mại dành cho Linux, song đa phần lại là chương trình miễn phí do một nhóm nhỏ biên soạn rồi đưa lên mạng cho cả thế giới sử dụng chung. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 16/271
  17. Hướng dẫn giảng dạy IV.2. phần cứng Một điều bất tiện nữa là thực sự Linux không dễ cài đặt và rất nhiều thành phần không tương thích với một vài phần cứng nào đó. Các nhà phát triển Linux là nhữhg người sống rãi rác trên hành tinh này, do đó không thể có một chương trình được đảm bảo chất lượng như thông lệ. Các nhà phát triển cảm thấy chương trình của mình dùng được là tung ra cho mọi người cùng xài chứ không có một thời gian thử nghiệm chương trình. Hơn nữa, các phần cứng mà Linux hỗ trợ tùy thuộc vào loại máy móc mà các nhà phát triển sử dụng khi soạn thảo đoạn mã. Chính vì thế mà Linux không thể chạy trên tất cả mọi nền phần cứng của PC hiện nay. V. Kiến trúc của hệ điều hành Linux V.1. Hạt nhân (Kernel) Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt động của toàn bộ hệ thống. Hạt nhân được phát triển không ngừng, thường có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất. Kernel được thiết kế theo dạng modul, do vậy kích thước thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên nếu có yêu cầu sử dụng. Nhờ vậy so với các hệ điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không. Kernel được xem là trái tim của hệ điều hành Linux, ban đầu phát triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy. Yêu cầu của các chương trình cần rất nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi (swap space) để lưu trữ các dữ liệu xử lý của chương trình. Swap space cho phép ghi các trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó như phần mở rộng của vùng nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các đặc tính sau : - Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình làm tắt toàn bộ hệ thống. - Chỉ tải các chương trình khi có yêu cầu. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 17/271
  18. Hướng dẫn giảng dạy V.2. Shell Shell cung cấp tập lệnh cho người dùng thao tác với kernel để thực hiện công việc. Shell đọc các lệnh từ người dùng và xử lý. Ngoài ra shell còn cung cấp một số đặc tính khác như : chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các tập tin lệnh tương tự tập tin bat trong DOS. Có nhiều loại shell được dùng trong Linux. Điểm quan trọng để phân biệt các shell với nhau là bộ lệnh của mỗi shell. Ví dụ, C shell thì sử dụng các lệnh tương tự ngôn ngữ C, Bourne Shell thì dùng ngôn ngữ lệnh khác. Shell sử dụng chính trong Linux là GNU Bourne Again Shell (bash). Shell này là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ thống Unix, với nhiều tính năng mới như : điều khiển các tiến trình, các lệnh history, tên tập tin dài V.3. Các tiện ích Các tiện ích được người dùng thường xuyên sử dụng. Nó dùng cho nhiều thứ như thao tác tập tin, đĩa, nén, sao lưu tập tin Tiện ích trong Linux có thể là các lệnh thao tác hay các chương trình giao diện đồ họa. Hầu hết các tiện ích dùng trong Linux là sản phẩm của chương trình GNU. Linux có sẵn rất nhiều tiện ích như trình biên dịch, trình gỡ lỗi, soạn văn bản Tiện ích có thể được sử dụng bởi người dùng hoặc hệ thống. Một số tiện ích được xem là chuẩn trong hệ thống Linux như passwd, ls, ps, vi V.4. Chương trình ứng dụng Khác với các tiện ích, các ứng dụng như chương trình word, hệ quản trị cơ sở dữ liệu là các chương trình có độ phức tạp lớn và được các nhà sản xuất viết ra. VI. Các đặc tính cơ bản của Linux Linux hỗ trợ các tính năng cơ bản thường thấy trong các hệ điều hành Unix và nhiều tính năng khác mà không hệ điều hành nào có được. Linux cung cấp môi trường phát triển một cách đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch, debug như bạn mong đợi ở các hệ điều hành Unix khác. Hệ thống Linux trội hơn các hệ thống khác trên nhiều mặt, mà người dùng quan tâm như sự phát triển, tốc độ, dễ sử dụng và đặc biệt là sự phát triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm : VI.1. Đa tiến trình Là đặc tính cho phép người dùng thực hiện nhiều tiến trình đồng thời. Ví dụ bạn vừa in, vừa soạn văn bản, vừa nghe nhạc cùng một lúc. Máy tính sử dụng chỉ một CPU nhưng xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất là tại một thời điểm CPU chỉ xử lý được một mệnh lệnh, việc thực hiện cùng lúc nhiều công việc là giả tạo bằng cách làm việc xen kẻ và chuyển đổi trong thời gian nhanh. Do đó người dùng cứ ngỡ là thực hiện đồng thời. VI.2. Tốc độ cao Hệ điều hành Linux được biết đến như một hệ điều hành có tốc độ xử lý cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên như : bộ nhớ, đĩa Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 18/271
  19. Hướng dẫn giảng dạy VI.3. Bộ nhớ ảo Khi hệ thống sử dụng quá nhiều chương trình lớn dẫn đến không đủ bộ nhớ chính (RAM) để hoạt động. Trong trường hợp đó, Linux dùng bộ nhớ từ đĩa là partition swap. Hệ thống sẽ đưa các chương trình hoặc dữ liệu nào chưa có yêu cầu truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống chuỵển lên lại bộ nhớ chính. VI.4. Sử dụng chung thư viện Hệ thống Linux có rất nhiều thư viện dùng chung cho nhiều ứng dụng. Điều này sẽ giúp hệ thống tiết kiệm được tài nguyên cũng như thời gian xử lý. VI.5. Sử dụng các chương trình xử lý văn bản Chương trình xử lý văn bản là một trong nhưng chương trình rất cần thiết đối với người sử dụng. Linux cung cấp nhiều chương trình cho phép người dùng thao tác với văn bản như vi, emacs, nroff VI.6. Sử dụng giao diện cửa sổ Giao diện cửa sổ dùng Hệ thống X Window, có giao diện như hệ điều hành Windows. Với hệ thống này người dùng rất thuận tiện khi làm việc trên hệ thống. X window System hay còn gọi tắt là X được phát triển tại viện Massachusetts Institute of Technology. Nó được phát triển để tạo ra môi trường làm việc không phụ thuộc phần cứng. X chạy dưới dạng client –server. Hệ thống X window hoạt động qua hai bộ phận : - Phần server còn gọi là X server - Phần client được gọi là X window manager hay desktop environment. X server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86. Client sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network Object Model Environment) Dich vụ Samba sử dụng tài nguỵên đĩa, máy in với Windows. Tên Samba xuất phát từ giao thức Server Message Block (SMB) mà Windows sử dụng để chia sẻ tập tin và máy in. Samba là chương trình sử dụng giao thức SMB chạy trên Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy Windows VI.7. Network Information Service (NIS) Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng. NIS là một hệ thống cơ sở dữ liệu dạng client-server, chứa các thông tin của người dùng và dùng để chứng thực người dùng. NIS xuất phát từ hãng Sun Microsystems với tên là Yellow Pages. VI.8. Lập lịch hoạt động chương trình, ứng dụng Chương trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự sắp xếp của người dùng như: at, cron, batch. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 19/271
  20. Hướng dẫn giảng dạy VI.9. Các tiện ích sao lưu dữ liệu Linux cung cấp các tiện ích như tar, cpio và dd để sao lưu và backup dữ liệu. RedHat Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho phép tự động backup dữ liệu theo lịch. VI.10. Hỗ trợ nhiều ngôn ngữ lập trình. Linux cung cấp một môi trường lập trình Unix đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch, chương trình debug chương trình mà bạn có thể tìm thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chương trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác như Pascal, Fortran, Java Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 20/271
  21. Hướng dẫn giảng dạy BÀI 2 Cài Đặt Hệ Điều Hành Linux Tóm tắt Lý thuyết: 5 tiết - Thực hành: 5 tiết. Bài tập bắt Bài tập làm Mục tiêu Các mục chính buộc them Giới thiệu cho học viên I. Yêu cầu phần cứng. Bài tập 02 II. Đĩa cứng và phân vùng đĩa (sách bài cách cài đặt hệ điều trong Linux. tập) hành Linux, cài đặt các III. Quản lý ổ đĩa và partition trong thiết bị, tìm hiểu Linux. nguyên lý hoạt động, IV. Khởi động chương trình cài đặt. chương trình khởi V. Các bước cài đặt hệ điều hành động hệ điều hành Linux. Linux. VI. Cấu hình thiết bị. VII. Sử dụng hệ thống. VIII. Khởi động hệ thống. IX. Shutdown và Reboot hệ thống. X. Sử dụng runlevel. XI. Phục hồi mật khẩu cho user quản trị. XII. Tìm hiểu boot loader. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 21/271
  22. Hướng dẫn giảng dạy 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 MMX trở lên. - RAM : 64 MB trở lên cho Text mode, 192MB cho mode Graphics. - Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt. + Custom Installation (minimum): 520MB. + Server (minimum): 870MB. + Personal Desktop: 1.9GB. + Workstation: 2.4GB. + Custom Installation (everything): 5.3GB. - 2M cho card màn hình nếu muốn sử dụng mode đồ 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à partition. Mỗi partition sử dụng một hệ thống tập tin và lưu trữ dữ liệu. Mỗi đĩa bạn chỉ chia được tối đa 4 partition 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 partition. Để tạo nhiều partition lưu trữ dữ liệu ( hơn 4) người ta dùng partition mở rộng (extended partition). Thực ra partition mở rộng cũng là primary partition nhưng cho phép tạo 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. Ký tự mô tả ổ đĩa Physical block devices(Các thiết bị lưu trữ) Hda Primary Master Hdb Primary Slave Hdc Secondary Master Hdd Secondary Slave Sda First SCSI disk Sdb Second SCSI disk Ví dụ : Ổ cứng thứ nhất hda, ổ cứng thứ 2 hdb xác định các partition 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ố từ 1 – 4. Các logical partition được gán các giá trị từ 5 trở đi. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 22/271
  23. Hướng dẫn giảng dạy 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 partititon 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. IV. Khởi động chương trình cài đặt IV.1. Boot từ CD-ROM Nếu máy bạn có CD-ROM, bạn hãy khởi động máy tính, chỉnh lại BIOS thứ tự boot đầu tiên là CD-ROM và đưa đĩa cài đặt vào ổ CD. IV.2. Boot từ đĩa khởi động Windows BIOS của máy bạn không hổ trợ boot được từ CD, bạn có thể khởi động từ đĩa khởi động DOS. Sau khi khởi động, đưa CD cài đặt vào ổ CD-ROM. Giả sử ổ CD của bạn là ổ E:. Bước kế bạn thực hiện. Cd Dosutils Autoboot IV.3. Boot từ đĩa mềm khởi động Linux CD cài đặt Linux có chứa tập tin image giúp khởi động cài đặt Linux từ đĩa mềm. Trên RedHat Linux 7.x Image này lưu trong thư mục: \images\bootnet.img. Trên RedHat 9.0 và Fedora core thì tập tin \images\bootdisk.img Để bung tập tin image này ra đĩa mềm chúng ta dùng chương trình rawrite có trong thư mục dosultils của đĩa cài đặt. Trên môi trường Windows: \dosutils\rawrite Enter disk image soure file name : \bootnet.img Enter the target disk device : A Please insert formatted diskette into device A: and press – ENTER : enter Trên môi trường Linux ta có thể dùng lệnh: #dd if=/mnt/cdrom/images/ of=/dev/fd0 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 23/271
  24. Hướng dẫn giảng dạy V. Các bước cài đặt hệ điều hành Linux V.1. Chọn phương thức cài đặt Nguồn cài đặt 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 sever. - 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. V.2. Chọn chế độ cài đặt Chúng ta có thể chọn các chế độ: - Linux text: Chương Hệ Điều Hành Linux đặt dưới chế độ text(Text mode). - [Enter] : Chương Hệ Điều Hành Linux đặt dưới chế độ đồ họa(Graphical mode) V.3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 24/271
  25. Hướng dẫn giảng dạy Chọn ngôn ngữ “English” rồi chọn Next V.4. Cấu hình bàn phím Chọn loại bàn phím của mình, chọn Next V.5. Chọn cấu hình mouse Chọn loại Mouse phù hợp với mouse của mình. Khi chọn lưu ý cổng gắn mouse là serial hay PS/2, chọn Next. V.6. Lựa chọn loại màn hình Thông thường tại bước này hệ điều hành sẽ tự động nhận đúng loại màn hình hiển thị nếu không thì ta phải cấu hình lại màn hình hiển thị trong hộp thoại bên phải. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 25/271
  26. Hướng dẫn giảng dạy Chọn Next. V.7. Lựa chọn loại cài đặt Một số loại cài đặt thông dụng: - Workstation: Cài đặt hệ điều hành phục vụ cho công việc của một máy trạm. - Server: Cài đặt hệ điều hành phục vụ cho máy chủ. - Custom:có thể tích hợp các tùy chọn trên một cách tùy ý. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 26/271
  27. Hướng dẫn giảng dạy V.8. Chia Partition - Automatically partition.: cho phép hệ thống tự động phân vùng ổ đĩa hợp lý để cài hệ điều hành(thông thường theo cách này thì hệ thống sẽ tạo ra hai phân vùng: /boot, /, swap) - Manually partition with Disk Druid: Chia partition bằng tiện ích Disk Druid. Đây là cách chia partition dưới dạng đồ họa dễ dùng. - Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition. V.9. Lựa chọn Automatically partition - Remove all Linux partitions on this system: khi ta muốn loại bỏ tất cả các Linux partition có sẳn trong hệ thống. - Remove all partitions on this system: khi ta muốn loại bỏ tất cả các partition có sẳn trong hệ thống. - Keep all partitions and use existing free space: khi ta muốn giữ lại tất cả các partition có sẳn và chỉ sử dụng không gian trống còn lại để phân chia phân vùng. - Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 27/271
  28. Hướng dẫn giảng dạy V.10. Chia Partition bằng Disk Druid Trong bước 8 ta chọn Manually partition with Disk Druid để thực hiện phân chia phân vùng sử dụng tiện ích Disk Druid. Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên. Bạn có thể chọn từng partition để thao tác. Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào được mô tả trong hình sau: - New: Tạo một partition mới, chỉ định tên phân vùng(mount point), loại filesystem(ext3) và kích thước(size) tính bằng MByte(tùy chọn). Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 28/271
  29. Hướng dẫn giảng dạy - Edit: Thay đổi lại các tham số của phân vùng được chọn. - Delete: Xóa phân vùng được chọn. - Reset: Phục hồi lại trạng thái đĩa như trước khi thao thác. - Make RAID: Sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng. V.11. Cài đặt chương trình Boot Loader Boot Loader là chương trình cho phép bạn 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 bạn sử dụng chương trình Boot Loader là GRUB hoặc LILO. Cả 2 Boot Loader đều có thể hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống. - Bạn 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 bạn chắc chắn chương boot loader của bạn có thể khởi động được các hệ điều hành khác trong máy của mình. 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. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 29/271
  30. Hướng dẫn giảng dạy - Chọn cài Boot loader vào sector đầu tiên của partition cài đặt khi bạn đã có chương trình Boot Loader tại MBR và không muốn thay thế nó. Trong trường hợp này, chương trình Boot Loader kia nắm quyền điều khiển trước và trỏ đến chương trình Boot Loader của Linux khi có yêu cầu khởi động hệ điều hành này. - Bạn không cài chương trình Boot loader, khi đó bạ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 nút Change password. V.12. Cấu hình mạng Configure using DHCP: Bạn có thể chọn cấu hình TCP/IP động qua dịch vụ DHCP hoặc cấu hình cụ thể. Khi cấu hình cụ thể, bạn phải nhập những thông số cấu hình mạng trong mục chọn edit: - IP Address: Chỉ định địa chỉ IP của host cài đặt. - Netmask Address: subnet mask cho địa chỉ IP trên. Active on boot: Card mạng được kích hoạt khi hệ điều hành khởi động. Host name: Nếu bạn có tên dns đầy đủ thì khai báo tên đầy đủ. Trong trường hợp bạn không kết nối vào mạng, bạn cũng đặt tên cho máy thông qua mục 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ì các trường đó không được sử dụng trong hệ thống. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 30/271
  31. Hướng dẫn giảng dạy V.13. Cấu hình Firewall Trong Linux có tích hợp Firewall để bảo vệ hệ thống chống lại một số truy xuất bất hợp pháp từ bên ngoài. Ta chọn Enable Firewall, sau đó chọn loại dịch vụ cần cho phép bên ngoài truy cập vào Firewall. V.14. Chọn ngôn ngữ hỗ trợ trong Linux Bạn có thể cài đặt và sử dụng nhiều ngôn ngữ trong Linux. Có thể chọn ngôn ngữ mặc định(English(USA)) và các ngôn ngữ khác để sử dụng. V.15. Cấu hình khu vực địa lý của hệ thống Các vị trí chia theo châu lục. Ở Việt Nam là Asia/Saigon, 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 đồ. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 31/271
  32. Hướng dẫn giảng dạy V.16. Đặ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ự. Bạn nên đặt password gồm có ký tự, số và các ký tự đặc biệt để đảm bảo an toàn. Lưu ý password phân biệt chữ hoa và thường. Bạn phải đánh vào 2 lần, khi dòng chữ bên dưới xuất hiện “ Root password accepted” thì được. V.17. Cấu hình chứng thực Nếu bạn không sử dụng password mạng có thể bỏ qua cấu hình này nhưng vẫn sử chế độ chọn mặc nhiên (chọn Enable MD5 passwords và Enable shadow passwords) Enable MD5 passwords: cho phép password sử dụng tới 256 ký tự thay vì chỉ tới 8 ký tự Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 32/271
  33. Hướng dẫn giảng dạy Enable shadow passwords: cung cấp cơ chế lưu trữ password an toàn. Password được lưu trữ trong tập tin /etc/shadow và chỉ có root mới được đọc. Enable NIS: cho phép một nhóm máy trong một NIS domain sử dụng chung tập tin passwd và group. Chọn các tham số sau : + NIS domain: Xác định NIS domain mà máy này tham gia + Use broadcast to find NIS server: Cho phép sử dụng thông điệp quảng bá để tìm NIS server. + NIS Server : Xác định NIS server. + Enable LDAP: Hệ thống của bạn sử dụng LDAP cho một vài hoặc tất cả các phép chứng thực. + LDAP Server : Xác định LDAP server (dùng địa chỉ IP) + LDAP Base DN: cho phép tìm kiếm thông tin người dùng dựa trên DN(Distinguished Name) + Use TLS (Transport Layer Security) lookups: tùy chọn này cho phép LDAP gởi tên người dùng và password mã hóa tới LDAP server trước khi chứng thực. Enable Kerberos: là hệ thống cung cấp các dịch vụ chứng thực trên mạng. Các lựa chọn : + Realm: cho phép bạn truy xuất tới mạng sử dụng Kerberos. + KDC: cho phép bạn truy xuất tới Key Distribution Center (KDC). + Admin Server: cho phép bạn truy xuất tới server chạy kadmin + Enable SMB Authentication: Cài PAM để dùng một Samba server chứng thực cho các client. + SMB Server: Xác định samba server mà các máy trạm kết nối tới để chứng thực. + SMB Workgroup: Xác định workgroup mà samba server được cấu hình tham gia. V.18. Chọn các chương trình và Package cài đặt Bạn chọn các chương trình cần cài đặt, nếu ta chọn everything là cài tất cả các chương trình, chọn Minimal là chỉ cài một số chương trình hoặc phần mềm thông dụng. Nếu bạn nắm rõ các package cần thiết cho các chương trình mình mong muốn thì chọn Select individual packages. Ta có thể chọn Details để chọn chi tiết các thành phần trong từng phần mềm hoặc nhóm các công cụ. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 33/271
  34. Hướng dẫn giảng dạy V.19. Định dạng filesystem và tiến hành cài đặt VI. Cấu hình thiết bị VI.1. Bộ nhớ (RAM) System RAM được BIOS nhận biết khi khởi động, Linux kernel có khả năng nhận biết được tất cả các loại RAM(EDO, DRAM, SDRAM, DDRAM). VI.2. Vị trí lưu trữ tài nguyên Để cho phép các thiết bị phần cứng trong máy tính có thể giao tiếp trực tiếp với tài nguyên hệ thống, đặc biệt là CPU thì hệ thống sẽ định vị dưới dạng lines và channels cho mỗi thiết bị như: IRQ(interrupt Request Lines), Input/Output Address and Direct Memory Access channels(DMA). - IRQ cho phép thiết bị yêu cầu CPU time, IRQ có giá trị từ 0 ->15 - IO address chỉ định địa chỉ trong bộ nhớ, CPU sẽ giao tiếp với thiết bị bằng cách đọc và ghi bộ nhớ trên địa chỉ này. - DMA cho phép thiết bị truy xuất bộ nhớ hệ thống như ghi và xử lý dữ liệu mà không cần truy xuất CPU. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 34/271
  35. Hướng dẫn giảng dạy Kernel lưu trữ thông tin tài nguyên này trong thư mục /proc, các tập tin ta cần quan tâm: + /proc/dma + /proc/interrupt + /proc/ioports + /proc/pci Tuy nhiên ta có thể sử dụng các công cụ lspci, dmesg để có thể xem thông tin IRQ, I/O, DMA Thiết bị I/O port IRQ /dev/ttyS0 0x03F8 4 /dev/ttyS0 0x02F8 3 /dev/lp0 0x378 7 /dev/lp1 0x278 5 Soundcard 0x220 Ethernet 0x300 10 card Ethernet 0x340 9 card Ta có thể cấu hình các thông tin trên bằng cách thay đổi thông tin trong tập tin /etc/modules.conf VI.3. Hỗ trợ USB Hầu hết các phiên bản linux sau này có khả năng nhận biết (Detect) USB device, một khi USB được cắm vào USB port thì nó được USB controller điều khiển, Linux hỗ trợ rất nhiều USB controller (ta có thể tham khảo trong tài liệu USB howto), thiết bị USB được Linux kernel nhận biết qua tập tin /dev/sda1 VI.4. Network Card Kernel của linux hỗ trợ hầu hết NIC, để xem chi tiết thông tin hiện tại của card mạng ta sử dụng các lệnh sau đây: Dmesg, lspci, /proc/interrupts, /sbin/lsmod, /etc/modules.conf VI.5. Cài đặt modem Trong phần này ta tìm hiểu cách cài đặt Serial modem, ta tìm hiểu các serial port được nhận biết trên Linux Dos Linux COM1 /dev/ttyS0 COM2 /dev/ttyS1 COM3 /dev/ttyS2 Sau đây là một số bước cài đặt serial modem: Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 35/271
  36. Hướng dẫn giảng dạy + Bước 1: Dùng lệnh setserial để scan serial device. + Bước 2: Dùng lệnh ls –s /dev/ttyS1 /dev/modem + Bước 3: cấu hình Dial profile thông qua công cụ wvdial cung cấp script wvdialconfig để ta scan những thông tin cần thiết cho modem và ghi vào file /etc/wvdial.conf (trong phần này ta chỉ quan tâm về vấn đề cài đặt modem cho nên đây là một bước tham khảo thêm) VI.6. Cài đặt và cấu hình máy in Trước khi cài đặt máy in ta cần cài thêm package system-config-printer-0.6.98-1(Fedora Core). Sau đó ta dùng lệnh #system-config-printer Chọn New để cài đặt máy in Đặt tên Printer và chọn Queue Type Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 36/271
  37. Hướng dẫn giảng dạy Chọn Queue Driver để chỉ định loại máy in VII. Sử dụng hệ thống VII.1. Đăng nhập Linux là hệ điều hành đa người dùng, tại một thời điểm nhiều người có thể cùng sử dụng hệ thống để làm việc. Mỗi người dùng có một tài khoản trong hệ thống. Tài khoản này dùng để quản lý và phân biệt các người dùng với nhau. Để sử dụng hệ thống, trước hết bạn phải đăng nhập vào. Khi bạn kết nối tới máy thì màn hình hiển thị dòng + Login : + Password: Có 2 dạng dấu nhắc lệnh: + Dạng $ dùng cho người dùng thường. + Dạng # dùng cho người dùng quản trị (root). Khi login vào hệ thống, chúng ta thấy dấu nhắc lệnh xuất hiện có dạng: [tên-đăng-nhập@tên-máy thư-mục-hiện-hành]dấu-nhắc-lệnh Ví dụ: [root@server root]# - Từ dấu nhắc lệnh ta có thể sử dụng lệnh theo cú pháp như sau: Tên-lệnh [tùy-chọn] [tham- số] Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 37/271
  38. Hướng dẫn giảng dạy + Tùy chọn có dạng: – + Nếu có nhiều tùy chọn thì ta dùng dấu khoảng trắng để làm dấu ngăn cách hoặc kết hợp nhiều tùy chọn Ví dụ : [root@server root]#ls –a –l /etc - Linux cho phép chúng ta kết hợp nhiều lựa chọn chỉ dùng một dấu - . Như ví dụ trên ta có thể dùng lệnh ls –al /etc thay cho ls –a –l /etc - Chuyển sang user khác: Đang làm việc chúng ta có thể chuyển sang người dùng khác mà không phải logout ra. Trong trường hợp này bạn dùng lệnh su. + $su [tên-user] : chuyển sang user mới - Nếu tên-user không có thì mặc định là chuyển qua root - Thông thường khi chúng ta chuyển sang user khác thì biến môi trường của hệ thống vẫn giữ nguyên theo user cũ. Để sử dụng biến môi trường của user mới chúng ta dùng thêm tham số - trong lệnh su. Ví dụ: #su – [user] VII.2. Một số lệnh cơ bản Tên lệnh Ý nghĩa date Hiển thị ngày giờ hệ thống who Cho biết các người dùng đang đăng nhập vào hệ thống tty Xác định tập tin tty mà mình đang login vào. cal Lịch finger Hiển thị các thông tin của các người dùng như họ tên, địa chỉ chfn Thay đổi thông tin của người dùng head Xem nội dung tập tin từ đầu tập tin tail Xem nội dung từ cuối tập tin hostname Xem, đổi tên máy passwd Đổi mật khẩu cho user VII.3. Sử dụng trợ giúp man Trong MS DOS để biết cú pháp hay ý nghĩa của một lệnh chúng ta hay dùng giúp đỡ của lệnh bằng cách đánh tham số /? vào phía sau lệnh, còn Windows có bộ Help cho phép bạn tìm kiếm các thông tin liên quan đến một vấn đề nào đó. Linux cung cấp cho bạn một hệ thống thư viện giúp đỡ bạn tìm các thông tin theo từ khóa bạn nhập vào. Dù không có giao diện bằng Window, nhưng các tài liệu giúp đỡ này rất có ích đối với người sử dụng đặc biệt khi sử dụng các lệnh. Các bạn sẽ biết các lệnh trong Linux sử dụng rất nhiều tùy chọn mà chúng ta không thể nhớ hết được, Linux cung cấp trình trợ giúp man $man [từ-khóa] Ví dụ: Tìm kiếm các thông tin về lệnh ls $man ls Bạn dùng phép điều khiển lên, xuống để xem trang man. Nếu muốn xem từng trang dùng phím space. Để thoát khỏi man: chọn phím q Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 38/271
  39. Hướng dẫn giảng dạy Man phân dữ liệu mình lưu trữ thành những đoạn (session) khác nhau với các chủ đề khác nhau là Session Tên chủ đề Ý nghĩa 1 User command các lệnh thông thường của hệ điều hành 2 system call các hàm thư viện kernel của hệ thống 3 subroutines các hàm thư viện lập trình 4 devices các hàm truy xuất tập tin và xử lý thiết bị 5 File format các hàm định dạng tập tin 6 games các hàm liên quan đến trò chơi 7 Miscell các hàm khác 8 Sys. admin các hàm quản trị hệ thống Xác định cụ thể thông tin của một chủ đề nào, chúng ta dùng lệnh man như sau: $man [session] [từ-khóa] Ví dụ : man 3 printf :Xem các thông tin về hàm prinf dùng trong lập trình Nếu chúng ta không xác định session thì session mặc nhiên là 1 VIII. Khởi động hệ thống VIII.1. Các bước khởi động hệ thống: - Bước 1: Khi một máy PC bắt đầu khởi động, bộ vi xử lý sẽ tìm đến cuối vùng bộ nhớ hệ thống của BIOS và thực hiện các chỉ thị ở đó. - Bước 2: BIOS sẽ kiểm tra hệ thống, tìm và kiểm tra các thiết bị và tìm kiếm đĩa chứa trình khởi động. Thông thường, BIOS sẽ kiểm tra ổ đĩa mềm, hoặc CDROM xem có thể khởi động từ chúng được không, rồi đến đĩa cứng. Thứ tự của việc kiểm tra các ổ đĩa phụ thuộc vào các cấu hình trong BIOS. - Bước 3: Khi kiểm tra ổ đĩa cứng, BIOS sẽ tìm đến MBR và nạp vào vùng nhớ hoạt động chuyển quyền điều khiển cho nó. - Bước 4: MBR chứa các chỉ dẫn cho biết cách nạp trình quản lý khởi động GRUB/LILO cho Linux hay NTLDR cho Windows NT/2000. MBR sau khi nạp trình quản lý khởi động, sẽ chuyển quyền điều khiển cho trình quản lý khởi động. - Bước 5: Boot loader tìm kiếm boot partition và đọc thông tin cấu hình trong file grub.conf hoặc lilo.conf và hiển thị Operating Systems kernel có sẵn trong hệ thống để cho phép chúng ta lựa chọn OS kernel boot. Ví dụ về grub.conf default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Fedora Core (2.6.8-1.521) root (hd0,0) kernel /vmlinuz-2.6.8-1.521 ro root=LABEL=/ initrd /initrd-2.6.8-1.521.img title Windows 2000 rootnoverify (hd0,1) Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 39/271
  40. Hướng dẫn giảng dạy chainloader +1 - Bước 6: Sau khi chọn kernel boot trong file cấu hình của boot loader, hệ thống tự động load chương trình /sbin/init để số kiểm tra hệ thống tập tin (file system check) sau đó đọc file /etc/inittab để xác định mức hoạt động(runlevel). Các Linux runlevel Mode/runlevel Thư mục lưu Mô tả mode hoạt động script file(Directory) 0 /etc/rc.d/rc0.d Là mức shutdown hệ thống(halt) 1 /etc/rc.d/rc1.d Chỉ dành cho một người dùng thường dùng để sửa lỗi hệ thống tập tin.(còn gọi là single user mode) 2 /etc/rc.d/rc2.d Không sử dụng(user- definable) 3 /etc/rc.d/rc3.d Sử dụng cho nhiều người dùng nhưng chỉ giao tiếp dưới dạng Text(Full multi- user mode no GUI interface) 4 /etc/rc.d/rc4.d Không sử dụng(user- definable) 5 /etc/rc.d/rc5.d Sử dụng cho nhiều người dùng và có thể cung cấp giao tiếp đồ họa.(Full multiuser mode ) 6 /etc/rc.d/rc6.d Mức reboot hệ thống - Bước 7: Sau khi xác định runlevel(thông qua biến initdefault), chương trình /sbin/init sẽ thực thi các file startup script được đặt trong các thư mục con của thư mục /etc/rc.d. Script sử dụng runlevel 0->6 để xác thư mục chứa file script chỉ định cho từng runlevel như: /etc/rc.d/rc0.d -> /etc/rc.d/rc6.d. Ta tham khảo một số file script trong thư mục /etc/rc.d/rc3.d/ K01yum K50snmptrapd S09isdn S40snortd S90mysql K05innd K50tux S10network S44acpid S90xfs K05saslauthd K50vsftpd S12syslog S55cups S95anacron K15postgresql K54dovecot S13irqbalance S55named S95atd K20nfs K70aep1000 S13portmap S55sshd S97messagebus K24irda K70bcm5820 S14nfslock S56rawdevices S97rhnsd K25squid K74ntpd S20random S56xinetd S99local K34yppasswdd K74ypserv S24pcmcia S78mysqld S99webmin K35smb K74ypxfrd S25netfs S80sendmail K35vncserver K92iptables S26apmd S85gpm K35winbind S00microcode_ctl S28autofs S85httpd K50snmpd S05kudzu S40smartd S90crond Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 40/271
  41. Hướng dẫn giảng dạy Ta cần lưu ý tên tập tin bắt đầu bằng từ khóa “S” có nghĩa rằng tập tin này sẽ được thực thi lúc khởi động hệ thống, ngược lại tập tin bắt đầu bằng từ khóa “K” nghĩa rằng tập tin đó được thực thi khi hệ thống shutdown, số theo sau các từ khóa “S” và “K” để chỉ định trình tự khởi động các script, kế tiếp là tên file script cho từng dịch vụ . - Bước 8: Nếu như ở bước 4 runlevel 3 được chọn lựa thì hệ thống sẽ chạy chương trình login để yêu cầu đăng nhập cho từng user trước khi sử dụng hệ thống, nếu runlevel 5 được chọn lựa thì hệ thống sẽ load X terminal GUI application để yêu cầu đăng nhập cho từng user. IX. Shutdown và Reboot hệ thống - Để shutdown hệ thống ta thực hiện một trong các cách sau: + [root@server root]# init 0 + [root@server root]# shutdown -hy t (shutdown hệ thống sau khoảng thời gian t giây) + [root@server root]# halt + [root@server root]# poweroff - Để reboot hệ thống ta có thể thực hiện một trong các cách sau: + [root@server root]# init 6 + [root@server root]# reboot + [root@server root]# shutdown –ry 10 (chỉ định 10 phút sau hệ thống sẽ reboot hệ thống) X. Sử dụng runlevel Chuyển đổi runlevel: Runlevel được hiểu là các mức hoạt động của hệ thống, để chuyển đổi các mức hoạt động này ta dùng lệnh init #runlevel_number. Ví dụ ta muốn chuyển sang mức 1 ta dùng lệnh init 1 lúc này dấu nhắc shell của hệ thống ở dạng bash-2.05b#, ta có thể dùng lệnh startx để chuyển sang runlevel 5 (tương đương với lệnh init 5). Đặt runlevel mặc định cho hệ thống ta dùng trình tiện ích mc để hiệu chỉnh thông số runlevel X(0->6) id:X:initdefault: XI. Phục hồi mật khẩu cho user quản trị Trong trường hợp ta để mất mật khẩu của user quản trị(root user), lúc có nhiều cách để phục hồi mật khẩu cho user này: + Ta có thể dùng lệnh đĩa mềm khởi động (ta có thể dùng lệnh mkbootdisk hoặc dd để tạo đĩa này, ) + Dựa vào boot loader LILO hoặc GRUB(ta chỉ sử dụng cách này trong trường hợp ta có thể edit được boot loader khi khởi động, nếu không ta phải dùng cách 1) Ta thực hiện điển hình cách 2(dựa vào grub boot loader) như sau: Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 41/271
  42. Hướng dẫn giảng dạy + Khởi động máy. + Khi GRUB Screen hiển thị ta chọn phím e để edit boot loader(nếu ta có đặt mật khẩu cho GRUB thì nhập mật khẩu vào). + Chọn mục kernel /boot . Sau đó bấm phím e để edit mục này và thêm từ khóa -s để vào runlevel 1 sau đó bẩm phím enter + Sau khi thực thi bước 3 ta bấm phím b để boot hệ thống vào runlevel 1 và thực hiện lệnh passwd để thay đổi mật khẩu của user root. + dùng lệnh init 6 để reboot hệ thống. XII. Tìm hiểu boot loader XII.1. GRUB boot loader XII.1.1 Tổng quan GRUB là trình khởi động máy tính, nó có nhiệm vụ tải nhân và khởi động hệ thống Linux cũng như một số hệ điều hành khác: FreeBSD, NetBSD, OpenBSD, GNU HURD, DOS, Windows 95, 98, Me, NT, 2000 và XP Năm 1995, Erich Boley thiết kế GRUB. Năm 1999, Gordon Matzigkeit và Yoshinori K. Okuji kế thừa GRUB thành gói phần mềm GNU chính thức. - GRUB hỗ trợ nhiều hệ điều hành bằng cách khởi động trực tiếp nhân hệ điều hành hoặc bằng cách nạp chuỗi (chain-loading). - GRUB hỗ trợ nhiều hệ thống tập tin: BSD FFS, DOS FAT16 và FAT32, Minix fs, Linux ext2fs và ext3fs, ReiserFS, JSF, XFS, và VSTa fs. - GRUB cung cấp giao diện dòng lệnh linh hoạt lẫn giao diện thực đơn, đồng thời cũng hỗ trợ tập tin cấu hình. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 42/271
  43. Hướng dẫn giảng dạy XII.1.2 Tập tin cấu hình Đoạn thứ nhất: mô tả các chỉ thị tổng quát như: + Hệ điều hành mặc định (default) + Thời gian chờ đợi người dùng nhập dữ liệu trước khi thực hiện lệnh mặc định (timeout=10), tính bằng giây. + Ta cũng có thể chọn màu để hiển thị trình đơn (color green/black light-gray/blue) Đoạn thứ hai: cho biết các thông số để khởi động hệ Linux: + Tiêu đề trên trình đơn là Red Hat Linux (title) + Hệ điều hành này sẽ khởi động từ partition đầu tiên của ổ đĩa thứ nhất – / (hda0,0:ổ đĩa thứ nhất, partition thứ nhất). Và cần phải mount partition này trước. + Tập tin vmlinuz đang được chứa trong thư mục root và filesystem root đang nằm trên partition thứ năm của đĩa cứng thứ nhất (/dev/hdc5) + Dòng lệnh boot nhắc phải nạp ngay hệ điều hành đã được khai báo ở trên. Đoạn thứ ba: cho biết các thông số về hệ điều hành thứ hai đang được cài đặt trong hệ thống. + Tiêu đề là Windows + Hệ điều hành đang chiếm partition thứ nhất của ổ đĩa thứ hai (hda1,0). Có điều với lệnh rootnoverify, GRUB không cần chú ý kiểm tra xem partition này có được mount hay không. + Cấu lệnh chainloader + 1 đã sử dụng +1 làm tên tập tin cần khởi động như một mắc xích trong tiến trình: +1 có nghĩa là sector thứ nhất của partition đang xét + Bạn có thể dùng lệnh man grub.conf để tìm hiểu thêm về tập tin cấu hình này. + Lưu ý: Từ GRUB muốn chuyển sang LILO thực hiện các bước sau: + Trong thư mục /etc có tập tin lilo.conf.anaconda. Từ tập tin này copy thành tập tin lilo.conf + Thực thi lệnh lilo XII.1.3 Bảo mật cho GRUB Dùng tính năng mật khẩu của GRUB để chỉ cho phép người quản trị dùng các hoạt động tương tác (như biên tập đề mục thực đơn và vào giao diện dòng lệnh). Để sử dụng tính năng này, cần chạy lệnh password trong tập tin cấu hình: password md5 Khi đó GRUB không cho phép điều khiển tương tác nào ( và ), cho đến khi gõ phím và nhập đúng mật khẩu. Tuỳ chọn md5 cho GRUB biết rằng PASSWORD ở định dạng MD5. Nếu không sử dụng tuỳ chọn này, GRUB cho rằng PASSWORD ở dạng văn bản thuần tuý. XII.1.4 Khởi động GRUB từ ntldr - Cài GRUB lên sector khởi động của một phân vùng (chẳng hạn như /boot, ở /dev/hda2). - Chép sector khởi động đó vào đĩa mềm hoặc một hệ thống tập tin trên đĩa cứng, thí dụ cho đĩa mềm (sau khi đã được gán tại /mnt/floppy): dd if=/dev/hda2 of=/mnt/floppy/bootsect.lnx bs=512 count=1 - Tên của tập tin bootsect.lnx phải theo quy định 8.3 để ntldr có thể nhận diện được. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 43/271
  44. Hướng dẫn giảng dạy - Khởi động lại Windows và chép tập tin bootsect.lnx vào thư mục gốc trên đĩa C: - Thay đổi thuộc tính chỉ-đọc của tập tin C:\boot.ini, nếu cần, bằng Windows Explorer hoặc bằng dòng lệnh (C:\attrib -s -r c:\boot.ini, và sau khi thực hiện xong C:\attrib +s +r c:\boot.ini). Mở tập tin boot.ini bằng một trình biên tập, chẳng hạn như Notepad, thêm dòng c:\bootsect.lnx="Linux" vào tập tin đó. [bootloader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operatingsystems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional"/fastdetect c:\bootsect.lnx="Linux" Mỗi khi thay đổi sector khởi động dùng để tạo bootsect.lnx, cần phải cập nhật bản mới của tập tin này. XII.2. LILO boot loader LILO là một boot manager nằm trọn gói chung với các bản phát hành Red Hat, và là boot manager mặc định cho Red Hat 7.1 trở về trước. XII.2.1 Thiết lập cấu hình LILO. LILO đọc thông tin chứa trong tập tin cấu hình /etc/lilo.conf để biết xem hệ thống máy bạn có những hệ điều hành nào, và các thông tin khởi động nằm ở đâu. LILO được lập cấu hình để khởi động một đoạn thông tin trong tập tin /etc/lilo.conf cho từng hệ điều hành. Sau đây là ví dụ về tập tin /etc/lilo.conf Đoạn 1: - Boot=/dev/hda - Map=/boot/map - Install=/boot/boot.b - Prompt - Timeout=50 - Message=/boot/message - Lba32 - Default=linux Đoạn 2: - Image=/boot/vmlinuz-2.4.0-0.43.6 - Label=linux - Initrd=/boot/initrd-2.4.0-0.43.6.img - Read-only - Root=/dev/hda5 Đoạn 3: - Other=/dev/hda1 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 44/271
  45. Hướng dẫn giảng dạy - Label=dos Đoạn thứ nhất: + Cho biết LILO cần xem xét vào MBR (boot=/dev/hda1) + Kiểm tra tập tin map + Nó còn cho biết LILO có thể cài đặt một tập tin đặc biệt (/boot/boot.b) như là một sector khởi động mới + Thời gian chờ trước khi nạp hệ điều hành mặc định (default=xxx) được khai báo thông qua dòng timeout=50 (5 giây) – thời gian tính bằng 1/10 của giá trị”. + Nạp thông tin trong quá trình khởi động từ tập tin /boot/message + Dòng LBA32 cho biết cấu hình của đĩa cứng: cho biết đĩa cứng của bạn hỗ trợ LBA32, thông thường dòng này có giá trị linear (bạn không nên đổi lại dòng này nếu bạn không hiểu rõ ổ đĩa cứng của bạn, bạn có thể tìm hiểu đĩa cứng của bạn có hỗ trợ LBA32 hay không bằng cách xem trong BIOS) Đoạn thứ hai: + Cung cấp thông tin khởi động cho hệ điều hành linux + Dòng image báo cho LILO biết vị trí của kernel Linux + Dòng label hiện diện ở cả 2 đoạn cho biết tên của hệ điều hành nào sẽ xuất hiện tại trình đơn khởi động của LILO. + Dòng root xác định vị trí root file system của Linux Đoạn thứ ba: Dòng other cho biết partition của một hệ điều hành nữa đang ở hda1 của ổ đĩa cứng. Lưu ý: Từ LILO muốn chuyển sang GRUB thực hiện cài đặt như sau: #/sbin/grub-install [tên_ổ_đĩa] Ví dụ: #/sbin/grub-install /dev/had Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 45/271
  46. Hướng dẫn giảng dạy BÀI 3 Hệ Thống Tập Tin Tóm tắt Lý thuyết: 8 tiết - Thực hành: 10 tiết. Bài tập bắt Bài tập làm Mục tiêu Các mục chính buộc thêm Bài học này giới thiệu I. Cấu trúc hệ thống tập tin. Bài tập 3.1 II. Cấu trúc cây thư mục. (sách bài các khái niệm cơ bản III. Các thao tác trên hệ thống tập tập - Hệ về hệ thống tập tin, tin và đĩa. thống tập cấu trúc hệ thống tập IV. Các thao tác trên tập tin và thư tin) tin, các loại tập tin mục. được hỗ trợ trên linux, V. Lưu trữ tập tin/thư mục. cách tạo và quản lý VI. Bảo mật hệ thống tập tin. các hệ thống tập tin, sử dụng các lệnh liên quan đến hệ thống tập tin, thư mục. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 46/271
  47. Hướng dẫn giảng dạy I. Cấu trúc hệ thống tập tin - Mỗi hệ điều hành có cách tổ chức lưu trữ dữ liệu riêng. Ở mức vật lý, đĩa được định dạng từ các thành phần sector, track, cylinder. Ở mức logic, mỗi hệ thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để có thể xác định được dữ liệu từ mức logic tới mức vật lý. Cách tổ chức như vậy gọi là hệ thống tập tin (file system). - Chẳng hạn như Windows sử dụng hệ thống tập tin FAT16, FAT32, WinNT sử dụng NTFS để tăng cường bảo mật hệ thống tập tin. - Hệ thống tập tin là một phần cơ bản của hệ điều hành Linux. - Một hệ thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư mục. - Hệ thống tập tin Linux bao gồm: đĩa mềm, CD-ROM, những partition của đĩa cứng. Những hệ thống tập tin thường được tạo trong quá trình cài đặt hệ điều hành. Nhưng bạn cũng có thể thay đổi cấu trúc hệ thống tập tin khi thêm thiết bị hay chỉnh sửa những partition đã tồn tại. Như vậy, việc biết và hiểu cấu trúc hệ thống tập tin trong Linux thật là quan trọng. - Linux hỗ trợ rất nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc. Hệ thống tập tin cơ bản của Linux là ext2 và ext3 (hiện tại là ext3). Hệ thống tập tin này cho phép đặt tên tập tin tối đa 256 ký tự và kích thước tối đa là 4terabytes. MS-DOS dùng để truy cập trực tiếp những tập tin MS-DOS. Bên cạnh đó, Linux còn hỗ trợ vfat cho phép đặt tên tập tin dài đối với những tập tin MS-DOS và những partition FAT32. Proc là một hệ thống tập tin ảo (/proc) nghĩa là không dành dung lượng đĩa phân phối cho nó. Ngoài ra còn có những hệ thống tập tin khác như iso9660, UMSDOS, Network File System (NFS). - Các thành phần của hệ thống tập tin: + Superblock + Inode + Storageblock Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin. Nó lưu trữ thông tin về hệ thống tập tin như: Thông tin về block-size, free block, thời gian gắn kết(mount) cuối cùng của tập tin Inode (256 byte): Lưu những thông tin về những tập tin và thư mục được tạo ra trong hệ thống tập tin. Nhưng chúng không lưu tên tập tin và thư mục thực sự. Mỗi tập tin tạo ra sẽ được phân bổ một inode lưu thông tin sau: + Loại tập tin và quyền hạn truy cập tập tin + Người sở hữu tập tin. + Kích thước của tập tin và số hard link đến tập tin. + Ngày và thời gian chỉnh sửa tập tin lần cuối cùng. + Vị trí lưu nội dung tập tin trong hệ thống tập tin. Storageblock: Là vùng lưu dữ liệu thực sự của tập tin và thư mục. Nó chia thành những Data Block. Dữ liệu lưu trữ vào đĩa trong các data block. Mỗi block thường chứa 1024 byte. Ngay khi tập tin chỉ có 1 ký tự thì cũng phải cấp phát 1 block để lưu nó. Không có ký tự kết thúc tập tin. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 47/271
  48. Hướng dẫn giảng dạy + Data Block của tập tin thông thường lưu inode của tập tin và nội dung của tập tin + Data Block của thư mục lưu danh sách những entry bao gồm inode number, tên của tập tin và những thư mục con. I.1. Loại tập tin. Trong linux tập tin dùng cho việc lưu trữ dữ liệu. Nó bao gồm cả thư mục và các thiết bị lưu trữ. Một tập tin dữ liệu, hay một thư mục đều được xem là tập tin. Khái niệm tập tin còn mở rộng dùng cho các thiết bị như máy in, đĩa cứng ngay cả bộ nhớ chính cũng được coi như là một tập tin, các tập tin trong linux được chia ra làm 3 loại chính: - Tập tin chứa dữ liệu bình thường - Thư mục - Tập tin thiết bị Tập tin dữ liệu: Đây là tập tin theo định nghĩa truyền thống, nó là dữ liệu lưu trữ trên các thiết bị lưu trữ như đĩa cứng, CD-ROM Bạn có thể đưa bất cứ dữ liệu nào vào tập tin này như đoạn source chương trình, tập tin văn bản hay tập tin thực thi dạng mã máy, các lệnh của Linux cũng như tất cả các tập tin được tạo ra bởi người dùng. Tập tin thư mục: Thư mục không chứa dữ liệu, mà chỉ chứa các thông tin của những tập tin và thư mục con trong nó. Thư mục chứa hai trường của một tập tin là tên tập tin và inode number. Tập tin thiết bị :Hệ thống Unix và Linux xem các thiết bị như là các tập tin. Ra vào dữ liệu trên các tập tin này chính là ra vào dữ liệu cho thiết bị. Ví dụ khi chúng ta muốn chép dữ liệu ra ổ đĩa A: thì sẽ chép vào tập tin /dev/fd0 hoặc khi chúng ta thực hiện việc in thì dữ liệu vào máy in được đưa vào tập tin tương ứng cho máy in. I.2. Liên kết tập tin Link (Liên kết) một liên kết, hiểu theo cách đơn giản nhất, là tạo ra một tên tập tin thứ hai cho một tập tin. Ví dụ, bạn có một tập tin /usr/lib/testfile và muốn có một tập tin giống như vậy trong thư mục /usr/tim, bạn không cần phải copy nó mà chỉ cần tạo một liên kết với lệnh sau: #ln /usr/bill/testfile /usr/tim/testfile Cú pháp của lệnh ln: $ln Lý do cơ bản của việc tạo liên kết là nhân tập tin lên nhiều lần. Trong ví dụ trên, cả hai tập tin chính là một. Do đó, nếu có bất kỳ sự thay đổi nào trên một tập tin sẽ ảnh hưởng ngay đến tập tin còn lại. Hard Link: là một liên kết trong cùng hệ thống tập tin với hai inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu). Nếu bạn muốn thấy điều này, dùng lệnh sau: Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 48/271
  49. Hướng dẫn giảng dạy $ ls -i testfile 14253 testfile Sau đó tạo một liên kết có một tên khác và hiển thị thông tin của inode entry. $ ln testfile test2 $ ls -i testfile test2 14253 testfile 14253 test2 Cả hai tập tin đều có inode number giống nhau Symbolic Link: Là một liên kết khác mà không sử dụng inode entry cho việc liên kết. Bạn sử dụng liên kết này khi muốn tạo ra những driver thiết bị, như /dev/modem thay cho /dev/cua1. Tùy chọn –s của lệnh ln cho phép tạo ra một symbolic link. Ví dụ: $ ls -i bigfile 6253 bigfile $ ln -s bigfile anotherfile $ ls -i bigfile anotherfile 6253 bigfile 8358 anotherfile Như bạn thấy, nội dung inode number của các tập tin khác nhau. Liệt kê một thư mục sẽ thấy symbolic link: lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile -rw-rw-r 1 root root 2 Sep 17:23 bigfile Lưu ý: khi xóa tập tin gốc, nội dung của tập tin hard link không bị ảnh hưởng nhưng nội dung tập tin symbolic link không xem được. II. Cấu trúc cây thư mục Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 49/271
  50. Hướng dẫn giảng dạy Hệ thống tập tin Linux có cấu trúc như hình vẽ trên. Trong Linux không có khái niệm ổ đĩa như trong Windows, tất cả các tập tin thư mục bắt đầu từ thư mục gốc (/). Linux sử dụng dấu “.” chỉ thư mục hiện hành và dấu “ ” chỉ thư mục cha của thư mục hiện hành. Như hình vẽ trên thư mục gốc được mount vào partition thứ nhất, /usr được mount vào partition thứ 2 Những dữ liệu ghi vào thư mục /home sẽ ghi vào partition thứ 3. Tương tự, dữ liệu của thư mục /usr/local ghi vô partition 4, dữ liệu của thư mục /usr không phải thư mục con /usr/local thì ghi vào partion 2. Linux sử dụng các tập tin chỉ đến các partition trên ổ đĩa vật lý. Những tập tin này là những tập tin thiết bị, nằm trong thư mục /dev. Tập các tập tin này có dạng đầu tin là ký tự xác định loại ổ đĩa như: đĩa mềm là fd, đĩa cứng là hd, đĩa scsi là sd tiếp theo là số thứ tự ổ đĩa: Ổ đĩa thứ nhất dùng ký hiệu a, thứ 2 ký hiệu là b và sau cùng là số thứ tự partition. Ví dụ: tập tin chỉ đến các thiết bị : + ổ mềm thứ nhất : /dev/fd0 + partition thứ nhất của ổ đĩa cứng đầu tin : /dev/hda1 + partition thứ 3 của đĩa cứng thứ 2 : /dev/hdb3. Các thư mục cơ bản trên Linux Thư mục Chức năng /bin, Chứa các tập tin nhị phân hỗ trợ cho việc boot và /sbin thực thi các lệnh cần thiết. /boot Chứa linux kernel, file ảnh hỗ trợ load hệ điều hành /lib Chứa các thư viện chia sẻ cho các tập tin nhị phân trong thư mục /bin và /sbin, chứa kernel module. /usr/local Chứa các thư viện, các phần mềm để chia sẻ cho các máy khác trong mạng. /tmp Chứa các file tạm /dev Chứa các tập tin thiết bị(như CDROM, floppy), và một số file đặc biệt khác. /etc Chứa các tập tin cấu hình hệ thống /home Chứa các thư mục lưu trữ home directory của người dùng /root Lưu trữ home directory cho user root /usr Lưu trữ tập tin của các chương trình đã được cài đặt trong hệ thống. /var Lưu trữ log file, hàng đợi của các chương trình ứng dụng, mailbox của người dùng. /mnt Chứa các mount point của các thiết bị được mount vào trong hệ thống. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 50/271
  51. Hướng dẫn giảng dạy /proc Lưu trữ thông tin về kernel Các thư mục có thể sử dụng làm mount point cho các thiết bị riêng: như: /boot, /home, /root, /tmp, /usr, /usr/local, /opt, /var. III. Các thao tác trên hệ thống tập tin và đĩa III.1. Mount và umount một hệ thống tập tin Muốn mount một hệ thống tập tin vào cây thư mục, bạn phải có một partition vật lý như CD-ROM, đĩa mềm Và một điều kiện nữa là thư mục mà bạn muốn mount(mount point) vào phải là thư mục có thật. Nó phải có trước khi mount một hệ thống tập tin. Lưu ý: muốn biết thư mục hiện hành đang ở hệ thống tập tin nào, bạn dùng lệnh df. Lệnh này sẽ hiển thị hệ thống tập tin và khoảng trống còn lại trên đĩa. III.1.1 Mount hệ thống tập tin có tính tương tác Để mount một hệ thống tập tin, bạn dùng lệnh mount theo cú pháp sau: #mount Trong đó: Tên-thiết-bị: là thiết bị vật lý như /dev/cdrom (CD-ROM), /dev/fd0 (đĩa mềm), /dev/hda1 điểm-mount: là vị trí thư mục, trong cây thư mục, mà bạn muốn mount vào Một số tùy chọn của lệnh mount: + -f: làm cho tất cả mọi thứ đều hiện ra như thật, song nó chỉ gây ra động tác giả. + -v: chế độ chi tiết, cung cấp thêm thông tin về những gì mount định thực hiện. + -w: mount hệ thống tập tin với quyền đọc và ghi. + -r: mount hệ thống tập tin chỉ có quyền đọc mà thôi. + -t loại: xác định lại hệ thống tập tin đang được mount. Những loại hợp lệ là minux, ext2, ext3, msdos, hpfs, proc, nfs, umsdos, iso9660, vfat. + -a: mount tất cả những hệ thống tập tin được khai báo trong /etc/fstab. + -o remount chỉ định việc mount lại 1 filesystem nào đó. Ví dụ: mount cdrom: #mount /dev/cdrom mount một hệ thống tập tin: #mount /dev/hda6 /usr remount filesystem. #mount –o remount /home Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 51/271
  52. Hướng dẫn giảng dạy III.1.2 Mount một hệ thống tập tin khi khởi động Một khi đã làm việc ổn định, thường thì Linux sử dụng một số hệ thống tập tin hay dùng và ít khi thay đổi. Do đó, bạn có thể xác định danh sách các hệ thống tập tin nào Linux cần phải mount khi khởi động và cần phải umount khi đóng tắt. Các hệ thống tập tin này được liệt kê trong tập tin cấu hình /etc/fstab. Tập tin /etc/fstab liệt kê các hệ thống tập tin cần được mount theo từng dòng, mỗi dòng một hệ thống tập tin. Những trường trong mỗi dòng phân cách nhau bằng khoảng trống hoặc khoảng tab. Các field Mô tả Hệ thống tập Xác định thiết bị hoặc hệ thống tập tin tin cần mount Mount point Xác định điểm mount cho hệ thống tập tin. Đối với các hệ thống tập tin đặc biệt như swap, bạn dùng chữ none, có tác dụng làm cho tập tin swap hoạt động như nhìn vào cây thư mục không thấy. Type Chỉ ra loại hệ thống tập tin như msdos, vfat, iso9660, ext2 Mount Danh sách các tùy chọn được ngăn cách options nhau bởi dấu phẩy Dump Xác định khoảng thời gian để lệnh dump frequency sao chép (backup) hệ thống tập tin. Nếu trường này trống, dump sẽ giả định rằng hệ thống tập tin này không cần backup. Pass number Khai báo cho lệnh fsck biết thứ tự kiểm tra các hệ thống tập tin khi khởi động hệ thống. Hệ thống tập tin gốc (/) phải có giá trị1. Tất cả hệ thống tập tin khác phải có giá trị 2. Nếu không khai báo, khi khởi động, máy sẽ không kiểm tra tính nhất thống của hệ thống tập tin. Như vậy, khi muốn mount các hệ thống tập tin lúc khởi động, bạn nên sử dụng tập tin /etc/fstab thay vì dùng lệnh mount. Sau đây là ví dụ về tập tin /etc/fstab: Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 52/271
  53. Hướng dẫn giảng dạy III.1.3 Umount một hệ thống tập tin Sau khi làm quen với việc gắn những hệ thống tập tin vào cây thư mục Linux. Kế đến, bạn có thể tháo một hệ thống tập bằng lệnh umount. Bạn cần umount một hệ thống tập tin vì nhiều lý do như: kiểm tra hay sửa chữa hệ thống tập tin với lệnh fsck; khi gặp vấn đề về mạng; umount đĩa mềm hay CD-ROM Lệnh umount có 3 dạng: + #umount thiết-bị + #umount -a + #umount -t loại-fs Lưu ý : lệnh umount không umount những hệ thống tập tin đang sử dụng. Ví dụ: #cd /mnt #umount /mnt Lúc này máy sẽ báo lỗi là hệ thống tập tin đang bận(busy). Do đó, muốn umount /mnt bạn phải di chuyển đến một thư mục khác và một hệ thống tập tin khác III.2. Định dạng filesystem Dùng lệnh mkfs để định dạng cho mọi hệ thống tập tin(ext2, ext3, ) Cú pháp lệnh: #mkfs –t Ví dụ: mkfs –t ext2 /dev/hda1 (tương đương với lệnh mkfs.ext2 /dev/hda1 ) III.3. Quản lý dung lượng đĩa Để quản lý và theo dõi dung lượng đĩa ta có thể sử dụng nhiều cách khác nhau, thông thường ta dùng hai lệnh df và fdisk. Cú pháp lệnh: df , fdisk Ví dụ: Theo dõi các thông tin về file system được mount trong hệ thống. Liệt kê file system trong hệ thống: In theo dạng (MB,GB) Liệt kê các partition trong hệ thống Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 53/271
  54. Hướng dẫn giảng dạy Ta có thể tham khảo chi tiết thông tin về hai lệnh trên ta dùng lệnh man df III.4. Duy trì hệ thống tập tin với lệnh fsck Người quản trị hệ thống chịu trách nhiệm duy trì tính nhất quán của các hệ thống tập tin. Công việc thường làm là thỉnh thoảng kiểm tra xem có tập tin nào hỏng không. Linux sẽ tự động kiểm tra hệ thống tập tin lúc khởi động nếu chúng có giá trị lớn hơn 0 và được xác định trong trường pass number của tập tin /etc/fstab. Để thực hiện những công việc trên, người quản trị dùng lệnh fsck(file system check), Cú pháp như sau: #fsck [tùy-chọn] hệ-thống-tập-tin Bảng sau đây mô tả các tùy chọn: Tùy Mô tả chọn -A Duyệt khắp tập tin /etc/fstab và cố gắng kiểm tra tất cả các hệ thống tập tin chỉ trong một lần duyệt. Nếu đã chọn –A, bạn không cần chỉ ra hệ thống tập tin. -V Chế độ chi tiết. Cho biết lệnh fsck đang làm gì. -t loai-fs Xác định loại hệ thống tập tin cần kiểm tra -a Tự động sửa chữa những hỏng hóc trong hệ thống tập tin mà không cần hỏi -l Liệt kê tất cả các tên tập tin trong hệ thống tập tin -r Hỏi trước khi sửa chữa hệ thống tập tin -s Liệt kê các superblock trước khi kiểm tra hệ thống tập tin. IV. Các thao tác trên tập tin và thư mục IV.1. Thao tác trên thư mục IV.1.1 Đường dẫn tương đối và tuyệt đối Đường dẫn trong Linux sử dụng là dấu / thay cho dấu \ được sử dụng trong Windows. Để xác định một tập tin hay thư mục chúng ta dùng đường dẫn tuyệt đối hay tương đối. Đường dẫn tuyệt đối là đường dẫn đầy đủ đi từ thư mục gốc (/) của cây thư mục. Ví dụ : /home/hv, /usr/local/vd.txt Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 54/271
  55. Hướng dẫn giảng dạy Trong một số trường hợp sử dụng các tập tin và thư mục là con của thư mục mình đang làm việc, lúc đó chúng ta sử dụng đường dẫn tương đối. Đường dẫn tương đối được tính từ thư mục hiện hành. Ví dụ chúng ta đang ở thư mục /home/hv khi gõ lệnh cat test.txt là chúng ta xem tập tin test.txt trong thư mục /home/hv. Linux dùng ký hiệu “.” chỉ thư mục hiện hành và ký hiệu “ ” chỉ thư mục cha của thư mục hiện hành. Ví dụ thư mục hiện hành là /usr/bin, đường dẫn /local tương đương /usr/local Chương trình thực thi trong Linux có 2 dạng chính là tập tin lệnh và tập tin binary. Tập tin lệnh là tập tin lưu các lệnh của shell tương tự tập tin bat trong DOS. Còn tập tin binary chứa mã máy tương tự tập tin .exe hoặc .com trong Windows. Trong Linux tên tập tin không có khái niệm mở rộng. Người ta thường sử dụng phần mở rộng để nói lên tính chất, ý nghĩa của tập tin chứ không để xác định chương trình thực thi tập tin. Ví dụ .txt chỉ tập tin dạng text, .conf chỉ tập tin cấu hình. Tập tin muốn thực thi được thì phải gán quyền thực thi(x). Khi thực thi chương trình phải xác định đường dẫn chính xác hoặc sử dụng đường dẫn trong biến môi trừơng PATH. Do vậy, muốn thực thi tập tin trong thư mục hiện hành phải dùng ./tên-file IV.1.2 Lệnh pwd Lệnh pwd cho phép xác định vị trí thư mục hiện hành. Ví dụ : [natan@netcom bin]$ pwd /usr/local/bin IV.1.3 Lệnh cd Lệnh cd cho phép thay đổi thư mục. Cú pháp: $cd [thư-mục] thư-mục: là nơi cần di chuyển vào. Ví dụ: $cd /etc IV.1.4 Lệnh ls Lệnh ls cho phép liệt kê nội dung thư mục. Cú pháp: ls [tùy chọn] [thư mục] ls –x hiển thị trên nhiều cột. ls –l hiển thị chi tiết các thông tin của tập tin. ls –a hiển thị tất cả các tập tin kể cả tập tin ẩn. Ví dụ: $ ls –l /etc -rw-r r 1 root root 920 Jun 25 2001 im_palette-small.pal -rw-r r 1 root root 224 Jun 25 2001 im_palette-tiny.pal -rw-r r 1 root root 5464 Jun 25 2001 imrc Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 55/271
  56. Hướng dẫn giảng dạy -rw-r r 1 root root 10326 Apr 12 08:42 info-dir lrwxrwxrwx 1 root root 11 Apr 12 07:52 init.d -> rc.d/init.d Ý nghĩa các cột từ trái sang phải + Cột 1: ký tự đầu tiên : - chỉ tập tin bình thường, d chỉ thư mục, l chỉ link và phía sau có dấu -> chỉ tới tập tin thật. + Các ký tự còn lại chỉ quyền truy xuất + Cột thứ 2: Chỉ số liên kết đến tập tin này. + Cột thứ 3, 4 : Người sở hữu và nhóm sở hữu + Cột thứ 5 : Kích thước tập tin, thư mục + Cột thứ 6 : Chỉ ngày giờ sửa chữa cuối cùng + Cột thứ 7 : Tên tập tin, thư mục Bạn muốn xem thông tin 1 hay nhiều tập tin có thể dùng $ls -l tập-tin1 tập-tin2 IV.1.5 Lệnh mkdir Lệnh mkdir cho phép tạo thư mục. Cú pháp: $mkdir [tùy-chọn] [thư-mục] Ví dụ: $mkdir /home/web IV.1.6 Lệnh rmdir Lệnh cho phép xóa thư mục rỗng Cú pháp: $rmdir [tùy-chọn] [thư-mục] Ví dụ: $rmdir /home/web IV.2. Tập tin IV.2.1 Lệnh cat Lệnh cat dùng hiển thị nội dung của tập tin dạng văn bản. Để xem tập tin chúng ta chọn tên tập tin làm tham số. Cú pháp: $cat [tên-tập-tin] Ví dụ: $cat myfile Lệnh cat còn cho phép bạn xem nhiều tập tin cùng lúc $cat file1 file2 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 56/271
  57. Hướng dẫn giảng dạy Cat cũng được dùng để tạo và soạn thảo văn bản dạng text. Trong trường hợp này chúng ta sử dụng dấu > hay >> đi theo sau. Nếu tập tin cần tạo đã tồn tại, dấu > sẽ xóa nội dung của tập tin và ghi nội dung mới vào, dấu >> sẽ ghi nối nội dung mới vào sau nội dung cũ của tập tin. $cat > [Enter] > Các-dòng-dữ-liệu-của-tập tin > [Ctrl-d :kết thúc} IV.2.2 Lệnh more Lệnh more cho phép xem nội dung tập tin theo từng trang màn hình. Cú pháp: $more [tên-tập-tin] Ví dụ: $more /etc/passwd IV.2.3 Lệnh cp Lệnh cp cho phép sao chép tập tin Cú pháp: $cp Ví dụ: $cp /etc/passwd /root/passwd IV.2.4 Lệnh mv Lệnh mv cho phép thay đổi tên tập tin và di chuyển vị trí của tập tin Cú pháp: $mv Ví dụ: $cp /etc/passwd /root/pwd IV.2.5 Lệnh rm Lệnh rm cho phép xóa tập tin, thư mục. Cú pháp: $rm [tùy-chọn] [tên-tập-tin/thưmục] Các tùy chọn hay dùng: -r : xóa thư mục và tất cả các tập tin và thư mục con -l : xác nhận lại trước khi xóa IV.2.6 Lệnh find Cho phép tìm kiếm tập tin thỏa mãn điều kiện. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 57/271
  58. Hướng dẫn giảng dạy Cú pháp: #find [đường-dẫn] [biểu-thức-tìm-kiếm] o đường-dẫn: là đường dẫn thư mục tìm kiếm o biểu-thức-tìm-kiếm : tìm các tập tin hợp với điều kiện tìm . Tìm 1 tập tin xác định : #find [thư-mục] –name [tên-tập-tin] –print Ngoài ra, bạn có thể sử dụng những kí hiệu sau: “*” : viết tắt cho một nhóm ký tự “?” : viết tắt cho một ký tự Có thể sử dụng man để có các lựa chọn tìm kiếm đầy đủ hơn IV.2.7 Lệnh grep Lệnh grep cho phép tìm kiếm một chuỗi nào đó trong nội dung tập tin. Cú pháp : #grep [biểu-thức-tìm-kiếm] [tên-tập-tin] Tìm trong tập tin có tên [tên-tập-tin] những dữ liệu thỏa mãn [biểu-thức-tìm-kiếm] Ví dụ : grep “nva” /etc/passwd Tìm kiếm trong tập tin /etc/passwd và hiển thị các dòng có xuất hiện chuỗi “nvan”. IV.2.8 Lệnh touch Là lệnh hỗ trợ việc tạo và thay đổi nội dung tập tin Cú pháp : touch file Ví dụ: #touch file1.txt file2.txt (tạo hai tập tin file1.txt và file2.txt) IV.2.9 Lệnh dd Sao chép và chuyển đổi file. Ví dụ: dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 (if là input file, of là output file) IV.3. Các tập tin chuẩn trong Linux Khi khởi động chương trình Linux, nó giao tiếp với người dùng qua việc hiển thị thông tin ra màn hình. Thông tin hiển thị màn hình có thể là dữ liệu của chương trình hay lỗi phát sinh khi có lỗi xảy ra. Người dùng giao tiếp với chương trình qua các kí tự gõ vào bàn phím. Luồng dữ liệu vào từ bàn phím gọi là nhập chuẩn. Luồng dữ liệu ra màn hình gọi là xuất chuẩn còn luồng dữ liệu thông báo lỗi là lỗi chuẩn. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 58/271
  59. Hướng dẫn giảng dạy Trong Linux, các luồng giao tiếp chuẩn được xem như các tập tin dữ liệu và được đánh số theo thứ tự: Tập tin nhập (file input) chuẩn là 0, tập tin xuất (file output) chuẩn là 1 và tập tin lỗi chuẩn là 2. Các số này được gọi là tập tin mô tả (file descriptor). Sử dụng chương trình cat để soạn thảo, chúng ta gõ: $ cat > filename . Tất cả các dữ liệu chúng ta đưa vào từ bàn phím được xem là tập tin nhập chuẩn. Dùng lệnh ls bạn sẽ nhận được dữ liệu ra màn hình, đó là tập tin xuất chuẩn chuẩn. Một thông báo lỗi xuất hiện ở màn hình khi chúng ta gõ lệnh sai hoặc truy xuất vào các tập tin hay thư mục không có quyền chính là tập tin lỗi chuẩn. Ví dụ như bạn gõ lệnh listn thì sẽ xuất hiện lỗi invalid command. IV.3.1 Chuyển hướng (redirection) Chuyển tiếp là hình thức thay đổi luồng dữ liệu của các nhập, xuất và lỗi chuẩn. Khi sử dụng chuyển tiếp, nhập chuẩn có thể nhận dữ liệu từ tập tin thay vì bàn phím, xuất và lỗi chuẩn có thể xuất ra tập tin hay máy in Có 3 loại chuyển hướng: + Chuyển hướng nhập(Input redirection) + Chuyển hướng xuất(Output redirection) + chuyển hướng lỗi(Error redirection) IV.3.2 Chuyển hướng nhập: Theo qui ước thì các lệnh lấy dữ liệu từ thiết bị nhập chuẩn(bàn phím). Để lệnh lấy dữ liệu từ tập tin chúng ta dùng ký hiệu ” Cú pháp: $lệnh > tập-tin Ví dụ: Liệt kê nội dung thư mục và chuyển kết quả ra tập tin $ls –l > tm.txt Để chèn thêm dữ liệu vào cuối tập tin đã tồn tại bạn dùng dấu “>>” thay cho dấu “>” Cú pháp: $lệnh >> tập-tin Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 59/271
  60. Hướng dẫn giảng dạy Ví dụ: $cat a.txt >> sum.txt IV.4. Đường ống (Pipe) Pipe là còn gọi là truyền thẳng. Nó là cách truyền dữ liệu sử dụng kết hợp 2 chuyển tiếp. Pipe sử dụng kết xuất của một chương trình làm dữ liệu nhập cho một chương trình khác. Ví dụ: $ls –l | more Kết quả của lệnh ls không xuất ra màn hình mà chuyển cho lệnh more xử lý như dữ liệu đầu vào. IV.5. Lệnh tee Hoạt động chuyển tiếp và đường ống là đặc điểm của hệ điều hành UNIX. Tuy nhiên bạn cũng có thể sử dụng 1 lệnh của Linux để làm việc này. Đó là lệnh tee, nó sẽ giảm bớt các kết quả gián tiếp của chuỗi đường ống. Ví dụ: $sort baocao | tee baocaostt | lp Đầu tiên lệnh tee gửi nhập chuẩn của nó đến xuất chuẩn của nó, trong trường hợp này gửi xuất của sort đến nhập của lp. Thứ hai tee sao chép 1 bản nhập chuẩn vào tập tin baocaostt. V. Lưu trữ tập tin/thư mục V.1. Lệnh gzip/gunzip gzip dùng để nén tập tin, còn gunzip dùng để giải nén các tập tin đã nén. Cú pháp của gzip và gunzip như sau: $gzip [tùy-chọn] [tên-tập-tin] $gunzip [tùy-chọn] [tên-tập-tin] gzip tạo tập tin nén với phần mở rộng .gz Các tùy chọn dùng cho gunzip và gzip: -c Chuỵển các thông tin ra màn hình -d Giải nén, gzip –d tương đương gunzip -h Hiển thị giúp đỡ. Ví dụ: #gzip /etc/passwd #gunzip /etc/passwd.gz V.2. Lệnh tar Lệnh này dùng để gom và bung những tập tin/thư mục. Nó sẽ tạo ra một tập tin có phần mở rộng .tar Cú pháp: #tar [tùy-chọn] [tập-tin-đích] [tập-tin-nguồn/thư-mục-nguồn ] Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 60/271
  61. Hướng dẫn giảng dạy Trong đó: + –cvf : gom tập tin/ thư mục + –xvf : bung tập tin / thư mục + tập-tin-đích: tập tin .tar sẽ được tạo ra. + tập-tin-nguồn/thư-mục-nguồn: những tập tin và thư mục cần gom. Ví dụ: #tar –cvf /home/backup.tar /etc/passwd /etc/group #tar –xvf /home/backup.tar VI. Bảo mật hệ thống tập tin VI.1. Quyền hạn Do Linux là một hệ điều hành đa nhiệm (multitasking) và đa người dùng (multiuser), nhiều người có thể cùng sử dụng một máy Linux và một người có thể cho chạy nhiều chương trình khác nhau. Có hai vấn đề lớn được đặt ra: quyền sở hữu các dữ liệu trên đĩa và phân chia tài nguyên hệ thống như CPU, RAM giữa các tiến trình (process). Tất cả các tập tin và thư mục của Linux đều có người sở hữu và quyền truy cập. Bạn có thể thay đổi các tính chất này đối với tập tin hay thư mục. Quyền của tập tin còn cho phép xác định tập tin có phải là một chương trình (application) hay không (khác với MSDOS và MSWindows xác định tính chất này qua phần mở rộng của tên tập tin). Ví dụ với lệnh ls –l: -rw-r—r— 1 fido users 163 Dec 7 14 : 31 myfile Cột đầu chỉ ra quyền hạn truy cập của tập tin, ví dụ trên, các ký tự –rw-r—r— biểu thị quyền truy cập của tập tin myfile. Linux cho phép người sử dụng xác định các quyền đọc (read), viết (write) và thực thi (execute) cho từng đối tượng. Có 3 dạng đối tượng + Người sở hữu (the owner) + Nhóm sở hữu (the group owner) + Người khác (“other users” hay everyone else). Quyền đọc cho phép bạn đọc nội dung của tập tin. Đối với thư mục, quyền đọc cho phép bạn di chuyển vào thư mục và xem nội dung của thư mục. Quyền viết cho phép bạn thay đổi nội dung hay xoá tập tin. Đối với thư mục, quyền viết cho phép bạn tạo ra, xóa hay thay đổi tên các tập tin trong thư mục không phụ thuộc vào quyền cụ thể của tập tin trong thư mục. Như vậy, quyền viết của thư mục sẽ vô hiệu hóa các quyền truy cập của tập tin trong thư mục và bạn đọc phải để ý tính chất này. Quyền thực thi cho phép bạn gọi chương trình lên bộ nhớ bằng cách nhập từ bàn phím tên của tập tin. Đối với thư mục, bạn chỉ có thể vào thư mục bởi lệnh cd nếu bạn có quyền thực thi với thư mục. -rw-r—r— 1 fido users 163 Dec 7 14 : 31 myfile Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 61/271
  62. Hướng dẫn giảng dạy Ký tự đầu tiên của quyền là ký tự “-” cho biết đó là một tập tin bình thường. Nếu ký tự d thay thế cho dấu “-“ thì myfile là một thư mục. Ngoài ra còn có c cho thiết bị ngoại vi dạng ký tự (như bàn phím), b cho thiết bị ngoại vi dạng block (như ổ đĩa cứng). Chín ký tự tiếp theo chia thành 3 nhóm, cho phép xác định quyền của 3 nhóm: người sở hữu (owner), nhóm sở hữu(group) và những người còn lại (other). Mỗi cặp ba này cho phép xác định quyền đọc, viết và thực thi theo thứ tự kể trên. Quyền đọc viết tắt là “r” ở vị trí đầu, quyền viết viết tắt bằng “w” ở vị trí thứ hai và vị trí thứ ba là quyền thực thi ký hiệu bằng chữ “x”. Nếu một quyền không được cho thì tại vị trí đó sẽ có ký tự “-”. Ký tự r w x r w x r w X Loại Owner group owner other users tập tin Trong trường hợp của tập tin myfile, người sở hữu có quyền rw tức là đọc và viết. Nhóm sở hữu và những người còn lại chỉ có quyền đọc tập tin (read-only). Bên cạnh đó, bạn còn biết myfile không phải là một chương trình. Song song với cách ký hiệu miêu tả bằng ký tự ở trên, quyền hạn truy cập còn có thể biểu diễn dưới dạng 3 số. Quyền hạn cho từng loại người dùng sử dụng một số có 3 bit tương ứng cho 3 quyền read, write và excute. Theo đó nếu cấp quyền thì bit đó là 1, ngược lại là 0. Giá trị nhị phân của số 3 bit này xác định các quyền cho nhóm người đó. Bit 2 bit 1 bit 0 read write excute Ví dụ: chỉ có quyền đọc : 100 có giá trị là 4 có quyền đọc và thực thi : 101 có giá trị là 5 Theo cách tính số thập phân, bạn cũng có thể xác định số quyền hạn bằng cách tính tổng giá trị của các quyền. Theo quy định trên ta có giá trị tương ứng như sau: Quyền Giá trị Read permission 4 Write permission 2 Execute permission 1 Ví dụ: Nếu có quyền read và excute thì số của quyền là : 4+1 =5 read , write và excute : 4+2+1=7 Tổ hợp của 3 quyền trên có giá trị từ 0 đến 7. Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 62/271
  63. Hướng dẫn giảng dạy + 0 or : Không có quyền + 1 or x: execute + 2 or -w-: write-only (race) + 3 or -wr: write và execute + 4 or r : read-only + 5 or r-x: read và execute + 6 or rw-: read và write + 7 or rwx: read, write và execute Như vậy khi cấp quyền trên một tập tin/thư mục, bạn có thể dùng số thập phân gồm 3 con số. Số đầu tiên miêu tả quyền của sở hữu, số thứ hai cho nhóm và số thứ ba cho những người còn lại. Ví dụ: Một tập tin với quyền 751 có nghĩa là sở hữu có quyền read, write và execute bằng 4+2+1=7. Nhóm có quyền read và execute bằng 4+1=5 và những người còn lại có quyền execute bằng 1. Chú ý: Người sử dụng có quyền đọc thì có quyền copy tập tin. Khi đó, tập tin sao chép sẽ thuộc sở hữu người làm copy. Ví dụ minh họa sau: $ ls -l /etc/passwd -rw-r r 1 root root 1113 Oct 13 12 : 30 /etc/passwd $ cp /etc/passwd ./ $ ls -l passwd -rw-r r 1 ndhung admin 1113 Oct 15 10 : 37 passwd VI.2. Lệnh chmd, chown, chgrp VI.2.1 Lệnh chmod Đây là lệnh được sử dụng rất phổ biến, dùng cấp phép quyền hạn truy cập của tập tin hay thư mục. Chỉ có chủ sở hữu và superuser mới có quyền thực hiện các lệnh này. Cú pháp của lệnh: $chmod [nhóm-người-dùng] [thao-tác] [quyền-hạn] [tên-tập-tin]. Nhóm-người-dùng Thao tác Quyền u – user + : thêm quyền r – read g – group - : xóa quyền w – write o – others = : gán ngang quyền x – excute a – all Một số ví dụ : gán quyền trên tập tin myfile Gán thêm quyền write cho group : $ chmod g+w myfile Xóa quyền read trên group và others : $ chmod go-w myfile Cấp quyền x cho mọi người: $ chmod ugo+x myfile hoặc Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 63/271
  64. Hướng dẫn giảng dạy $chmod a+x myfile hoặc $ chmod +x myfile Đây là cách thay đổi tương đối vì kết quả cuối cùng phụ thuộc vào quyền đã có trước đó mà lệnh này không liên quan đến. Trên quan điểm bảo mật hệ thống, cách thay đổi tuyệt đối dẫn đến ít sai sót hơn. Thay đổi quyền truy cập của một thư mục cũng được thực hiện giống như đối với một tập tin. Chú ý là nếu bạn không có quyền thực hiện (execute) đối với một thư mục, bạn không thể cd vào thư mục đó. Mọi người sử dụng có quyền viết vào thư mục đều có quyền xóa tập tin trong thư mục đó, không phụ thuộc vào quyền của người đó đối với các tập tin trong thư mục. Vì vậy, đa số các thư mục có quyền drwxr-xr-x. Như vậy chỉ có người sở hữu của thư mục mới có quyền tạo và xóa tập tin trong thư mục. Ngoài ra, thư mục còn có một quyền đặc biệt, đó là cho phép mọi người đều có quyền tạo tập tin trong thư mục, mọi người đều có quyền thay đổi nội dung tập tin trong thư mục, nhưng chỉ có người tạo ra mới có quyền xóa tập tin. Đó là dùng sticky bit cho thư mục. Thư mục /tmp thường có sticky bit bật lên. drwxrwxrwt 7 root root 16384 Oct 21 15:33 tmp Ta thấy chữ t, cuối cùng trong nhóm các quyền, thể hiện cho sticky bit của /tmp. Để có sticky bit, ta sử dụng lệnh: chmod 1????????? tên_thư_mục. Ngoài cách gán quyền trên, chúng ta cũng có thể gán quyền trực tiếp thông qua 3 chữ số xác định quyền như sau : $chmod [giá-trị-quyền] [tên-tập-tin] Ví dụ: Cấp quyền cho tập tin myfile Quyền Lệnh -wrxr-xr-x $chmod 755 myfile -r-xr r $chmod 522 myfile -rwxrwxrwx $chmod 777 myfile Phương pháp thay đổi tuyệt đối này có một số ưu điểm vì nó là cách định quyền tuyệt đối, kết quả cuối cùng không phụ thuộc vào quyền truy cập trước đó của tập tin. Đồng thời, dễ nói “thay quyền tập tin thành 755” thì dễ hơn là “thay quyền tập tin thành read-write-excute, read-excute, read-excute” VI.2.2 Lệnh chown Lệnh chown dùng để thay đổi người sở hữu trên tập tin, thư mục Cú pháp: $chown [tên-user:tên-nhóm] [tên-tập-tin/thư-mục] $chown –R [tên-user:tên-nhóm] [thư-mục] Dòng lệnh cuối cùng với tùy chọn –R (recursive) cho phép thay đổi người sở hữu của thư mục và tất cả các thư mục con của nó. Điều này cũng đúng với lệnh chmod, chgrp. VI.2.3 Lệnh chgrp Lệnh chgrp dùng để thay đổi nhóm sở hữu của một tập tin, thư mục Cú pháp: $chgrp [nhóm-sở-hữu] [tên-tập-tin/thư-mục] Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 64/271
  65. Hướng dẫn giảng dạy Bài 4 Cài Đặt Phần Mềm Tóm tắt Lý thuyết: 3 tiết - Thực hành: 5 tiết. Bài tập bắt Bài tập làm Mục tiêu Các mục chính buộc them Giới thiệu học viên cơ I. Chương trình RPM Bài tập 4.1 II. Đặc tính của RPM (Sách bài chế cài đặt, tổ chức, III. Lệnh rpm tập – Cài quản lý phần mềm trên đặt phần môi trường Linux mềm) Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 65/271
  66. Hướng dẫn giảng dạy I. Chương trình RPM RedHat Package Manager (RPM) là hệ thống quản lý package (gói phần mềm) được Linux hỗ trợ cho người dùng. Nó cung cấp cho người dùng nhiều tính năng để duy trì hệ thống của mình. Người dùng có thể cài đặt, xóa hoặc nâng cấp các package trực tiếp bằng lệnh. RPM có một cơ sở dữ liệu chứa các thông tin của các package đã cài và các tập tin của chúng, nhờ vậy RPM cho phép bạn truy vấn các thông tin, cũng như xác thực các package trong hệ thống. Nếu bạn sử dụng XWindow, có thể dùng chương trình KDE-PRM hoặc Gnome-RPM thay thay cho việc sử dụng lệnh. Trong quá trình nâng cấp package, RPM thao thác trên tập tin cấu hình rất cẩn thận, do vậy mà bạn không bao giờ bị mất các lựa chọn trước đó của mình. Trên phương diện các nhà phát triển, nó cho phép các nhà phát triển đóng gói chương trình nguồn của phần mềm thành các package dạng nguồn hoặc binary đưa tới người dùng. II. Đặc tính của RPM Để hiểu rõ hơn đặc tính sử dụng của RPM, chúng ta xem xét các mục đích của việc xây dựng RPM. - Khả năng nâng cấp phần mềm: Với RPM bạn có thể nâng cấp các thành phần riêng biệt của hệ thống mà không cần phải cài lại. Khi có một phiên bản mới của hệ điều hành dựa trên RPM (như RedHat Linux chẳng hạn) thì bạn không phải cài lại hệ thống mà chỉ cần nâng cấp thôi. RPM cho phép nâng cấp hệ thống một cách tự động, thông minh. Các tập tin cấu hình được gìn giữ cẩn thận qua các lần nâng cấp, vì thế bạn không sợ thay đổi các tuỳ chọn sẵn có của hệ thống được nâng cấp. - Truy vấn thông tin hiệu quả: RPM cũng được thiết kế cho mục đích truy vấn các thông tin về các package trong hệ thống. Bạn có thể tìm kiếm thông tin các package hoặc các tập tin cài đặt trong toàn bộ cơ sở dữ liệu. Bạn cũng có thể hỏi tập tin cụ thể thuộc về package nào và nó ở đâu. Package RPM có các tập tin chứa các thông tin rất hữu ích về package này và nội dung của package. Các tập tin này cho phép người dùng tìm kiếm thông tin dễ dàng trong một package riêng lẻ. - Thẩm tra hệ thống (System Verification): Một đặc tính rất mạnh của RPM là cho phép bạn thẩm tra lại các package. Nếu bạn nghi ngờ một tập tin nào bị xóa hay bị thay thế trong package, bạn có thể kiểm tra lại rất dễ dàng. Bạn cần phải chú ý đến các dấu hiệu bất bình thường của hệ thống, nên kiểm tra và cài lại nếu cần thiết. III. Lệnh rpm Lưu ý rằng bạn phải thực hiện rpm với người dùng quản trị (root). RPM có 5 chế độ thực hiện là cài đặt (installing), xóa (uninstalling), nâng cấp (upgrading), truy vấn (querying) và thẩm tra (verifying). III.1. Cài đặt phần mềm bằng rpm Package RPM thường chứa các tập tin giống như foo-1.0-1.i386.rpm Tên tập tin này bao gồm tên package (foo), phiên bản (1.0), số hiệu phiên bản (1), kiến trúc sử dụng (i386). Lệnh cài đặt : Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 66/271
  67. Hướng dẫn giảng dạy # rpm –ivh tên-tập-tinRPM Ví dụ: #rmp –ivh foo-1.0-1.i386.rpm foo ################################# Một số trường hợp lỗi khi cài đặt. o Package đã cài rồi. o Xung đột với tập tin cũ đã tồn tại. o Package phụ thuộc vào package khác. Ví dụ: package đã được cài đặt trước # rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed Nếu bạn muốn cài chồng lên package đã cài rồi dùng lệnh thêm tham số replacepkgs #rpm –ivh -–replacepkgs tên-tập-tin-package Ví dụ: # rpm -ivh replacepkgs foo-1.0-1.i386.rpm Ví dụ: xung đột với tập tin cũ đã tồn tại # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 Để bỏ qua lỗi này, bạn có thể cài đè lên bằng cách sử dụng tùy chọn replacefiles. # rpm -ivh replacefiles foo-1.0-1.i386.rpm Ví dụ: Package phụ thuộc vào package khác # rpm -ivh foo-1.0-1.i386.rpm failed dependencies: bar is needed by foo-1.0-1 Giải quyết trường hợp này bạn phải cài các package được yêu cầu. Nếu bạn muốn tiếp tục cài mà không cài các package khác thì dùng tùy chọn nodeps. Tuy nhiên lúc này có thể package của bạn cài có thể chạy không tốt. III.2. Loại bỏ phần mềm đã cài đặt trong hệ thống Xóa package thì đơn giản hơn cài. Lệnh xóa. # rpm -e tên-package Lưu ý là khi xóa chúng ta dùng tên-package chứ không dùng tên tập tin RPM. Ví dụ: # rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 67/271