Giáo trình Hướng dẫn xây dựng các Server trên red hat Linux 9 - Hồ Đắc Hoàng Hạc

Tài liệu Giáo trình Hướng dẫn xây dựng các Server trên red hat Linux 9 - Hồ Đắc Hoàng Hạc: HƯỚNG DẪN XÂY DỰNG CÁC SERVER TRÊN RED HAT LINUX 9 Hồ Đắc Hoàng Hạc Tô Thanh Hải Huế, 9/2006 Hướng dẫn xây dựng các server trên Red Hat Linux 9 2/71 Lời giới thiệu Tài liệu Hướng dẫn xây dựng các server trên Red Hat Linux 9 cung cấp cho chúng ta những kiến thức nền tảng cơ bản về hệ điều hành Linux nói chung; một số thao tác thường sử dụng trên Red Hat Linux 9 (RH9); và đặc biệt là các bước chi tiết để tiến hành xây dựng các server trên RH9. Tài liệu này được chia thành 10 chương với những nội dung chính như sau:  Chương 1 giới thiệu sơ lược về RH9, các thao tác đăng nhập và sử dụng cơ bản. Chương này cũng bao gồm một số thông tin chỉ dẫn về tài liệu tham khảo để cài đặt hệ điều hành RH9.  Chương 2, 3 hướng dẫn cách thiết lập địa chỉ IP và nêu một số lệnh thường được sử dụng trên RH9.  Chương 4 trình bày những nhiệm vụ quản trị hệ thống trên RH9 mà người quản trị nên thực hiện.  Chương 5, 6, 7 hướng dẫn chi tiết các bước để cài đặt và cấu hình các serve...

pdf71 trang | Chia sẻ: quangot475 | Lượt xem: 529 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo trình Hướng dẫn xây dựng các Server trên red hat Linux 9 - Hồ Đắc Hoàng Hạc, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
HƯỚNG DẪN XÂY DỰNG CÁC SERVER TRÊN RED HAT LINUX 9 Hồ Đắc Hoàng Hạc Tô Thanh Hải Huế, 9/2006 Hướng dẫn xây dựng các server trên Red Hat Linux 9 2/71 Lời giới thiệu Tài liệu Hướng dẫn xây dựng các server trên Red Hat Linux 9 cung cấp cho chúng ta những kiến thức nền tảng cơ bản về hệ điều hành Linux nói chung; một số thao tác thường sử dụng trên Red Hat Linux 9 (RH9); và đặc biệt là các bước chi tiết để tiến hành xây dựng các server trên RH9. Tài liệu này được chia thành 10 chương với những nội dung chính như sau:  Chương 1 giới thiệu sơ lược về RH9, các thao tác đăng nhập và sử dụng cơ bản. Chương này cũng bao gồm một số thông tin chỉ dẫn về tài liệu tham khảo để cài đặt hệ điều hành RH9.  Chương 2, 3 hướng dẫn cách thiết lập địa chỉ IP và nêu một số lệnh thường được sử dụng trên RH9.  Chương 4 trình bày những nhiệm vụ quản trị hệ thống trên RH9 mà người quản trị nên thực hiện.  Chương 5, 6, 7 hướng dẫn chi tiết các bước để cài đặt và cấu hình các server trên RH9. Trong tài liệu này, tác giả chủ yếu tập trung mô tả và giải thích ở ba server chính: DNS server, Web server và FTP server.  Chương 8 giới thiệu một số mẹo vặt thường được sử dụng trên RH9 như cài đặt bộ gõ tiếng Việt, cài đặt các font Unicode, đặt lại mật khẩu root  Chương 9 giới thiệu tổng quan về vấn đề bảo mật trên RH9. Đây là một chủ đề khá rộng. Do đó, những nội dung trong phạm vi tài liệu này chỉ mang tính chất giới thiệu. Độc giả quan tâm có thể dựa vào những thông tin giới thiệu này để đầu tư nghiên cứu và nắm bắt sâu hơn. Hướng dẫn xây dựng các server trên Red Hat Linux 9 3/71 Mục lục Lời giới thiệu.............................................................................................................. 2 Chương 1. Giới thiệu về hệ điều hành RH9 ............................................................. 5 1.1. Giới thiệu về Linux ....................................................................................... 5 1.2. Giới thiệu về bộ sản phẩm RH9..................................................................... 6 1.3. Các hệ thống file trong RH9.......................................................................... 7 1.4. Thực hành tạo user & group .......................................................................... 7 1.5. Cấp quyền sử dụng file/thư mục cho user & group ........................................ 8 1.6. Thực hành chia sẻ tài nguyên cho user & group với NFS .............................. 9 1.7. Đăng nhập và sử dụng một số ứng dụng trên RH9....................................... 10 1.8. Một số lưu ý về việc tạo user & group......................................................... 15 Chương 2. Thiết lập địa chỉ IP trên RH9 ............................................................... 17 2.1. Giao thức mạng sử dụng trên RH9 .............................................................. 17 2.2. Thực hành thiết lập địa chỉ IP trong mạng nội bộ ........................................ 17 Chương 3. Tập lệnh thường dùng trên RH9 .......................................................... 20 3.1. Giới thiệu tổng quan về tập lệnh trên RH9 .................................................. 20 3.2. Một số trình soạn thảo thường dùng ............................................................ 20 3.3. Tập lệnh thường dùng trên RH9 .................................................................. 21 Chương 4. Quản trị hệ thống RH9 ......................................................................... 27 4.1. Giới thiệu về các nhiệm vụ quản trị hệ thống RH9 ...................................... 27 4.2. Quản trị hệ thống RH9 ................................................................................ 27 Chương 5. Xây dựng DNS server trên RH9........................................................... 36 5.1. Cài đặt phần mềm ....................................................................................... 36 5.2. Các file cấu hình ......................................................................................... 36 5.3. Các record của file zone .............................................................................. 37 5.4. Cấu hình caching-only server ...................................................................... 37 5.5. Cấu hình slave server .................................................................................. 38 5.6. Cấu hình master server ................................................................................ 39 Chương 6. Xây dựng Web server trên RH9........................................................... 43 6.1. Cài đặt phần mềm ....................................................................................... 43 Hướng dẫn xây dựng các server trên Red Hat Linux 9 4/71 6.2. Các file cấu hình ......................................................................................... 43 6.3. Các hình thức cấu hình Web server ............................................................. 44 6.4. Cấu hình DNS cho Web server.................................................................... 44 6.5. Cấu hình Web server ................................................................................... 44 6.6. Giải quyết sự cố trên Web server................................................................. 47 Chương 7. Xây dựng FTP server trên RH9 ........................................................... 49 7.1. Cài đặt phần mềm ....................................................................................... 49 7.2. Các file cấu hình ......................................................................................... 49 7.3. Cấu hình FTP server.................................................................................... 49 7.4. Cấu hình bảo mật cho FTP server................................................................ 53 7.5. Cấu hình mở rộng trên FTP server............................................................... 53 Chương 8. Một số mẹo vặt thường dùng trên RH9................................................ 56 8.1. Thực hành cài đặt bộ gõ tiếng Việt xvnkb trên Fedora (RH9)...................... 56 8.2. Thực hành cài đặt các font Unicode trên Fedora (RH9)............................... 57 8.3. Thực hành chia sẻ tài nguyên giữa Windows và Linux................................ 57 8.4. Lấy lại mật khẩu root .................................................................................. 59 Chương 9. Giới thiệu tổng quan về bảo mật với RH9............................................ 61 9.1. Những kinh nghiệm bảo mật trên RH9........................................................ 61 9.2. Tăng cường an ninh cho hệ thống Linux ..................................................... 62 Tài liệu tham khảo................................................................................................... 71 Hướng dẫn xây dựng các server trên Red Hat Linux 9 5/71 Chương 1. Giới thiệu về hệ điều hành RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Hiểu được lịch sử ra đời hệ điều hành Linux  Biết được các thành phần chính của hệ điều hành Linux  Biết được bộ sản phẩm của RH9  Biết được các hệ thống file trong RH9  Biết cách tạo user & group  Biết cách cấp quyền sử dụng file/thư mục cho user & group  Biết cách chia sẻ tài nguyên cho user & group với NFS  Biết cách sử dụng một số ứng dụng trên RH9 Một số kiến thức liên quan 1.1. Giới thiệu về Linux Linux là một hệ điều hành dùng cho các máy PC. Giờ đây, nó đã trang bị cho người dùng giao diện đồ hoạ (GUI) với đầy đủ các tính năng như của Windows, Mac (hệ điều hành chạy trên máy tính của hãng Apple). Vào đầu năm 1991 Linus Torwalds, một sinh viên tại trường đại học Helsinki, Phần Lan, đã bắt tay nghiên cứu một phiên bản Minix (like Unix) hỗ trợ các nội dung như bộ nhớ ảo, đa người dùng, và dùng bộ chỉ lệnh 80386. Với ý tưởng tạo ra một hệ điều hành miễn phí, phục vụ nhu cầu học tập thời bấy giờ. Và hơn thế nữa, đó là sự chia sẻ kiến thức cho cả thế giới. Đến tháng 9/1991, phiên bản Linux beta đã ra đời. Đến năm 1994, các phần hỗ trợ cho Linux bắt đầu tăng mạnh. Ngay sau đó phiên bản 1.0 của Linux đã được phát hành. Chu kỳ phát triển cứ tiếp diễn cho đến ngày nay. Hiện nay có rất nhiều hãng phát triển mạnh như Red Hat, Mardrake, SuSE, Debian... Linux là một phiên bản của hệ điều hành Unix - Hệ điều hành chuyên dùng cho các máy Mainframe và Minicomputer. Do đó, nó kế thừa những đặc điểm cực mạnh của hệ điều hành Unix. Đó là hỗ trợ xây dựng các Internet server tốc độ cao, hiệu quả và ổn định như Web server, FPT server cùng với DNS server, Proxy server, Mail server và News server. Unix ra đời từ cuối những năm 1960s và đầu 1970s bởi tác giả Ken Thompson. Ban đầu, hệ điều hành được phát triển cho mục đích nghiên cứu. Không như các hệ điều hành khác, Unix được phát triển trong các trường đại học và các viện nghiên cứu. Mặc dù là một hệ thống phức tạp, nhưng ngay từ đầu, hệ điều hành này đã được phát triển với tính mềm dẻo cao, có thể sửa chữa một cách dễ dàng để tạo ra các phiên bản khác nhau. Chính vì vậy nhiều hãng như IBM, SUN, HP đã sử dụng hệ điều hành Unix ban đầu và phát triển thành phiên bản Unix của riêng họ. Hiện nay, với cả GNOME và KDE, Linux đã cung cấp các giao diện đồ hoạ mềm dẻo và dễ dùng. Không giống như Windows, Mac, chúng ta có thể chọn giao Hướng dẫn xây dựng các server trên Red Hat Linux 9 6/71 diện mà mình sử dụng và tùy biến nó. Thêm vào đó là các Panel, vitual desktop và menu. Với các cửa sổ quản lý tập tin, chúng ta có thể truy cập Internet. Linux được phân phối miễn phí theo luật bản quyền GNU General public License của hiệp hội phần mềm miễn phí (Free Software Foundation). Với bản quyền này, Linux được phân phối miễn phí cho mọi người (gồm cả chương trình thực thi và mã nguồn). Người dùng có thể sử dụng mã nguồn này để hiệu chỉnh và trở thành sản phẩm của mình. Tuy nhiên, khi phân phối cho người khác, cần phải cung cấp cả sản phẩm và mã nguồn. GNU (Gnu’s Not Unix) là một dự án được được thành lập và quản lý bởi Free Software Foundation nhằm mục đích cung cấp phần mềm miễn phí cho người dùng, lập trình viên và những nhà phát triển. Sản phẩm của dự án này bao gồm:  Enviroments  Programming languages  Internet tools  Text Editors  Cũng như Unix, Linux được chia thành 3 phần chính:  Kernel: là chương trình lõi dùng để chạy các chương trình và quản lý các thiết bị như đĩa cứng, máy in  Shell Environment: là một giao diện giữa người sử dụng và kernel (Shell Environment có thể xem như người phiên dịch).  File Structure: thiết lập cách lưu trữ các tập tin và thư mục trên các thiết bị lưu trữ. 1.2. Giới thiệu về bộ sản phẩm RH9 RH9 đóng gói toàn bộ 4 phiên bản khác nhau của mình vào trong một trình quản lý cài đặt chung và được cung cấp trong bộ đĩa cài đặt gồm 6 đĩa CD. Trong đó:  3 CD đĩa chứa nguồn cài đặt. Đây chính là các đĩa được dùng trong quá trình cài đặt các phiên bản RH9  2 CD đĩa chứa toàn bộ mã nguồn của hệ điều hành Linux và tất cả các ứng dụng được cài cài đặt vào hệ thống máy tính  1 CD đĩa chứa tài liệu hướng dẫn các thao tác từ cơ bản đến nâng cao trên RH9 Bốn phiên bản của RH9 là Personal Desktop, Workstation, Server và Custom. Mỗi phiên bản có những điểm đặc thù sau:  Personal Desktop: nếu chúng ta cài đặt RH9 để sử dụng trong công tác văn phòng thì đây là phiên bản thích hợp nhất. Phiên bản này sẽ đưa đến một môi trường đồ họa thân thiện và các ứng dụng phục vụ công tác văn phòng  Workstation: nếu muốn phát triển ứng dụng trên RH9, đây là phiên bản thích hợp. Phiên bản này sẽ trang bị cho hệ thống của chúng ta các công cụ cần thiết để phát triển các ứng dụng trên môi trường Linux Hướng dẫn xây dựng các server trên Red Hat Linux 9 7/71  Server: nếu muốn thiết lập các Linux server, phiên bản này là thích hợp. Với phiên bản này, chúng ta sẽ chỉ thao tác trên cửa sổ dòng lệnh  Custom: nếu đã thân thiện với hệ điều hành RH9, phiên bản này sẽ giúp chúng ta tùy ý chọn lựa các ứng dụng sẽ được cài đặt vào máy tính cùng với hệ điều hành Lưu ý: để cài đặt hệ điều hành RH9, chúng ta có thể tham khảo tại cuốn sách Hướng dẫn cài đặt và quản trị mạng máy tính với Windows 2003 Server bằng thực hành của các tác giả Nguyễn Kim Tuấn – Tô Thanh Hải, nhà xuất bản Giáo Dục. 1.3. Các hệ thống file trong RH9 RH9 cho phép chúng ta tạo và sử dụng một số hệ thống file khác nhau. Phần sau đây mô tả sơ lược về các hệ thống file hiện đang sẵn dùng trên RH9.  Ext2 – Hệ thống file này hỗ trợ những kiểu file chuẩn trên Unix (các file, thư mục thông thường, các liên kết mềm - symbolic links). Chúng ta có thể tạo tên file với độ dài đến 255 ký tự. Ext2 được sử dụng phổ biến trong các phiên bản Red Hat Linux 7.2 trở về trước  Ext3 – Hệ thống file này được phát triển từ Ext2. Điểm cải tiến quan trọng nhất của Ext3 là giảm thiểu thời gian trong việc phục hồi (recovering) một hệ thống file. Hệ thống file này được chọn mặc định khi cài đặt RH9  Swap – Phân vùng này hoạt động như tính năng của một bộ nhớ ảo. Khi hệ thống không đủ bộ nhớ RAM để lưu trữ dữ liệu trong quá trình xử lý, chúng sẽ ghi những liệu này lên phân vùng swap  Vfat – Hệ thống file này được thiết kế để tương thích với các hệ thống file trên Windows  Ngoài ra, RH9 cũng hỗ trợ các phân vùng LVM (Logical Volume Memory), software RAID nhằm mục đích tạo các hệ thống đĩa logic và sử dụng với các thiết bị RAID Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Nắm khái niệm về user & group  Nắm khái niệm về quyền đối với user & group  Nắm khái niệm về quyền đối với file/thư mục  Nắm được khái niệm chia sẻ tài nguyên giữa các hệ thống máy tính  Biết cách đăng nhập vào một hệ thống máy tính Nội dung thực hành 1.4. Thực hành tạo user & group Để tạo một user account từ cửa sổ dòng lệnh, chúng ta thực hiện các bước như sau: 1. Mở một cửa sổ dòng lệnh. Hướng dẫn xây dựng các server trên Red Hat Linux 9 8/71 2. Nếu bạn không đăng nhập với root, gõ lệnh su – và nhập mật khẩu cho root. 3. Gõ useradd theo sau là một khoảng trắng và username cho account mới mà chúng ta đang tiến hành tạo tại dòng lệnh (ví dụ, useradd hdhhac). Nhấn phím Enter. Thông thường các username có một vài sự khác nhau so với họ và tên của user, chẳng hạn như hdhhac tương ứng với Hồ Đắc Hoàng Hạc. 4. Gõ passwd theo sau là một khoảng trắng và username đã tạo ở trên (ví dụ, passwd hdhhac). 5. Nhập một mật khẩu tại dấu nhắc New password: cho user mới và nhấn phím Enter. 6. Nhập lại mật khẩu giống như ở trên tại dấu nhắc Retype new password: để xác nhận rằng chúng ta đã gõ mật khẩu chính xác. Để tạo một group từ cửa sổ dòng lệnh, chúng ta thực hiện các bước như sau: 1. Mở một cửa sổ dòng lệnh. 2. Nếu bạn không đăng nhập với root, gõ lệnh su – và nhập mật khẩu cho root. 3. Gõ groupadd theo sau là một khoảng trắng và groupname mới mà chúng ta đang tiến hành tạo tại dòng lệnh (ví dụ, groupadd admin). Nhấn phím Enter. Chú ý: để tạo một user account thuộc về một group đã xác định, chúng ta thực hiện lệnh useradd với tùy chọn –g (ví dụ, useradd tthai –g admin). 1.5. Cấp quyền sử dụng file/thư mục cho user & group Đối với RH9, một user sau khi được tạo ra có thể đăng nhập vào hệ thống và sử dụng bất kỳ ứng dụng hoặc file và thư mục mà họ được quyền truy cập. Đây là hệ thống quyền mặc định được thiết lập khi một user thông thường được tạo ra. RH9 xác định rằng một user hoặc group có thể truy cập được tài nguyên hay không dựa vào các quyền được gán cho user hoặc group đó. Có ba quyền khác nhau dành cho file, thư mục và ứng dụng. Mỗi một ký tự sau đây được sử dụng để mô tả một quyền tương ứng:  r – mô tả quyền chỉ đọc  w – mô tả quyền chỉ ghi  x – mô tả quyền thực thi Ký tự thứ tư (–) biểu thị rằng không có quyền nào được cấp. Mỗi một quyền trên đây được gán cho 3 loại user khác nhau, đó là:  owner – người sở hữu file, thư mục hoặc ứng dụng  group – group sở hữu file, thư mục hoặc ứng dụng  everyone – tất cả các user có khả năng truy cập vào hệ thống Hướng dẫn xây dựng các server trên Red Hat Linux 9 9/71 Để xem quyền của một file, chúng ta sử dụng lệnh ls –l. Ví dụ, nếu user tthai tạo một file có khả năng thực thi với tên là readme, đầu ra của lệnh ls -l readme sẽ tương tự như sau: -rwxrwxr-x 1 tthai tthai 6 Mar 15 07:19 readme Các quyền trên file này được liệt kê ở phần đầu của dòng trên, bắt đầu với rwx. Tập hợp rwx đầu tiên định nghĩa quyền của owner (người sở hữu file). Trong ví dụ này, owner tthai có đầy đủ các quyền (read, write, và execute). Tập hợp rwx tiếp theo định nghĩa quyền của group, và tập r-x định nghĩa quyền của tất cả các user còn lại. Trong ví dụ trên, những user còn lại có thể đọc và thực thi file, nhưng không thể thay đổi file này. Việc cấp/hủy quyền trên file (bao gồm cả thư mục hoặc ứng dụng) được thực hiện thông qua lệnh chmod. Lệnh này có 2 phương pháp để thay đổi quyền trên file:  Sử dụng số. Trong phương pháp này, 4 tương ứng với quyền đọc (read), 2 tương ứng với quyền ghi (write), và 1 tương ứng với quyền thực thi (execute). Vì vậy, nếu chúng ta thiết lập quyền của một file là 444 thì cả ba loại user là owner, group và everyone đều chỉ đọc được file này. Nếu cộng các số lại với nhau (ví dụ, 4+2+1) chúng ta sẽ thiết lập được nhiều quyền khác nhau cùng một lúc. Ví dụ, khi gõ lệnh chmod 700 readme, user thuộc về owner sẽ có đầy đủ các quyền, trong khi group và everyone không thể truy cập được.  Sử dụng ký tự. Trong phương pháp này, u tương ứng với user (owner), g tương ứng với group, và o tương ứng với other (everyone). Các quyền tương ứng lần lượt là r – đọc (read), w – ghi (write), và x – thực thi (execute). Các ký hiệu dấu trừ (-) và cộng (+) được dùng để mô tả cho việc hủy hoặc cấp quyền. Ví dụ, để cấp 2 quyền đọc, ghi trên file readme cho user thuộc owner, chúng ta gõ lệnh chmod u+rw readme. Để cấp quyền sử dụng file, chúng ta thường thực hiện các bước như sau: 1. Mở một cửa sổ dòng lệnh. 2. Nếu bạn không đăng nhập với root, gõ lệnh su – và nhập mật khẩu cho root. 3. Gõ chmod theo sau là một khoảng trắng, tiếp đến là các quyền (thường dùng phương pháp số) và tên file. (ví dụ, chmod 700 readme). Nhấn phím Enter. 1.6. Thực hành chia sẻ tài nguyên cho user & group với NFS Network File System (NFS) là một phương pháp phổ biến được dùng để chia sẻ tài nguyên giữa các máy tính chạy hệ điều hành Linux trên cùng trên một mạng. RH9 tích hợp sẵn hai dịch vụ để hỗ trợ cho việc chia sẻ tài nguyên:  NFS server: dịch vụ hỗ trợ chia sẻ tài nguyên  NFS client: dịch vụ hỗ trợ truy cập đến thư mục chia sẻ Các bước thực hiện thao tác chia sẻ tài nguyên từ server như sau: 1. Từ cửa sổ dòng lệnh, dùng một trình soạn thảo để mở file cấu hình của NFS. Ví dụ, vi /etc/exports. Hướng dẫn xây dựng các server trên Red Hat Linux 9 10/71 2. Di chuyển về cuối file này và bổ sung các dòng cấu hình vào file này. Mỗi dòng tương ứng với một thư mục chia sẻ. Ví dụ: /home 192.168.61.2(rw) /usr/local 192.168.61.2(ro) 3. Lưu trữ file cấu hình và khởi động dịch vụ NFS bằng lệnh /sbin/service nfs start. Khi muốn ngưng dịch vụ này, chúng ta thực hiện lệnh /sbin/service nfs stop. Từ máy trạm, để truy xuất được các thư mục đã chia sẻ trên server, chúng ta thực hiện như sau: 1. Tạo thư mục để chứa nội dung của thư mục chuẩn bị truy cập (/mydir). 2. Trên cửa sổ dòng lệnh của máy trạm, gõ lệnh mount để truy cập đến thư mục này. Ví dụ, mount 192.168.61.2:/usr/local /mydir. 1.7. Đăng nhập và sử dụng một số ứng dụng trên RH9 Đăng nhập hệ thống. Có hai cách để đăng nhập vào hệ thống Linux, dòng lệnh và đồ hoạ. Trên dòng lệnh Sau khi nhấn nút Power để khởi động, chúng ta sẽ nhận được một dấu nhắc đợi lệnh. Gõ tên người dùng vào đây. Red Hat Linux release 9 Kernel 2.4.18-14 on an i686 localhost login: root Sau khi nhấn phím Enter, chúng ta nhập mật khẩu. Password: ********** Từ cửa sổ dòng lệnh đã đăng nhập thành công, nếu muốn sử dụng giao diện đồ họa, chúng ta gõ lệnh startx. Trên giao diện đồ họa Tương tự như ở dòng lệnh, khi đã khởi động hệ thống, màn hình đăng nhập xuất hiện: Hướng dẫn xây dựng các server trên Red Hat Linux 9 11/71 Để đăng nhập với user root tại màn hình này, chúng ta nhập từ khóa root, và nhấn phím Enter. Sau đó, nhập mật khẩu cho user root, nhấn phím Enter. Thao tác này cũng thực hiện tương tự với những người dùng khác. Thoát (logout) hệ thống. Để thoát khỏi hệ thống từ giao diện đồ họa, chọn Main Menu => Log Out. Một hộp thoại cảnh báo hiện ra. Chúng ta chọn chọn Log Out và nhấn nút OK. Để thoát khỏi hệ thống từ giao diện dòng lệnh, gõ lệnh exit hoặc nhấn tổ hợp phím Ctrl + D. Tắt (shutdown) hệ thống. Để shut down hệ thống từ giao diện đồ họa, chọn Main Menu => Log Out. Một hộp thoại cảnh báo hiện ra. Chúng ta chọn Shut Down và nhấn nút OK. Để thoát khỏi hệ thống từ giao diện dòng lệnh, gõ lệnh halt. Chúng ta cũng có thể sử dụng lệnh shutdown now, hoặc init 0. Tổ chức thư mục trên RH9. Cũng giống như Windows, RH9 có một danh sách các thư mục chính được tạo ra trong quá trình cài đặt, bao gồm:  /bin/ – Dùng để lưu trữ các lệnh của user, ngoài ra còn có thư mục /usr/bin/  /sbin/ – Là vị trí của các lệnh hệ thống, ví du: shutdown  /root/ – Đây là thư mục home của user root (user có quyền cao nhất tương tự như user Administrator của Windows) Hướng dẫn xây dựng các server trên Red Hat Linux 9 12/71  /mnt/ – Thư mục này chứa những mount points (các thư mục dùng để gắn các vị trí lưu trữ trên các ổ đĩa) cho các hệ thống file được mount (gắn vào) sau khi hệ thống khởi động. Ví dụ, mount point của CD là /mnt/cdrom/  /boot/ – Chứa nhân hệ điều hành và các file được dùng trong quá trình khởi động hệ thống  /lib/ – Chứa thư viện được sử dụng bởi các chương trình nằm trong thư mục /bin và /sbin. Thư mục /usr/lib/ chứa nhiều thư viện hơn nhằm hỗ trợ cho các ứng dụng của người dùng  /dev/ – Lưu trữ các file thiết bị  /etc/ – Chứa các file và thư mục cấu hình  /var/ – Đây là vị trí của những file thường xuyên thay đổi, ví dụ: các file log và printer spool  /usr/ – Bao gồm những file và thư mục liên quan trực tiếp đến các user của hệ thống, ví dụ: các chương trình và các thư viện hỗ trợ  /proc/ – Một hệ thống file ảo (không được lưu trữ trên đĩa) chứa thông tin hệ thống được sử dụng bởi một số chương trình  /initrd/ – Một thư mục được dùng để mount file ảnh initrd.img và nạp các module cần thiết trong quá trình khởi động  /tmp/ – Thư mục để chứa các file lưu trữ tạm thời  /home/ – Thư mục mặc định của các user khi được tạo ra  /opt/ – Thư mục dùng lưu các file tùy chọn của các chương trình Mở một cửa sổ dòng lệnh (Terminal) để thao tác trên giao diện đồ họa. Khi sử dụng hệ điều hành Linux, có nhiều khi chúng ta cần phải sử dụng đến dòng lệnh thay vì giao diện đồ họa. Để mở một cửa sổ thao tác dòng lệnh ngay trên giao diện đồ họa, chúng ta chọn Main Menu => System Tools => Terminal. Chúng ta cũng có thể mở một Terminal bằng cách nhấn chuột phải trên desktop và chọn New Terminal. Để thoát Terminal, nhấn biểu tượng x ở góc trên bên phải của cửa sổ Terminal. Chúng ta cũng có thể gõ lệnh exit, hoặc nhấn tổ hợp phím Ctrl + D tại dòng lệnh. Sử dụng đĩa mềm và đĩa CD trên RH9. Sử dụng đĩa mềm Để sử dụng đĩa mềm trên hệ thống Linux, chúng ta phải thực hiện lệnh mount: # mount /mnt/floppy Sau đó truy cập vào thư mục /mnt/floppy như thể làm việc trên đĩa mềm. Để lấy đĩa mềm ra khỏi hệ thống, chúng ta phải thực hiện lệnh sau umount: # umount /mnt/floppy Hướng dẫn xây dựng các server trên Red Hat Linux 9 13/71 Sử dụng đĩa CD Để sử dụng đĩa CD trên hệ thống Linux, chúng ta phải thực hiện lệnh mount: # mount /mnt/cdrom Sau đó truy cập vào thư mục /mnt/cdrom như thể làm việc trên đĩa CD. Để lấy đĩa CD ra khỏi hệ thống, chúng ta phải thực hiện lệnh sau: # umount /mnt/cdrom Sử dụng trình duyệt web và ứng dụng gửi nhận email. Trình duyệt Sau khi đã kết nối Internet, chúng ta cần có một hoặc nhiều trình duyệt để truy cập các website trên Internet. RH9 tích hợp một số trình duyệt như Mozilla, Galeon, Để khởi động trình duyệt Mozilla, chọn Mozilla Web Browser launcher trên panel hoặc chọn từ Main Menu => Internet => Mozilla Web Browser. Để khởi động trình duyệt Galeon, chọn từ Main Menu => Internet => More Internet => Galeon. Ứng dụng email Email là phương tiện giao tiếp rất phổ biến trên Internet. Chúng ta có thể sử dụng email với một trình email client. Email client là một ứng dụng đáp ứng các nhu cầu về gửi, nhận và đọc mail. RH9 tích hợp một số ứng dụng email như Evolution, Mozilla Mail. Để khởi động Evolution, chọn từ Main Menu => Internet => Email. Để khởi động Mozilla Mail, chọn từ Main Menu => Extras Internet => Mozilla Mail. Thao tác với các file văn bản. RH9 tích hợp một số công cụ dành cho việc quản lý văn bản. Tiêu biểu là OpenOffice.org Suite và Text Editor (Gedit). OpenOffice.org Suite chứa một tập các ứng dụng tương tự như Microsoft Office, bao gồm:  OpenOffice.org Writer: tương tự như Microsoft Word.  OpenOffice.org Calc: tương tự như Microsoft Excel.  OpenOffice.org Impress tương tự như Microsoft Power Point. Mỗi ứng dụng này có thể đọc được các file có phần mở rộng như sau: TÊN ỨNG DỤNG PHẦN MỞ RỘNG OpenOffice.org Writer .sxw, .sdw, .doc, .rtf, .txt, .htm/.html OpenOffice.org Calc .sxc, .dbf, .xls, .sdc, .slk, .csv, .htm/.html Hướng dẫn xây dựng các server trên Red Hat Linux 9 14/71 OpenOffice.org Impress .sxi, .ppt, .sxd, .sdd OpenOffice.org Draw .sxd, .sda; export file thành một vài định dạng ảnh, bao gồm .jpg, .bmp, .gif, và .png Gedit là một trình soạn thảo văn bản đơn giản có những tính năng tương tự như Notepad của Microsoft Windows. Để mở Gedit, chọn từ Main Menu => Accessories => Text Editor hoặc gõ gedit từ Terminal. Sử dụng các tiện ích nén và giải nén. File lưu trữ (archive file) và file nén (compress file) Trong Linux, để tăng tốc độ truyền các gói tin trên mạng và giảm dung lượng lưu trữ trên đĩa, người ta thường dùng các file lưu trữ và nén. Sự khác nhau giữa các file lưu trữ và nén là:  Các file lưu trữ chỉ tập hợp các file và thư mục thành một file  Các file nén làm giảm kích thước của các file lưu trữ Cho nên, trong Linux, người ta thường kết hợp hai chức năng này thành một (vừa lưu trữ, vừa nén). Tạo file lưu trữ: tar (tape archive) Tiện ích này dùng tạo các file lưu trữ cho các file và thư mục, tức là tập hợp các file và thư mục lại thành một file với phần mở rộng là .tar. Sau khi đã tạo xong file, chúng ta có thể dùng các tiện ích nén để giảm dung lượng các file .tar này. Để tạo file lưu trữ, bạn dùng tiện ích tar, cú pháp: # tar -uf ten_file.tar ten_file1 ten_file2 ten_thumuc Để xem các file và thư mục nào chứa trong file .tar: # tar -tf ten_file.tar Để trả lại các file và thư mục ban đầu được lưu trữ thành file .tar # tar -xf ten_file.tar Tạo file nén: gzip, bzip2 Tiện ích này làm giảm kích thước các file và thư mục (nhất là các file .tar). Có hai tiện ích nén thường dùng trên Linux. Tiện ích gzip Nén: # gzip ten_file.tar # ls ten_file.tar.gz Giải nén: # gzip -d ten_file.tar.gz Hướng dẫn xây dựng các server trên Red Hat Linux 9 15/71 # ls ten_file.tar Có thể giải nén theo cách khác: # gunzip ten_file.tar.gz # ls ten_file.tar Tiện ích bzip2 Như tiện ích gzip, nhưng tuỳ trường hợp mà người ta dùng bzip2 hay gzip. Nén: # bzip2 ten_file.tar # ls ten_file.tar.bz2 Giải nén: # bunzip ten_file.tar.bz2 # ls ten_file.tar Truy cập các phân vùng Windows trên cùng một ổ đĩa với Linux. Để truy cập đến một phân vùng Windows sẵn có trên hệ thống RH9, chúng ta thực hiện theo các bước: 1. Xác định phân vùng Windows hiện tại đang nằm ở vị trí nào. Để thực hiện thao tác này, chúng ta sử dụng Hardware Browser (chọn từ Main Menu => System Tools => Hardware Browser). 2. Lựa chọn Hard Drives ở panel bên trái và tìm phân vùng Windows ở panel hiển thị bên phải. Nếu phân vùng Windows ở dạng FAT, FAT32 thì chúng ta có thể mount được, ngược lại với NTFS. Ví dụ, phân vùng Windows là /dev/hda1. 3. Tạo một thư mục để mount phân vùng Windows vào đó. Ví dụ # mkdir /mnt/winpart 4. Thực hiện lệnh sau để mount phân vùng Windows vào thư mục vừa tạo: # mount -t vfat /dev/hda1 /mnt/winpart 5. Lúc này, chúng ta có thể chuyển vào /mnt/winpart và thao tác trên các file, thư mục của phân vùng Windows. 1.8. Một số lưu ý về việc tạo user & group Đối với user và group, bên cạnh thao tác tạo, chúng ta còn có thể thay đổi hoặc xóa các đối tượng này bằng các lệnh groupmod, chage và userdel, groupdel. Để tham khảo cách sử dụng các lệnh này, chúng ta sử dụng lệnh man. Ví dụ, man userdel. Hướng dẫn xây dựng các server trên Red Hat Linux 9 16/71 Tổng kết chương 1. Phiên bản Linux beta đã ra đời vào năm 1991. 2. Phiên bản Linux 1.0 đã ra đời vào năm 1994. 3. Linux hỗ trợ xây dựng các Internet server tốc độ cao, hiệu quả và ổn định. 4. Linux được phân phối miễn phí theo luật bản quyền GNU General public License của hiệp hội phần mềm miễn phí (Free Software Foundation). Với bản quyền này, Linux được phân phối miễn phí cho mọi người. Người dùng có thể hiệu chỉnh mã nguồn để biến Linux trở thành sản phẩm của mình. Tuy nhiên, khi phân phối cho người khác, cần phải cung cấp cả sản phẩm và mã nguồn. 5. Linux được chia thành 3 phần chính: Kernel, Shell Environment và File Structure. 6. RH9 đóng gói 4 phiên bản khác nhau của mình vào trong một trình quản lý cài đặt chung và được cung cấp trong bộ đĩa cài đặt gồm 6 đĩa CD. 7. Bốn phiên bản của RH9 là Personal Desktop, Workstation, Server và Custom. 8. RH9 cho phép chúng ta tạo và sử dụng một số hệ thống file khác nhau, đó là: Ext2, Ext3, Swap, Vfat,... 9. Để tạo user account, chúng ta dùng lệnh useradd. 10. Để tạo group, chúng ta dùng lệnh groupadd. 11. Để cấp/hủy quyền truy cập file/thư mục, chúng ta dùng lệnh chmod. 12. Để chia sẻ tài nguyên giữa các hệ thống Linux với nhau, chúng ta sử dụng phương pháp Network File System. Hướng dẫn xây dựng các server trên Red Hat Linux 9 17/71 Chương 2. Thiết lập địa chỉ IP trên RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Biết được một số thông tin về giao thức mạng sử dụng trên RH9  Biết được các giao thức thường được cài đặt/sử dụng trên RH9  Biết được cách gán địa chỉ IP cho các máy trong mạng RH9 Một số kiến thức liên quan 2.1. Giao thức mạng sử dụng trên RH9 Nếu say mê Internet, hẳn bạn đã nghe nói đến TCP/IP (Transmission Control Protocol/Internet Protocol), bộ giao thức này cung cấp nền tảng phần mềm cho các hệ thống mạng máy tính liên kết với nhau trên Internet. RH9 sử dụng bộ giao thức chuẩn TCP/IP, bộ giao thức truyền thông Unix-Unix, thường được gọi là UUCP (Unix to Unix Copy Protocol) - và nhiều phương thức truyền thông qua cổng tuần tự khác. RH9 sử dụng Samba – bộ giao thức SMB miễn phí – để cho phép truy cập file/thư mục và máy in trên máy RH9 từ máy trạm DOS, Windows 95, Windows 98, Windows NT trên mạng cục bộ. Điều này có nghĩa là RH9 hoạt động như một File server. Bước đầu đến với RH9 và mạng có lẽ là kết nối một máy đơn chạy RH9 với Internet. Điều này thực hiện khá dễ dàng nếu bạn có modem và tài khoản dial-up tới một nhà cung cấp dịch vụ Internet (ISP) nào đó: xác lập dịch vụ PPP (Point-to-Point Protocol) và chọn tùy chọn TCP/IP trong khi cấu hình phần nhân RH9. Trong một số trường hợp, bộ giao thức cũ SLIP vẫn được sử dụng thay vì PPP, nhưng có nhiều nhà cung cấp dịch vụ vẫn đưa ra loại tài khoản SLIP được triển khai trên nền phần mềm mô phỏng PPP. Vì vậy, bạn vẫn có khả năng sử dụng PPP trên máy trạm. Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Hiểu được cách gán địa chỉ IP trong mạng nội bộ  Nắm được các thành phần cần thiết của thao tác thiết lập địa chỉ IP cho một máy tính chạy hệ điều hành RH9 kết nối và hoạt động thành công trong một hệ thống mạng (địa chỉ DNS server, địa chỉ Gateway, subnet mask) Nội dung thực hành 2.2. Thực hành thiết lập địa chỉ IP trong mạng nội bộ Việc thiết lập địa chỉ IP trên các máy tính chạy RH9 trong một mạng nội bộ có thể được thực hiện theo nhiều cách. Tài liệu này mô tả 2 cách phổ biến thường được sử dụng, đó là tiện ích ifconfig và trình hỗ trợ cấu hình setup. Để thiết lập địa chỉ IP trên máy tính RH9 với tiện ích ifconfig, chúng ta thực hiện các bước như sau: 1. Mở một cửa sổ dòng lệnh. Hướng dẫn xây dựng các server trên Red Hat Linux 9 18/71 2. Nếu bạn không đăng nhập với root, gõ lệnh su – và nhập mật khẩu cho root. 3. Gõ ifconfig theo cú pháp như sau: ifconfig [interface] netmask Ví dụ: để thiết lập địa chỉ IP 10.238.200.10 với netmask 255.255.255.0 cho card ethernet thứ nhất trên máy tính chạy RH9, chúng ta gõ lệnh như sau: ifconfig eth0 10.238.200.10 netmask 255.255.255.0 4. Nhấn phím Enter. 5. Kiểm tra lại những thiết lập này bằng cách gõ ifconfig và nhấn phím Enter. Để thiết lập địa chỉ IP trên máy tính RH9 với trình hỗ trợ cấu hình setup, chúng ta thực hiện các bước như sau: 1. Mở một cửa sổ dòng lệnh. 2. Nếu bạn không đăng nhập với root, gõ lệnh su – và nhập mật khẩu cho root. 3. Gõ setup, nhấn phím Enter. 4. Trong danh sách các thành phần cấu hình, chọn Network configuration. 5. Hộp thông báo với nội dung “Would you like to set up networking?” xuất hiện. Chọn Yes để đồng ý với việc cấu hình các tham số mạng. 6. Nhập thông tin tương ứng vào các mục: IP address: Netmask: Default gateway (IP): Primary nameserver: 7. Chọn OK để đồng ý với những thiết lập. 8. Khởi động lại dịch vụ mạng để kích hoạt những thay đổi vừa được thực hiện bằng lệnh: # service network restart 9. Kiểm tra lại những thiết lập này bằng cách gõ ifconfig và nhấn phím Enter. Hướng dẫn xây dựng các server trên Red Hat Linux 9 19/71 Tổng kết chương 1. RH9 sử dụng bộ giao thức chuẩn TCP/IP, bộ giao thức truyền thông Unix-Unix và nhiều phương thức truyền thông qua cổng tuần tự khác. 2. RH9 sử dụng Samba để cho phép truy cập tập tin và máy in trên máy RH9 từ máy trạm DOS, Windows 95, Windows 98, Windows NT trên mạng cục bộ. 3. TCP/IP là giao thức dựa trên các chuẩn công nghiệp, là bộ của các giao thức cho các hệ thống mạng WAN và là giao thức chuẩn cho Internet. Đây là giao thức mặc định của RH9. 4. Bộ giao thức TCP/IP bao gồm 6 giao thức chính và một tập các tiện ích để cung cấp các chuẩn cho việc truyền thông giữa các máy tính trên toàn mạng. 5. Mỗi máy tính trên mạng có một địa chỉ IP duy nhất. Các máy tính sử dụng địa chỉ IP để định danh nó với các máy tính khác và truyền thông với các máy tính khác trên mạng. Địa chỉ IP là một số 32 bít, bao gồm 4 octect 8 bít, được phân tách bởi các dấu chấm và thường được viết dưới dạng thập phân. 6. Việc thiết lập địa chỉ IP trên các máy tính chạy RH9 trong một mạng nội bộ có thể được thực hiện theo nhiều cách. Tài liệu này mô tả 2 cách phổ biến thường được sử dụng, đó là: tiện ích ifconfig và trình hỗ trợ cấu hình setup. Hướng dẫn xây dựng các server trên Red Hat Linux 9 20/71 Chương 3. Tập lệnh thường dùng trên RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Nắm tổng quan về tập lệnh trên RH9  Sử dụng được một số trình soạn thảo thông dụng  Sử dụng được tập lệnh thường dùng trên RH9  Các file cấu hình và chức năng của chúng Một số kiến thức liên quan 3.1. Giới thiệu tổng quan về tập lệnh trên RH9 RH9 có một hệ thống đồ sộ các lệnh được sử dụng để tương tác giữa người sử dụng với hệ điều hành. Để đơn giản trong việc nắm vững và thao tác với hệ thống lệnh, người ta phân chia tập lệnh này thành những phần như sau:  User Commands: tập lệnh sử dụng để tương tác với user  System Calls: tập lệnh sử dụng để thực hiện những thao tác với hệ thống  Library Functions: tập lệnh gọi đến thư viện hệ thống  File: tập lệnh sử dụng để tương tác với các đối tượng file, thư mục và ứng dụng  Administration and Privileged Commands: tập lệnh quản trị hệ thống và thiết lập quyền ưu tiên  Other: một số lệnh còn lại Chú ý: với phiên bản RH9, hầu như tất cả các lệnh đều có giao diện đồ họa thay thế để thực hiện những nhiệm vụ tương đương. Có nghĩa là, nếu chúng ta cần thực hiện lệnh mkdir để tạo ra một thư mục, thì chúng ta cũng có thể sử dụng một vài thao tác nhắp chuột trên các cửa sổ đồ họa thân thiện để thực hiện thao tác này. Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Nắm nguyên tắc hoạt động của một lệnh trên cửa sổ dòng lệnh  Hiểu được khái niệm trình soạn thảo (Editor)  Hiểu được các nhiệm vụ trong công tác quản trị hệ thống  Hiểu được các nhiệm vụ trong công tác quản trị mạng  Biết được các file cấu hình và chức năng của chúng Nội dung thực hành 3.2. Một số trình soạn thảo thường dùng Hướng dẫn xây dựng các server trên Red Hat Linux 9 21/71 Trên RH9, có rất nhiều trình soạn thảo để chúng ta tương tác với các file, thư mục và ứng dụng. Trong đó, đặc biệt phải kể đến việc chỉnh sửa, thay đổi các file cấu hình hệ thống. Trên cửa sổ dòng lệnh, người ta thường sử dụng một trình soạn thảo đơn giản, gọn nhẹ nhưng đáp ứng đủ những yêu cầu của việc cấu hình hệ thống. Đó là trình soạn thảo vi. Sau đây là một vài thao tác phổ biến trên trình soạn thảo này: 1. Để tạo một file mới, chúng ta gõ vi tên_file. Ví dụ: vi readme. Sau đó gõ phím i để bắt đầu soạn thảo nội dung. Khi đã thực hiện xong, nhấn phím Esc và gõ “:qw” để lưu nội dung file và thoát khỏi trình soạn thảo. 2. Để hiệu chỉnh một file đã có, chúng ta gõ vi tên_file. Ví dụ: vi readme. Sau đó gõ phím i để bắt đầu việc hiệu chỉnh. Khi đã thực hiện xong, nhấn phím Esc và gõ “:qw” để lưu và thoát khỏi trình soạn thảo. Ngoài ra, người ta còn sử dụng một số trình soạn thảo khác như Gedit, Midnight Commander để đơn giản hóa công việc hiệu chỉnh các file cấu hình. 3.3. Tập lệnh thường dùng trên RH9 Trong tập hợp các lệnh thường dùng trên RH9, người ta phân chia thành các phần chính sau: 1. Khởi chạy và ngưng hệ thống Stt Lệnh Giải thích 1 shutdown -h now Shutdown hệ thống ngay lập tức và không khởi động lại 2 halt Tương tự như lệnh 1 3 shutdown -r 5 Shutdown hệ thống trong 5 phút và khởi động lại 4 shutdown -r now Shutdown hệ thống ngay lập tức và khởi động lại 5 reboot Tương tự như lệnh 4 6 startx Khởi chạy giao diện đồ họa (X system) 2. Truy cập và mount các File system Stt Lệnh Giải thích 1 mount -t iso9660 /dev/cdrom /mnt/cdrom Mount ổ đĩa CD-ROM vào hệ thống Linux và gọi nó là cdrom trong thư mục /mnt 2 mount -t msdos /dev/hdd /mnt/ddrive Mount ổ đĩa cứng “D” vào hệ thống Linux (dạng MSDOS File system) và gọi nó là ddrive trong thư mục /mnt Hướng dẫn xây dựng các server trên Red Hat Linux 9 22/71 3 mount -t vfat /dev/hda1 /mnt/cdrive Mount ổ đĩa cứng “C” vào hệ thống Linux (dạng VFAT File system) và gọi nó là cdrive trong thư mục /mnt 4 umount /mnt/cdrom Unmount ổ đĩa CD-ROM cdrom Chú ý: đối với đĩa CD, chỉ khi nào thực hiện lệnh umount chúng ta mới có thể lấy đĩa CD ra khỏi ổ CD-ROM. 3. Tìm file và văn bản Stt Lệnh Giải thích 1 find / -name fname Bắt đầu từ thư mục root (/), tìm file có tên “fname” 2 find / -name “*fname*” Bắt đầu từ thư mục root (/), tìm file có chứa chuỗi “fname” 3 locate missingfilename Tìm một file có tên là missingfilename sử dụng lệnh locate. Ở đây giả sử rằng chúng ta đã thực hiện lệnh updatedb (4) 4 updatedb Tạo hoặc cập nhật cơ sở dữ liệu về tất cả các file tính từ thư mục root 5 which missingfilename Hiển thị thư mục con chứa file thực thi có tên “missingfilename” 6 grep textstringtofind /dir Bắt đầu từ thư mục /dir, tìm và liệt kê tất cả các file có chứa chuỗi “textstringtofind” 4. Di chuyển, sao chép, xóa và xem nội dung file Stt Lệnh Giải thích 1 ls -l Liệt kê các file trong thư mục hiện thời sử dụng long format 2 ls -F Liệt kê các file trong thư mục hiện thời và chỉ ra kiểu của file (file type) 3 ls -laC Liệt kê các file trong thư mục hiện thời sử dụng long format và hiển thị theo dạng các cột 4 rm name Loại bỏ một file hoặc thư mục có tên “name” 5 rm -rf name Loại bỏ toàn bộ một thư mục có tên “name”, bao gồm tất cả các file và thư mục con của nó Hướng dẫn xây dựng các server trên Red Hat Linux 9 23/71 6 cp filename /home/dirname Sao chép file có tên “filename” đến thư mục “/home/dirname” 7 mv filename /home/dirname Di chuyển file có tên “filename” đến thư mục “/home/dirname” 8 cat filetoview Hiển thị nội dung của file “filetoview” 9 man -k keyword Hiển thị các trang trợ giúp chứa từ khóa “keyword” 10 more filetoview Hiển thị nội dung file “filetoview” theo từng trang, và sử dụng phím spacebar để sang trang kế tiếp 11 head filetoview Hiển thị 10 dòng đầu tiên của file “filetoview” 12 head -20 filetoview Hiển thị 20 dòng đầu tiên của file “filetoview” 13 tail filetoview Hiển thị 10 dòng cuối cùng của file “filetoview” 14 tail -20 filetoview Hiển thị 20 dòng cuối cùng của file “filetoview” 5. Cài đặt phần mềm Stt Lệnh Giải thích 1 rpm -ihv name.rpm Cài đặt gói rpm có tên “name.rpm” 2 rpm -Uhv name.rpm Cập nhật gói rpm có tên “name.rpm” 3 rpm -e package Xóa gói rpm có tên “package” 4 rpm -l package Liệt kê các file chứa trong gói có tên “package” 5 rpm -ql package Liệt kê các file chứa trong gói có tên “package”. Các file này bao gồm cả số hiệu phiên bản 6 rpm -i --force package Cài đặt lại gói rpm có tên “package” đã từng bị xóa một số file (tức là việc xóa không sử dụng đến lệnh rpm -e) 7 rpm –ihv *.rpm Cài đặt nhiều file .rpm phụ thuộc nhau 8 tar -zxvf archive.tar.gz or tar -zxvf archive.tgz Giải nén các file “archive.tar.gz” hoặc “archive.tgz” 9 ./configure Thực hiện các cấu hình cần thiết trước khi Hướng dẫn xây dựng các server trên Red Hat Linux 9 24/71 biên dịch mã nguồn chương trình cài đặt 6. Quản trị user Stt Lệnh Giải thích 1 adduser accountname Tạo một user mới có tên “accountname” 2 passwd accountname Đặt mật khẩu mới cho “accountname” 3 su Chuyển sang superuser từ người dùng hiện thời 4 exit Ngưng vai trò của superuser và trở về vai trò của người dùng hiện thời 7. Một số phím nóng hữu ích Stt Lệnh Giải thích 1 Control|Alt + hoặc - Tăng hoặc giảm độ phân giải màn hình. Ví dụ, từ 640 x 480 đến 800 x 600 2 Alt | Esc Hiển thị các cửa sổ đang ở trạng thái hoạt động 3 Shift | Control + F8 Thay đổi kích thước cửa sổ đang lựa chọn 4 Kích chuột phải trên desktop Hiển thị menu 5 Shift | Control Alt + r Refresh màn hình 6 Shift | Control Alt + x Khởi chạy một phiên làm việc X windows mới 8. Các file cấu hình và chức năng của chúng Stt Lệnh Giải thích 1 /etc/profile Biến môi trường hệ thống cho tất cả các user 2 /etc/fstab Liệt kê các thiết bị và các mount point kết hợp với chúng. Hiệu chỉnh file này để bổ sung CD-ROM, các phân vùng DOS và ổ đĩa mềm lúc hệ thống khởi động 3 etc/rc.d/rc.local Bash script thực thi lúc kết thúc tiến trình đăng nhập vào hệ thống. Chức năng của script này tương tự như file autoexec.bat trong MSDOS Hướng dẫn xây dựng các server trên Red Hat Linux 9 25/71 4 /etc/HOSTNAME Chứa trên đầy đủ của máy tính, bao gồm cả domain 5 /etc/cron.* Có 4 thư mục tự động thực hiện tất cả các script tại các khoảng thời gian được quy định là giờ, ngày, tuần hay tháng 6 /etc/hosts Một danh sách các tên máy và địa chỉ IP tương ứng 7 /etc/httpd/conf Các file cấu hình cho Apache Web server 8 /etc/inittab Chỉ định kiểu khởi động cho hệ thống 9 /etc/resolv.conf Định nghĩa địa chỉ IP cho các DNS server 10 /etc/smb.conf File cấu hình cho Samba server 11 /etc/X11/XF86Config File cấu hình cho X-Windows Hướng dẫn xây dựng các server trên Red Hat Linux 9 26/71 Tổng kết chương 1. RH9 có một hệ thống đồ sộ các lệnh được sử dụng để tương tác giữa người sử dụng với hệ điều hành. Để đơn giản trong việc nắm vững và thao tác với hệ thống lệnh, người ta phân chia tập lệnh này thành những phần đặc trưng. 2. Với phiên bản RH9, hầu như tất cả các lệnh đều có giao diện đồ họa thay thế để thực hiện những nhiệm vụ tương đương. 3. Trên RH9, có rất nhiều trình soạn thảo để chúng ta tương tác với các file, thư mục và ứng dụng. Trong đó, đặc biệt phải kể đến việc chỉnh sửa, thay đổi các file cấu hình hệ thống. 4. Trên cửa sổ dòng lệnh, người ta thường sử dụng vi để thực hiện những thao tác với các file cấu hình hệ thống. 5. Tập lệnh thường dùng trên RH9 bao gồm: a. Khởi chạy và ngưng hệ thống b. Truy cập và mount các File system c. Tìm file và văn bản trong file d. Di chuyển, sao chép, xóa và xem nội dung file e. Cài đặt phần mềm f. Quản trị user 6. Một số phím nóng hữu ích trên RH9 giúp nhanh chóng thực hiện các thao tác thường dùng. 7. Các file cấu hình thường tương tác và chức năng của chúng. Hướng dẫn xây dựng các server trên Red Hat Linux 9 27/71 Chương 4. Quản trị hệ thống RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Hiểu được các nhiệm vụ trong việc quản trị hệ thống  Hiểu được đặc quyền của user root  Quản trị được hệ thống RH9 Một số kiến thức liên quan 4.1. Giới thiệu về các nhiệm vụ quản trị hệ thống RH9 Nhiệm vụ của một người quản trị hệ thống RH9 là bảo trì (maintenance) một hệ thống máy tính, bao gồm cả việc cài đặt và duy trì sự hoạt động ổn định của phần cứng và phần mềm trên hệ thống. Một người quản trị hệ thống có thể chỉ thực hiện nhiệm vụ này trên chính máy tính riêng của mình, hoặc cũng có thể chịu trách nhiệm quản lý một hệ thống hàng trăm user. Trong chương này, chúng ta có dịp khảo sát những nội dung chính sau: 1. Làm việc với user root. 2. Bảo trì hệ thống (System Maintenance). 3. Quản lý user và group. 4. Thiết lập Disk Quota. 5. Phân tích hiệu suất hoạt động của hệ thống (Analyzing Performance). 6. Hiểu những nhiệm vụ bảo mật hệ thống. 7. Sử dụng các công cụ trợ giúp. Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Đăng nhập hệ thống RH9  Thao tác được các lệnh thông dụng trên RH9 Nội dung thực hành 4.2. Quản trị hệ thống RH9 Làm việc với user root. Để người quản trị hệ thống có thể thực hiện được các nhiệm vụ của mình, anh ta phải có được những quyền ưu tiên (privileges) của superuser (root). Đây là những quyền mà các user bình thường không có. Root là một user đặc biệt trên tất cả các hệ thống Unix và Linux. User này có toàn quyền truy cập và thao tác trên hệ thống. Vậy trong quá trình thực thi các nhiệm vụ trên hệ thống, quyền của root có thể ảnh hưởng tới hệ thống đến mức nào? User này có thể xóa toàn bộ hệ thống với lệnh rm –rf /. Bên cạnh quyền truy cập đến tất cả dữ liệu, user này cũng hoàn toàn có thể Hướng dẫn xây dựng các server trên Red Hat Linux 9 28/71 thực hiện các thao tác sao lưu, phục hồi dữ liệu, bảo trì hệ thống, và các nhiệm vụ bảo mật. Một điểm cần chú ý là chúng ta có thể thay đổi mật khẩu của root một cách dễ dàng chỉ với một đĩa khởi động. Các bước như sau: 1. Khởi động hệ thống với đĩa khởi động. 2. Mount vào phân vùng root. 3. Hiệu chỉnh file /etc/passwd để loại bỏ mật khẩu root. 4. Khởi động lại hệ thống từ đĩa cứng. 5. Thiết lập một mật khẩu mới cho root. Đây sẽ là ưu điểm nếu RH9 được sử dụng với mục đích duy nhất là giảng dạy cho người dùng Linux. Nhưng sẽ là vấn đề lớn nếu RH9 được sử dụng như một ISP tại một vị trí không an toàn. Bởi vì quyền được thiết lập cho root là toàn diện, cho nên để đảm bảo an toàn cho hệ thống, tránh xảy ra những thao tác ngoài ý muốn có thể dẫn đến sự bất ổn định, thậm chí phá hủy hệ thống, chúng ta thường đăng nhập với vai trò một user thông thường. Tiếp đó, để thực hiện nhiệm vụ cần đến quyền của root, ta sử dụng lệnh su để chuyển sang root và bắt đầu thực hiện các nhiệm vụ cần thiết. Sau khi hoàn thành, chúng ta quay trở lại vai trò của user thông thường với lệnh exit. Bảo trì hệ thống. Để bảo trì hệ thống RH9, người quản trị hệ thống cần phải thực hiện các nhiệm vụ sau:  Xác định được nơi để tìm kiếm thông tin khi cần  Lập các quy trình xử lý các tác vụ quản trị hệ thống. RH9 là một hệ điều hành phức tạp. Rất nhiều file và tiến trình phụ thuộc vào các file và tiến trình khác. Do đó, khi chuẩn bị thực hiện một thay đổi trên hệ thống, chúng ta nên định nghĩa một quy trình thực hiện (các bước thực hiện). Lượng thời gian dành vào việc lập kế hoạch và viết tài liệu cho nhiệm vụ này phụ thuộc hoàn toàn vào độ phức tạp của nhiệm vụ đó, nhưng nhìn chung chúng bao gồm những mục sau: o Cung cấp thông tin mô tả về nhiệm vụ o Cung cấp tài liệu về việc nhiệm vụ này sẽ ảnh hưởng đến hệ thống như thế nào, bao gồm cả những file và tiến trình liên quan o Lập kế hoạch sao lưu dự phòng trước khi thực hiện những thay đổi. Thao tác này sẽ có tác dụng trong trường hợp chúng ta muốn phục hồi lại cấu hình ban đầu của hệ thống Quản lý user và group. Tham khảo Chương I – Giới thiệu về Red Hat Linux 9, phần 1.4. Thực hành tạo user & group. Thiết lập Disk Quota. Hướng dẫn xây dựng các server trên Red Hat Linux 9 29/71 Mỗi user trên một mạng có thể được gán một phần nhỏ không gian lưu trữ của mạng (không gian đĩa cứng trên các server). Nhiệm vụ này do người quản trị hệ thống thực hiện. Thao tác này được gọi là cấp hạn ngạch đĩa cho user (disk quota). Không gian đĩa cấp cho các đến user là được tính trên cơ sở các file và thư mục mà user đó sở hữu. Khi tính toán không gian lưu trữ sử dụng, các file nén không được xem xét, tức là disk quota trừ đi hạn ngạch của user dựa theo kích thước file chưa nén. Người quản trị hệ thống có thể thực hiện các tác vụ sau: chỉ ra không gian đĩa được cấp cho mỗi user bằng cách đặt giới hạn disk quota; chỉ ra khi nào một sự kiện cảnh báo, để báo cho user cho biết rằng họ đang tiến gần đến giới hạn disk quota của họ. Làm cho disk quota có hiệu lực và cấm các thao tác của user khi họ vượt quá giới hạn disk quota hoặc cho phép họ được tiếp tục xử lý. Theo dõi một sự kiện khi ngưỡng disk quota bị vượt. Cấu hình Disk Quota. Để cấu hình disk quota, chúng ta thực hiện các bước như sau: 1. Kích hoạt chức năng quota trên file system bằng cách hiệu chỉnh file cấu hình /etc/fstab. 2. Remount file system(s). 3. Tạo file quota và sinh ra bảng chứa thông tin về dung lượng đĩa được sử dụng. 4. Gán quota. Mỗi bước được mô tả chi tiết như sau: Kích hoạt chức năng quota trên file system bằng cách hiệu chỉnh file cấu hình /etc/fstab. Với vai trò root, bổ sung các tùy chọn usrquota và/hoặc grpquota vào file system mà chúng ta dự định cấu hình quota. Ví dụ: LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 Trong ví dụ này, /home file system được kích hoạt cả user và group quota. Remount file system(s). Khởi động lại hệ thống để mount lại các thay đổi đã thiết lập trong fstab. Tạo file quota và sinh ra bảng chứa thông tin về dung lượng đĩa được sử dụng. Hướng dẫn xây dựng các server trên Red Hat Linux 9 30/71 Sau khi khởi động lại hệ thống, hệ thống đã có khả năng làm việc với disk quota. Tuy nhiên, bản thân file system chưa hỗ trợ quota. Và bước tiếp theo là chạy lệnh quotacheck để thực hiện thao tác này. Lệnh quotacheck kiểm tra các file system đã kích hoạt quota và thiết lập một bảng chứa các dung lượng đĩa hiện thời đã sử dụng trên mỗi file system. Bảng này được sử dụng để cập nhật trạng thái dung lượng đĩa sử dụng, đồng thời cập nhật các file disk quota. Để tạo các file quota (aquota.user và aquota.group) trên file system, chúng ta sử dụng tùy chọn –c trong lệnh quotacheck. Ví dụ, nếu user và group quota đã được kích hoạt trên thư mục /home, thao tác tạo file quota tương ứng với thư mục này sẽ là: quotacheck -acug /home Trong đó:  -a: chỉ định rằng tất cả các file system non-NFS đã mount trong file /etc/mtab sẽ được kiểm tra xem đã kích hoạt quota hay chưa  -c: chỉ định rằng file quota sẽ được tạo cho mỗi file system với điều kiện đã kích hoạt quota  -u: chỉ định việc kiểm tra user quota  -g: chỉ định việc kiểm tra group quota Nếu tùy chọn –u được chỉ định, chỉ có file user quota được tạo. Nếu tùy chọn –g được chỉ định, chỉ có file group quota được tạo. Sau khi các file quota được tạo ra, chúng ta thực hiện lệnh sau để sinh ra bảng chứa các dung lượng đĩa hiện thời đã sử dụng trên mỗi file system với chức năng quota đã được kích hoạt: quotacheck -avug Trong đó:  -a: kiểm tra tất cả các file system đã kích hoạt quota và được mount  -v: hiển thị thông tin trạng thái đầy đủ của tiến trình kiểm tra quota  -u: kiểm tra thông tin user disk quota  -g: kiểm tra thông tin group disk quota Sau khi lệnh quotacheck đã thực hiện xong, những file quota tương ứng với các quota đã được kích hoạt (user và/hoặc group) sẽ định vị với dữ liệu tại các quota-enabled file system, chẳng hạn như thư mục /home. Gán quota. Đối với mỗi User. Bước cuối cùng là gán disk quota với lệnh edquota. Để gán disk quota cho một user, với vai trò root chúng ta thực hiện lệnh: edquota username Hướng dẫn xây dựng các server trên Red Hat Linux 9 31/71 Thực hiện thao tác này tương ứng với mỗi user mà chúng ta muốn gán disk quota. Ví dụ, nếu một quota được kích hoạt trong /etc/fstab với thư mục /home (/dev/hda3) và lệnh edquota testuser được thực hiện, chúng ta sẽ có được những thông tin về quota dành cho testuser như sau: Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda3 440436 0 0 37418 0 0 Trong đó:  Cột đầu tiên: hiển thị tên của file system có một quota đã được kích hoạt  Cột thứ hai: hiển thị bao nhiêu block user đang sử dụng hiện tại  Hai cột tiếp theo: thiết lập soft limit và hard limit cho user Một hard limit là dung lượng đĩa lớn nhất mà một user hoặc group có thể sử dụng. Một khi đã đạt đến giới hạn này, user hoặc group sẽ không còn dung lượng đĩa để tiếp tục sử dụng. Soft limit cũng chỉ định dung lượng đĩa lớn nhất mà một user hoặc group có thể sử dụng. Tuy nhiên, soft limit cho phép vượt quá dung lượng cho phép trong một khoảng thời gian nào đó. Khoảng thời gian có thể được mô tả bằng giây, phút, giờ, ngày, tuần, hoặc tháng. Nếu tất cả các giá trị được thiết lập bằng 0, không có giới hạn nào được thiết lập. Để kiểm tra rằng quota tương ứng với user đã được thiết lập, sử dụng lệnh: quota testuser Đối với mỗi Group. Để gán disk quota cho một group, với vai trò root chúng ta thực hiện lệnh: edquota -g devel Để kiểm tra rằng quota tương ứng với group đã được thiết lập, sử dụng lệnh: quota -g devel Đối với mỗi File System. Để gán disk quota cho một file system, với vai trò root chúng ta thực hiện lệnh: edquota -t Quản lý Disk Quota. 1. Thông báo về Disk Quota. Hướng dẫn xây dựng các server trên Red Hat Linux 9 32/71 2. Giữ cho hoạt động của Quota được chính xác. 3. Kích hoạt và hủy kích hoạt Quota. Mỗi bước được mô tả chi tiết như sau: Thông báo về Disk Quota. Chúng ta sử dụng tiện ích repquota để tạo một thông báo về quota. Ví dụ, để hiển thị thông tin về thư mục /home, chúng ta thực hiện: repquota /home Để xem thông báo cho tất cả các quota-enabled file system, chúng ta thực hiện: repquota -a Giữ cho hoạt động của Quota được chính xác. Bất cứ khi nào hệ thống shutdown không an toàn (ví dụ: cúp điện đột ngột), chúng ta cần thực hiện lệnh quotacheck (quotacheck -avug). Tuy nhiên, biện pháp tốt hơn là sử dụng lệnh này theo lịch trình đã được thiết lập với cron. Để tìm hiểu chi tiết về cron, vui lòng tham khảo Chapter 28. Automated Tasks trong tập tài liệu Red Hat Linux 9: Red Hat Linux Customization Guide. Kích hoạt và hủy kích hoạt Quota. Để hủy kích hoạt tất cả các user và group quota, chúng ta thực hiện: quotaoff -vaug Để kích hoạt quota trở lại, chúng ta sử dụng lệnh quotaon với các tùy chọn tương tự. Để kích hoạt quota cho một file system, chẳng hạn thư mục /home, chúng ta thực hiện: quotaon -vug /home Để tìm hiểu chi tiết về Disk Quota, vui lòng tham khảo Chapter 6. Implementing Disk Quotas trong tập tài liệu Red Hat Linux 9: Red Hat Linux Customization Guide. Phân tích hiệu suất hoạt động của hệ thống. Việc phân tích hiệu suất hoạt động của hệ thống là tiến trình xác định những điểm tắt nghẽn trong hệ thống của bạn. Nó bao gồm một số các bước thực hiện. Đầu tiên là nhìn một cách tổng thể: liệu vấn đề có liên quan đến CPU hay I/O? Hay vấn đề liên quan đến dung lượng đĩa?... chúng ta cố gắng cô lập các nguyên nhân xuất phát từ người sử dụng hay chương trình để tìm ra nguyên nhân chính nhằm giải quyết triệt để vấn đề phát sinh từ hệ thống. Dưới đây là một vài công cụ giúp chúng ta trả lời cho những câu hỏi vừa đặt ra ở trên. Hướng dẫn xây dựng các server trên Red Hat Linux 9 33/71 Xem thông tin trạng thái sử dụng hiện thời của CPU với vmstat. Vmstat là một công cụ được sử dụng để cung cấp một số dữ liệu về hệ thống, trong đó bao gồm cả thông tin trạng thái sử dụng hiện thời của CPU. Cú pháp: vmstat interval [count] Trong đó, interval là số giây giữa các lần thông báo, và count là tổng số các thông báo sẽ hiển thị. Nếu không đưa vào chỉ số count trong quá trình thực hiện lệnh, vmstat sẽ thực hiện liên tục cho đến khi chúng ta ngưng bởi tổ hợp phím Ctrl + C hoặc hủy tiến trình này. Ví dụ: vmstat 5 5 Xem thông tin về bộ nhớ với free. Free là một công cụ hữu ích để hiển thị thông tin về lượng bộ nhớ đã dùng và chưa dùng. Cú pháp: free Thay đổi độ ưu tiên (priority) của tiến trình với renice. Renice được sử dụng để thay đổi độ ưu tiên của các tiến trình đang chạy trên hệ thống. Mặc định trên RH9, các tiến trình có giá trị nice là 0. Giá trị nice này nằm trong khoảng từ -20 đến 20. Trong đó, tiến trình nào có giá trị nice càng thấp sẽ có độ ưu tiên càng cao. Chúng ta có thể xem thông tin của giá trị nice bằng lệnh nice hoặc ps –l (quan sát giá trị nice ở cột NI). Để thay đổi giá trị nice, chúng ta sử dụng lệnh renice. Cú pháp: renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...] Trong ví dụ sau, chúng ta sẽ thay đổi giá trị nice từ 0 đến 5 cho tiến trình có PID là 3138. Điều này có nghĩa là bất kỳ tiến trình nào có giá trị nice thấp hơn 5 sẽ được ưu tiên thực hiện trước. renice 5 3138 3138: old priority 0, new priority 5 Một công cụ hữu ích khác có thể giúp chúng ta giải quyết sự cố trên hệ thống RH9 là lệnh lsof. Lệnh này có tác dụng liệt kê các file đang mở. Hiểu những nhiệm vụ bảo mật hệ thống. Đối với một người quản trị hệ thống, việc quan tâm đến nhiệm vụ đảm bảo sự an toàn là cực kỳ quan trọng. Thận trọng, chú ý đến những điểm yếu có thể của hệ thống là cần thiết, đặc biệt hơn nếu hệ thống chứa những dữ liệu quan trọng. Có hai thao tác chính cần nhớ:  Chọn một mật khẩu tốt.  Thường xuyên cập nhật những phiên bản nâng cấp về bảo mật. Điều này có thể thực hiện được bằng cách kiểm tra từng thời kỳ những thông tin tư vấn về bảo mật và những phiên bản cập nhật của RH tại địa chỉ Hướng dẫn xây dựng các server trên Red Hat Linux 9 34/71 Sử dụng các công cụ trợ giúp. Có nhiều cách để nhận được sự trợ giúp để thực hiện các thao tác trên RH9. Sau đây là một vài gợi ý tiêu biểu:  Sử dụng các trang trợ giúp với lệnh man Ví dụ: man mkdir  Truy cập vào Red Hat Mailing Lists và Newsgroups ( Newsgroup là một nơi mà chúng ta có thể download và tham khảo các bài viết được gửi lên. Khi trở thành thành viên của một mailing list, chúng ta được phép gửi bài  Để tham khảo, tìm kiếm những thông tin chung về Linux, chúng ta nên truy cập vào một trong các địa chỉ và  Một địa chỉ hữu ích khác mà chúng ta nên tham khảo, đó là (Linux Documentation Project). Địa chỉ này cung cấp mọi thứ từ thông tin chung về Linux, đến các user, group và các dự án về phát triển Linux Hướng dẫn xây dựng các server trên Red Hat Linux 9 35/71 Tổng kết chương 1. Nhiệm vụ của một người quản trị hệ thống RH9 là bảo trì (maintenance) một hệ thống máy tính, bao gồm cả việc cài đặt và duy trì sự hoạt động ổn định của phần cứng và phần mềm trên hệ thống. Một người quản trị hệ thống có thể chỉ thực hiện nhiệm vụ này trên chính máy tính riêng của mình, hoặc cũng có thể chịu trách nhiệm quản lý một hệ thống hàng trăm user. 2. Để người quản trị hệ thống có thể thực hiện được các nhiệm vụ của mình, anh ta phải có được những quyền ưu tiên root. Đây là những quyền mà các user bình thường không có. Root là một user đặc biệt trên tất cả các hệ thống Unix và Linux. User này có toàn quyền truy cập và thao tác trên hệ thống. 3. Một điểm cần chú ý là chúng ta có thể thay đổi mật khẩu của root một cách dễ dàng chỉ với một đĩa khởi động. 4. Bởi vì quyền được thiết lập cho root là toàn diện, cho nên để đảm bảo an toàn cho hệ thống, tránh xảy ra những thao tác ngoài ý muốn có thể dẫn đến sự bất ổn định, thậm chí phá hủy hệ thống, người ta thường đăng nhập với vai trò một user thông thường. 5. Việc quản trị hệ thống bao gồm những nhiệm vụ chính sau: a. Bảo trì hệ thống. b. Quản lý user và group. c. Thiết lập Disk Quota. d. Phân tích hiệu suất hoạt động của hệ thống. e. Hiểu những nhiệm vụ bảo mật hệ thống. f. Sử dụng các công cụ trợ giúp. Hướng dẫn xây dựng các server trên Red Hat Linux 9 36/71 Chương 5. Xây dựng DNS server trên RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Thiết lập được các caching-only server, slave server, master server  Quản trị các record trên DNS server Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Thực hành thiết lập địa chỉ IP trên RH9 Nội dung thực hành 5.1. Cài đặt phần mềm Để cấu hình được DNS server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. BIND (Berkeley Internet Name Daemon) là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. Số phiên bản hiện tại là 9.2.1-16. Trong quá trình cài đặt hệ điều hành RH9, nếu bạn đã đánh dấu chọn vào mục bind-9.2.1-16 thì phần mềm này sẽ được tự động cài đặt cùng với RH9. Trường hợp chưa chọn trong khi cài đặt RH9, bạn có thể cập nhật sau khi quá trình cài đặt RH9 đã hoàn thành. 5.2. Các file cấu hình Trước khi cấu hình các server, bạn nên xem qua các file cấu hình cần thiết. Có tất cả 5 file cấu hình. Trong đó, 3 file đầu tiên là yêu cầu bắt buộc đối với cả 3 loại server – master, slave hoặc caching-only, và 2 file còn lại được sử dụng riêng cho master server. 3 file đầu tiên là:  named.conf – file cấu hình của DNS server  named.ca – file chứa thông tin về tên và địa chỉ IP của các nameserver chính trên thế giới  named.local – file chứa thông tin dùng để phân giải địa chỉ loopback cho localhost 2 file chỉ dành riêng cho master server là:  zone – file chứa thông tin về tên, địa chỉ IP của các máy chủ và máy trạm trong domain nội bộ. Đồng thời file này cũng chứa thông tin ánh xạ (mapping) giữa tên và địa chỉ IP  reverse zone – file chứa thông tin ánh xạ giữa địa chỉ IP và tên máy BIND lưu trữ các file cấu hình của mình ở hai nơi:  File /etc/named.conf – file cấu hình chính cho dịch vụ named (named daemon) Hướng dẫn xây dựng các server trên Red Hat Linux 9 37/71  Thư mục /var/named – thư mục lưu trữ zone, thông tin thống kê và các file cache 5.3. Các record của file zone Có khá nhiều loại record trong một file zone. Sau đây là một số record thường được sử dụng:  A – Address record, dùng để chỉ định một địa chỉ IP tương ứng với một tên máy tính  CNAME – Canonical name record, dùng để ánh xạ một tên đến một tên máy khác. Loại record này thường được xem là một bí danh (alias)  MX – Mail eXchange record, cho biết rằng các email đã được gửi nên đi theo hướng nào trong một không gian tên cụ thể được điều khiển bởi zone này  NS – NameServer record, cho biết những nameserver nào có thẩm quyền đối với một zone cụ thể  PTR – PoinTeR record, chỉ định các địa chỉ IP sẽ được phân giải thành tên máy tương ứng  SOA – Start Of Authority record, công bố những thông tin quan trọng và có căn cứ về một namespace cho nameserver 5.4. Cấu hình caching-only server Trong phần này, chúng ta xây dựng một caching-only server cho domain có tên là opentech.edu.vn. Như đã đề cập ở phần trên, chúng ta chỉ cần cấu hình trên 3 file đối với một caching-only server. Các bước thực hiện như sau: 1. Kiểm tra lại nội dung của file /etc/named.conf. Khi chúng ta hoàn thành việc cài đặt BIND, file /etc/named.conf cũng tự động được tạo ra và chứa thông tin về zone dành cho localhost. Bạn phải chắc chắn rằng đã tồn tại 3 dòng dành cho 3 zone:  . (dấu chấm) – tham chiếu đến file named.ca  localhost – tham chiếu đến file localhost.zone  0.0.127.in-addr.arpa – tham chiếu đến file named.local Và phần option với:  directory “/var/named”; 2. Kiểm tra nội dung của file localhost.zone và named.local. Hai file này chứa thông tin về domain dành cho localhost, và thường được tạo tự động khi cài đặt BIND. Chúng ta không nên thực hiện bất kỳ những thay đổi nào trên 2 file này. Mục đích của domain này là nhằm phục vụ cho việc phân giải địa chỉ loopback 127.0.0.1 ra tên máy là localhost. 3. Kiểm tra nội dung của file /etc/nsswitch.conf để đảm bảo chứa dòng thông tin cấu hình sau: hosts: files nisplus dns Hướng dẫn xây dựng các server trên Red Hat Linux 9 38/71 4. Kiểm tra nội dung của file /etc/resolv.conf để đảm bảo rằng địa chỉ IP của localhost (127.0.0.1) được liệt kê như một nameserver. nameserver 127.0.0.1 5. Kiểm tra nội dung file /etc/host.conf để đảm bảo chứa từ khóa “bind”. 6. Khởi chạy named daemon. Đây là dịch vụ của DNS server. # service named start 7. Chạy lệnh rndc stats tại dòng lệnh. Lệnh này ghi những thông tin thống kê (statistic) của server vào file thống kê. 8. Chạy lệnh dig tại dòng lệnh. Dig (domain information groper) là một tiện ích mềm dẻo được dùng để truy tìm thông tin về các DNS server. Công cụ này tra cứu và hiển thị thông tin trả lời của các DNS server mà nó đã truy vấn đến. Nếu giá trị của các thông tin trả về của một trong các mục ANSWER hoặc AUTHORITY khác 0 thì chúng ta đã cấu hình caching-only server thành công. 5.5. Cấu hình slave server Bước kế tiếp là xây dựng một slave server cho domain opentech.edu.vn của bạn. Các bước thực hiện tương tự như ở phần cấu hình caching-only server. Bạn chỉ cần thực hiện một số thay đổi nhỏ trên file /etc/named.conf và bổ sung thêm 2 file zone để hoàn thành việc cấu hình slave server. Trên máy chủ mà bạn muốn cấu hình để trở thành slave server, mở file /etc/named.conf và bổ sung vào đây 2 mục zone mới, một zone dùng để phân giải từ tên máy tính ra địa chỉ IP (forward lookup), và zone còn lại dùng để phân giải địa chỉ IP ra tên máy tính (reverse lookup). Đối với forward lookup, chúng ta cần bổ sung các thông tin cấu hình như sau (cần lưu ý rằng, trong ví dụ của chúng ta ở đây, master server có tên là dns1.opentech.edu.vn và địa chỉ IP là 10.238.200.2.): zone “opentech.edu.vn” IN { notify no; type slave; file “opentech.edu.vn”; masters {10.238.200.2; }; }; Đối với reverse lookup, chúng ta cần bổ sung các thông tin cấu hình như sau: zone “200.238.10.in-addr.arpa” IN { notify no; type slave; file “opentech.rev”; masters {10.238.200.2; }; }; Hướng dẫn xây dựng các server trên Red Hat Linux 9 39/71 Với các thông số cấu hình như trên, thông tin mà slave server nhận từ master server sẽ được lưu trữ tại thư mục /var/named. Đến bước này, bạn đã hoàn thành việc cấu hình slave server. Việc bổ sung 2 file zone sẽ được thực hiện trong phần cấu hình master server. Chú ý: thông số notify có nhiệm vụ điều khiển việc dịch vụ named có thông báo đến các slave server khi một zone được cập nhật hay không. Thông số này chấp nhận các giá trị sau (mặc định là yes.):  yes – thông báo đến các slave server khi một zone được cập nhật  no – không thông báo đến các slave server khi một zone được cập nhật 5.6. Cấu hình master server File /etc/named.conf trên máy tính được cấu hình làm master server cũng cần có sự chỉnh sửa. Giả sử rằng bạn đã cấu hình máy tính này là một caching-only server, khi đó bạn chỉ cần bổ sung phần sau vào file /etc/named.conf (phần cấu hình này cũng sử dụng đến tên và địa chỉ IP đã đề cập trong phần trước.): zone “opentech.edu.vn” IN { notify no; type master; file “opentech.edu.vn”; }; Đối với reverse lookup, chúng ta cần bổ sung các thông tin cấu hình như sau: zone “200.238.10.in-addr.arpa” IN { notify no; type master; file “opentech.rev”; }; Lưu ý rằng chúng ta sử dụng các file zone giống nhau trên master server và slave server. Các file zone này chỉ cần tạo ở master server bởi vì chúng sẽ được download về slave server nhờ vào chức năng zone file transfer. Tiếp theo, chúng ta cần tạo các file zone được /etc/named.conf tham chiếu đến. Đầu tiên chúng ta tạo file /var/named/opentech.edu.vn với nội dung như sau: $ORIGIN opentech.edu.vn. ;Appends the domain name to unqualified records $TTL 86400 ;Time To Live is 1 Day @ IN SOA dns1.opentech.edu.vn. hostmaster.opentech.edu.vn. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day Hướng dẫn xây dựng các server trên Red Hat Linux 9 40/71 IN NS dns1.opentech.edu.vn. IN NS dns2. opentech.edu.vn. ; mail.opentech.edu.vn email server is preferred to the mail2.opentech.edu.vn email server when receiving email destined for the opentech.edu.vn domain IN MX 10 mail. opentech.edu.vn. IN MX 20 mail2. opentech.edu.vn. ; Requests for opentech.edu.vn are pointed to 10.238.200.6, while requests for server1.opentech.edu.vn are pointed to 10.238.200.6. IN A 10.238.200.6 server1 IN A 10.238.200.6 server2 IN A 10.238.200.8 dns1 IN A 10.238.200.2 dns2 IN A 10.238.200.4 ftp IN CNAME server1 mail IN CNAME server1 mail2 IN CNAME server2 www IN CNAME server2 Kế đến, chúng ta tạo file /var/named/opentech.rev với nội dung như sau: $ORIGIN 200.238.10.in-addr.arpa. $TTL 86400 @ IN SOA dns1.opentech.edu.vn. hostmaster.opentech.edu.vn. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day IN NS dns1.opentech.edu.vn. IN NS dns2.opentech.edu.vn. ;IP addresses 10.238.200.20 through 10.238.200.25 are pointed to corresponding FQDNs. Hướng dẫn xây dựng các server trên Red Hat Linux 9 41/71 20 IN PTR alice.opentech.edu.vn. 21 IN PTR betty.opentech.edu.vn. 22 IN PTR charlie.opentech.edu.vn. 23 IN PTR doug.opentech.edu.vn. 24 IN PTR ernest.opentech.edu.vn. 25 IN PTR fanny.opentech.edu.vn. Đến bước này, chúng ta có thể kiểm tra tính đúng đắn của các thao tác cấu hình bằng việc khởi chạy dịch vụ named và sử dụng lệnh ping đến các tên máy đã cấu hình ở trên. Nếu kết quả trả về là các dòng Reply thì chúng ta đã thành công. Ngược lại, chúng ta cần rà soát lại cẩn thận các bước đã thực hiện vừa qua. Hướng dẫn xây dựng các server trên Red Hat Linux 9 42/71 Tổng kết chương 1. Để cấu hình được DNS server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. BIND-9.2.1-16 là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. 2. BIND có thể được cài đặt cùng với RH9 hoặc bổ sung sau khi tiến trình cài đặt hoàn thành. 3. Có 5 file cấu hình sử dụng trong khi xây dựng DNS server. Trong đó, 3 file đầu tiên là yêu cầu bắt buộc đối với cả 3 loại server – master, slave hoặc caching-only, và 2 file còn lại được sử dụng riêng cho master server. 4. Có khá nhiều loại record trong một file zone. Các record thường được sử dụng là A, CNAME, MX, NS, PTR và SOA. 5. Lưu ý rằng chúng ta sử dụng các file zone giống nhau trên master server và slave server. Các file zone này chỉ cần tạo ở master server bởi vì chúng sẽ được download về slave server nhờ vào chức năng zone file transfer. Hướng dẫn xây dựng các server trên Red Hat Linux 9 43/71 Chương 6. Xây dựng Web server trên RH9 Mục tiêu của chương: Kết thúc chương này chúng ta sẽ:  Thiết lập được Apache Web server  Quản trị được các website trên Apache Web server Kiến thức chuẩn bị: Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Thực hành thiết lập địa chỉ IP trên RH9 Nội dung thực hành: 6.1. Cài đặt phần mềm Để cấu hình được Apache Web server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. Httpd là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. Số phiên bản hiện tại là 2.0.40-21. Trong quá trình cài đặt hệ điều hành RH9, nếu bạn đã đánh dấu chọn vào mục httpd-2.0.40-21 thì phần mềm này sẽ được tự động cài đặt cùng với RH9. Trường hợp chưa chọn trong khi cài đặt RH9, bạn có thể cập nhật sau khi quá trình cài đặt RH9 đã hoàn thành. 6.2. Các file cấu hình Tất cả các file cấu hình của Apache được đặt tại thư mục /etc/httpd, trong đó file cấu hình chính là /etc/httpd/conf/httpd.conf. Nơi đặt các website (các web page) của bạn. Tất cả các thông số cấu hình (directives) dùng để định nghĩa các đặc điểm của mỗi website được nhóm lại bên trong phần trong file httpd.conf. Thông số cấu hình được sử dụng thường xuyên nhất trong một là:  servername: định nghĩa tên của website được quản lý bởi container. Thông số này chỉ cần trong phần named virtual hosting  DocumentRoot: Định nghĩa thư mục chứa các web page của website Theo mặc định, Apache tìm kiếm trong thư mục DocumentRoot một file có tên là index.html. Vì vậy, chẳng hạn như Web server của chúng ta có tên www.my-site.com với thư mục DocumentRoot là /home/www/site1, khi đó Apache sẽ hiển thị nội dung của file /home/www/site1/index.html khi chúng ta nhập trên trình duyệt. Có một vài công cụ xây dựng website như Microsoft FrontPage, khi tạo file sẽ có phần mở rộng là .htm thay vì .html. Khi đó, chúng ta cần tạo một liên kết mềm có tên là index.html liên kết đến index.htm. Trong ví dụ này, chúng ta thực hiện như sau: Hướng dẫn xây dựng các server trên Red Hat Linux 9 44/71 # cd /home/www/site1 # ln -s index.htm index.html # ll index.* -rw-rw-r-- 1 root root 48590 Jun 18 23:43 index.htm lrwxrwxrwx 1 root root 9 Jun 21 18:05 index.html -> index.htm Theo mặc định, Apache sẽ tiến hành tìm kiếm tất cả các website của mình trong thư mục /var/www/html dựa vào khai báo ban đầu của thông số DocumentRoot ở đầu file httpd.conf. Trong ví dụ này, chúng ta chỉ định thư mục /home/www nhằm mục đích cho biết rằng chúng ta vẫn có thể đặt các website của mình ở một vị trí tùy ý trên hệ thống. 6.3. Các hình thức cấu hình Web server Khi thực hiện cấu hình Apache, chúng ta có thể thực hiện theo một trong hai hình thức cấu hình Named Virtual Hosting hoặc IP-Based Virtual Hosting. Named Virtual Hosting. Với loại virtual hosting này, chúng ta có thể cấu hình để Web server xuất bản (hosting) hai hay nhiều website trên một địa chỉ IP nhờ vào chức năng named virtual hosting. Thông số NameVirtualHost trong file /etc/httpd/conf/httpd.conf sẽ cho Apache biết rằng địa chỉ IP nào sẽ chịu trách nhiệm thực hiện đặc điểm này. Các container trong file này sẽ cho Apache biết nơi tìm kiếm các web page của mỗi website. Chúng ta cũng phải chỉ định địa chỉ IP đối với mỗi container áp dụng đặc điểm này. IP-Based Virtual Hosting. Loại virtual hosting thứ hai được dùng để xuất bản một website tương ứng với một địa chỉ IP. Đối với trường hợp này, chúng ta không sử dụng thông số NameVirtualHost đối với địa chỉ IP, và phải thiết lập duy nhất một container đơn đối với mỗi địa chỉ IP. Đồng thời, chúng ta cũng không cần sử dụng thông số ServerName trong container, bởi vì chỉ có duy nhất một website tương ứng với địa chỉ IP kèm theo nó. 6.4. Cấu hình DNS cho Web server Trước khi đi vào phần cấu hình Web server, chúng ta cần tham khảo phần cấu hình DNS server để bổ sung các record tương ứng dành cho tên truy cập của các website. Yêu cầu cụ thể của phần này sẽ được trình bày trong phần tiếp sau. 6.5. Cấu hình Web server Để nắm rõ các bước cấu hình một Web server, chúng ta tham khảo một trường hợp cụ thể được trình bày sau đây:  Người quản trị hệ thống các website trước tiên cần tạo các mục trên DNS server tương ứng với www.my-site.com, my-site.com, www.my- cool-site.com và www.default-site.com để ánh xạ đến địa chỉ IP 10.238.200.8 trên Web server này. Các tên www.another-site.com và Hướng dẫn xây dựng các server trên Red Hat Linux 9 45/71 www.test-site.com cũng phải được cấu hình để trỏ đến địa chỉ IP 10.238.200.10.  Các yêu cầu gửi đến www.my-site.com, my-site.com, và www.my-cool-site.com phải lấy nội dung ở thư mục site1.  Các yêu cầu gửi đến www.test-site.com phải lấy nội dung ở thư mục site2.  Named virtual hosting cho cả hai địa chỉ IP 10.238.200.8 và 10.238.200.10 đều cần phải được sử dụng vì chúng ta đã sử dụng các địa chỉ IP đơn để xuất bản nhiều website khác nhau. Do đó, 2 thông số NameVirtualHost dành cho 2 địa chỉ IP 10.238.200.8 và 10.238.200.10 phải được khai báo.  Các yêu cầu gửi đến www.another-site.com phải lấy nội dung ở thư mục site3. Dưới đây là bảng tóm tắt các yêu cầu vừa nêu ở trên. Bảng tóm tắt yêu cầu xuất bản các website. Domain IP address Directory Type of Virtual Hosting www.my-site.com my-site.com www.my-cool-site.com 10.238.200.8 site1 Name Based www.test-site.com 10.238.200.10 site2 Name Based www.another-site.com 10.238.200.10 site3 Name Based Những yêu cầu trên đây sẽ được khai báo trong file cấu hình /etc/httpd/conf/httpd.conf: ServerName localhost NameVirtualHost 10.238.200.8 NameVirtualHost 10.238.200.10 # # Match a webpage directory with each website # DocumentRoot /home/www/site1 ServerName www.my-site.com ServerAlias my-site.com, www.my-cool-site.com Hướng dẫn xây dựng các server trên Red Hat Linux 9 46/71 DocumentRoot /home/www/site2 ServerName www.test-site.com DocumentRoot /home/www/site3 ServerName www.another-site.com # # Make sure the directories specified above # have restricted access to read-only. # Order allow,deny Allow from all AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all Những thông số cấu hình trên đây thường được đưa vào vị trí gần cuối của file cấu hình. Riêng phần cuối cùng là những thông số cấu hình bổ sung để đảm bảo rằng các web page mang thuộc tính chỉ đọc (ngoại trừ các web page sử dụng phương thức POST – các web page với nút “submit”). Cần lưu ý rằng phải khởi động lại Apache mỗi khi chúng ta chỉnh sửa file cấu hình httpd.conf để đảm bảo những thay đổi có hiệu lực. Hướng dẫn xây dựng các server trên Red Hat Linux 9 47/71 Chú ý: cần phải cấu hình DNS server của chúng ta để trỏ chính xác địa chỉ IP được sử dụng đối với mỗi website mà ta đã xuất bản. Gợi ý: để có thể kiểm tra hoạt động của các website trước khi cấu hình DNS server, chúng ta có thể sử dụng file hosts trên các máy trạm (lưu ý là file hosts ở máy trạm chứ không phải trên Apache). Trên Linux, file này nằm ở thư mục /etc. Còn trên Windows là C:\WINDOWS\system32\drivers\etc. Chúng ta cần mở file này với một trình soạn thảo, chẳng hạn như Notepad, và bổ sung một số mục tương tự như: 10.238.200.8 www.my-site.com 6.6. Giải quyết sự cố trên Web server Trong phần này, chúng ta sẽ duyệt qua một số lỗi thường gặp khi làm việc với Apache Web server và phương pháp khắc phục chúng. Server Name Errors Tất cả các thông số ServerName phải liệt kê một domain được phân giải trong DNS server. Nếu chúng ta không chỉ định, thông thường lỗi sau sẽ xuất hiện khi khởi chạy httpd. Starting httpd: httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName Starting httpd: [Wed Feb 04 21:18:16 2004] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.16.1.100 (check DNS) -- or specify an explicit ServerName Chúng ta có thể tránh được lỗi này bằng cách bổ sung một thông số ServerName mặc định ngay đầu file httpd.conf với giá trị là localhost thay cho new.host.name:80. #ServerName new.host.name:80 ServerName localhost File Apache Status Log File /var/log/httpd/access_log được cập nhật mỗi khi có một yêu cầu từ trình duyệt gửi đến và đây là một nguồn tài nguyên tốt với những thông tin chung về website của chúng ta. File Apache Error Log File /var/log/httpd/error_log chứa các thông tin về lỗi xuất hiện trên website của chúng ta. Những lỗi thông thường được tìm thấy ở đây là các yêu cầu gửi từ trình duyệt để yêu cầu các file nhưng chúng ở trạng thái không tồn tại (don’t exist) hoặc bị cấm (forbidden request). Lỗi khi khởi chạy Apache cũng được ghi vào đây. Hướng dẫn xây dựng các server trên Red Hat Linux 9 48/71 Tổng kết chương 1. Để cấu hình được Apache Web server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. Httpd-2.0.40-21 là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. 2. Httpd có thể được cài đặt cùng với RH9 hoặc bổ sung sau khi tiến trình cài đặt hoàn thành. 3. Tất cả các file cấu hình của Apache được đặt tại thư mục /etc/httpd/, trong đó file cấu hình chính là /etc/httpd/conf/httpd.conf. 4. Theo mặc định, Apache tìm kiếm trong thư mục DocumentRoot một file có tên là index.html. 5. Theo mặc định, Apache sẽ tiến hành tìm kiếm tất cả các website của mình trong thư mục /var/www/html/ dựa vào khai báo ban đầu của thông số DocumentRoot ở đầu của file httpd.conf. 6. Khi thực hiện cấu hình Apache, chúng ta có thể thực hiện theo một trong hai hình thức cấu hình Named Virtual Hosting hoặc IP-Based Virtual Hosting. Với Named Virtual Hosting, chúng ta có thể cấu hình để Web server xuất bản hai hay nhiều website trên một địa chỉ IP nhờ vào chức năng named virtual hosting. Loại virtual hosting thứ hai được dùng để xuất bản một website tương ứng với một địa chỉ IP. 7. Trước khi cấu hình Web server, chúng ta cần bổ sung các record tương ứng dành cho tên truy cập của các website vào DNS server. Hướng dẫn xây dựng các server trên Red Hat Linux 9 49/71 Chương 7. Xây dựng FTP server trên RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Thiết lập được FTP server  Khai thác FTP server  Quản trị FTP server Kiến thức chuẩn bị Để bước vào các phần thực hành trong chương này, chúng ta cần chuẩn bị những kiến thức sau:  Thực hành thiết lập địa chỉ IP trên RH9 Nội dung thực hành 7.1. Cài đặt phần mềm Để cấu hình được FTP server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. Vsftpd là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. Số phiên bản hiện tại là 1.1.3-8. Trong quá trình cài đặt hệ điều hành RH9, nếu bạn đã đánh dấu chọn vào mục vsftpd-1.1.3-8 thì phần mềm này sẽ được tự động cài đặt cùng với RH9. Trường hợp chưa chọn trong khi cài đặt RH9, bạn có thể cập nhật sau khi quá trình cài đặt RH9 đã hoàn thành. 7.2. Các file cấu hình Trước khi cấu hình các server, bạn nên xem qua các file cấu hình cần thiết:  /etc/vsftpd/vsftpd.conf – file cấu hình chính của vsftpd server  /var/ftp/pub – thư mục lưu trữ thông tin tài nguyên của vsftpd server  /etc/vsftpd.ftpusers – file chứa những user không được phép truy cập đến vsftpd server  /etc/vsftpd.user_list – o Nếu userlist_deny=NO, chỉ cho phép các user trong file này o Nếu userlist_deny=YES (mặc định), không cho phép các user trong file này 7.3. Cấu hình FTP server Chỉ cần theo cấu hình mặc định khi cài đặt vsftpd, chúng ta cũng đã có thể truy cập đến FTP server: # Example config file /etc/vsftpd.conf # # The default compiled in settings are very paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. Hướng dẫn xây dựng các server trên Red Hat Linux 9 50/71 # # Allow anonymous FTP? anonymous_enable=YES # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever Hướng dẫn xây dựng các server trên Red Hat Linux 9 51/71 # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that turning on ascii_download_enable enables malicious remote parties # to consume your I/O resources, by issuing the command "SIZE /big/file" in # ASCII mode. # These ASCII options are split into upload and download because you may wish # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking), # without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be # on the client anyway.. #ascii_upload_enable=YES #ascii_download_enable=YES # Hướng dẫn xây dựng các server trên Red Hat Linux 9 52/71 # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=YES #enable for standalone mode listen=YES tcp_wrappers=YES Với thông tin cấu hình như trên ở file /etc/vsftpd/vsftpd.conf, chúng ta khởi chạy dịch vụ vsftpd bằng lệnh: # service vsftpd start Và mở trình duyệt để truy cập là có thể thao tác với các tài nguyên sẵn có tại thư mục /var/ftp/pub. Ví dụ, nếu chúng ta đã cài đặt và khởi chạy vsftpd tại máy tính có địa chỉ IP là 10.238.200.6. Khi đó, từ trình duyệt của một máy trạm trong mạng, chúng ta có thể truy cập đến FTP server với địa chỉ: ftp://10.238.200.6. Chú ý: Nếu muốn vsftpd khởi chạy mỗi lần hệ điều hành khởi động, ta thực hiện: # chkconfig --add vsftpd Hướng dẫn xây dựng các server trên Red Hat Linux 9 53/71 Nếu muốn kiểm tra vsftpd có ở trạng thái listening hay không, ta thực hiện: # netstat -a | grep ftp tcp 0 0 *:ftp *:* LISTEN 7.4. Cấu hình bảo mật cho FTP server FTP có một số vấn đề về bảo mật, tuy nhiên chúng ta có thể thực hiện theo một vài cách thức sau để giải quyết vấn đề này. Bổ sung user vào file /etc/vsftpd.ftpusers Để yếu tố bảo mật được nâng cao, chúng ta có thể hạn chế quyền truy cập đến FTP server đối với một vài user bằng cách bổ sung các user này vào file /etc/vsftpd.ftpusers. Mục đích của vsftpd khi tạo ra file có chứa sẵn trong đó những user hệ thống với quyền cao (privileged users) nhằm mục đích không cho phép những user nhạy cảm này truy cập vào FTP server, vì như vậy rất dễ để người ta lợi dụng các thông tin này để đột nhập. Do đó, khi bổ sung những user mới vào file này, chúng ta nên giữ lại những user đã được hệ thống tạo sẵn. Cấp quyền upload cho Anonymous Nếu muốn người dùng được phép ghi dữ liệu lên FTP server, chúng ta nên tạo một thư mục write-only nằm trong thư mục /var/ftp/pub. Các lệnh như sau: # mkdir /var/ftp/pub/upload # chmod 722 /var/ftp/pub/upload Sử dụng SCP làm giải pháp thay thế cho FTP Một điểm bất lợi của FTP là không mã hóa từ khóa và mật khẩu trên đường truyền. Điều này tạo điều kiện thuận lợi cho những người lấy trộm thông tin quan trọng để truy cập bất hợp pháp vào FTP server. Secure Copy (SCP) và Secure FTP (SFTP) cung cấp một cơ chế mã hóa giải quyết vấn đề trên và là một sự chọn lựa tốt để thay thế cho phương thức truyền thông thường của FTP. Tuy nhiên, SCP không hỗ trợ người dùng anonymous. 7.5. Cấu hình mở rộng trên FTP server Trong phần này, chúng ta thực hiện các bước can thiệp sâu hơn vào việc cấp/hủy quyền đối với user truy cập đến FTP server. Cụ thể là cấp cho user quyền chỉ đọc (read only) đối với một thư mục đã được chia sẻ trên FTP server. Ở đây, anonymous không được phép truy cập, chúng ta chỉ tạo ra và cấp quyền cho một nhóm các user (trusted users) có quyền truy cập (chỉ đọc) đến một thư mục với mục đích download file. Các bước như sau: 1) Vô hiệu hóa anonymous. # Allow anonymous FTP? anonymous_enable=NO 2) Hiệu lực hóa khả năng đăng nhập cục bộ. # Uncomment this to allow local users to log in. local_enable=YES 3) Khởi chạy vsftpd. Hướng dẫn xây dựng các server trên Red Hat Linux 9 54/71 # service vsftpd start 4) Tạo một nhóm các user và chia sẻ thư mục. Trong trường hợp này, chúng ta sử dụng nhóm ftp-users và thư mục /home/ftp-docs. # groupadd ftp-users # mkdir /home/ftp-docs 5) Cấp quyền truy cập đến thư mục /home/ftp-docs cho nhóm ftp-users. # chmod 750 /home/ftp-docs # chown root:ftp-users /home/ftp-docs 6) Thêm các user mới, và chỉ định thư mục mặc định là /home/ftp-docs. useradd -g ftp-users -d /home/ftp-docs user1 useradd -g ftp-users -d /home/ftp-docs user2 useradd -g ftp-users -d /home/ftp-docs user3 useradd -g ftp-users -d /home/ftp-docs user4 passwd user1 passwd user2 passwd user3 passwd user4 7) Sao chép các file sẽ được các user download vào thư mục /home/ftp-docs. 8) Thay đổi quyền của các file trong thư mục /home/ftp-docs trở thành chỉ đọc đối với nhóm. chown root:ftp-users /home/ftp-docs/* chmod 740 /home/ftp-docs/* Đến bước này, các user có khả năng đăng nhập qua giao thức FTP đến server sử dụng từ khóa và mật khẩu của họ. Nếu chắc chắn không muốn bất kỳ user nào được phép ghi lên bất kỳ thư mục nào, chúng ta thiết lập: write_enable = NO Nhớ rằng, chúng ta phải khởi động lại dịch vụ vsftpd để những thay đổi cấu hình trên có tác dung. Hướng dẫn xây dựng các server trên Red Hat Linux 9 55/71 Tổng kết chương 1. Để cấu hình được FTP server trên RH9, chúng ta cần phải cài đặt các gói phần mềm cần thiết. Vsftpd-1.1.3-8 là phần mềm được sử dụng khá phổ biến và phân phối cùng với RH9. 2. Vsftpd có thể được cài đặt cùng với RH9 hoặc bổ sung sau khi tiến trình cài đặt hoàn thành. 3. File /etc/vsftpd/vsftpd.conf là file cấu hình chính của vsftpd server. 4. Chỉ cần theo cấu hình mặc định khi cài đặt vsftpd, chúng ta cũng đã có thể truy cập đến FTP server. 5. FTP có một số vấn đề về bảo mật, tuy nhiên chúng ta có thể thực hiện theo một vài cách thức sau để giải quyết vấn đề này: a. Bổ sung user vào file /etc/vsftpd.ftpusers b. Cấp quyền upload cho Anonymous c. Sử dụng SCP làm giải pháp thay thế cho FTP Hướng dẫn xây dựng các server trên Red Hat Linux 9 56/71 Chương 8. Một số mẹo vặt thường dùng trên RH9 Mục tiêu của chương Kết thúc chương này chúng ta sẽ:  Nắm được phương pháp cài đặt bộ gõ tiếng Việt trên Fedora  Nắm được phương pháp cài đặt font Unicode trên Fedora  Nắm được phương pháp chia sẻ tài nguyên giữa Windows và Linux  Nắm được phương pháp lấy lại mật khẩu của root Nội dung thực hành 8.1. Thực hành cài đặt bộ gõ tiếng Việt xvnkb trên Fedora (RH9) Để cài đặt bộ gõ tiếng Việt xvnkb trên Fedora, chúng ta thực hiện các bước như sau: 1. Tải hai gói cài đặt xvnkb-0.2.9.tar.gz và xvnkb-0.2.9-6b.FC5.i386.rpm từ Internet. Sao chép đến thư mục /usr/local/src. 2. Giải nén gói .tar.gz # cd /usr/local/src # tar –xzvf xvnkb-0.2.9.tar.gz 3. Chuyển vào thư mục nguồn và dịch chương trình # cd xvnkb-0.2.9 # ./configure # make Lưu ý: ở bước này có thể xuất hiện lỗi biên dịch. Tuy nhiên chúng ta có thể đi tiếp mà không gặp trở ngại nào. 4. Tạo file locale # ./xvnkb_localeconf vi_VN.UTF-8 5. Sao chép thư viện # cp xvnkb.so /usr/lib 6. Cài đặt chương trình khởi chạy bộ gõ tiếng Việt # rpm –ivh xvnkb-0.2.9-6b.FC5.i386.rpm 7. Đặt biến môi trường cho bộ gõ tiếng Việt – bổ sung 2 dòng vào file ~/.bashrc # vi ~/.bashrc export LD_PRELOAD=/usr/lib/xvnkb.so export LANG=vi_VN.UTF-8 8. Khởi động lại hệ điều hành 9. Mở cửa sổ dòng lệnh để khởi động bộ gõ tiếng Việt # xvnkb Hướng dẫn xây dựng các server trên Red Hat Linux 9 57/71 Chú ý: với những bước hướng dẫn trên đây, chúng ta chỉ có thể gõ được tiếng Việt đối với các trình soạn thảo được khởi động trực tiếp từ cửa sổ dòng lệnh đã khởi động xvnkb. Nếu khởi động theo bất kỳ một cách nào khác, bộ gõ sẽ không hoạt động được. 8.2. Thực hành cài đặt các font Unicode trên Fedora (RH9) Để cài đặt một số font Unicode trên Fedora, chúng ta thực hiện các bước như sau: 1. Sao chép các font Unicode từ Windows, thường được đặt trong thư mục C:\WINDOWS\Fonts. Nhớ sử dụng tổ hợp phím Ctrl-C và Ctrl-V để tiến hành sao chép font bởi vì với nội dung của thư mục này, Windows không kích hoạt chức năng sao chép bằng chuột. 2. Sao chép các font đã có ở bước 1 vào thư mục /usr/local/fonts/local. 3. Cập nhật font cho hệ thống bằng lệnh fc-cache: # fc-cache /usr/local/fonts/local Chú ý: đối với một số ứng dụng, bạn phải khởi động lại máy tính trước khi tiến hành thiết lập font vừa mới cài đặt cho chúng. Chẳng hạn với trình duyệt Mozilla, sau khi cài đặt các font mới, nếu muốn thiết lập font vừa mới cài đặt, bạn chỉ có một cách duy nhất là khởi động lại máy tính. Khi đó, bạn mới có thể thiết lập được các font đã cài đặt trong mục Preferences... của trình duyệt này. 8.3. Thực hành chia sẻ tài nguyên giữa Windows và Linux Có nhiều phương pháp để chia sẻ tài nguyên giữa Windows và Linux sử dụng Samba. Sau đây là một trong những cách đơn giản và hiệu quả giúp bạn chỉ trong vài phút có thể hoàn thành thao tác chia sẻ tài nguyên. 1. Trên cửa sổ dòng lệnh của máy Linux (Linux1), tạo một thư mục dùng để chứa tài nguyên chia sẻ, ví dụ /examples. # mkdir /examples 2. Cấp quyền đọc, ghi cho thư mục này. # cd / # chmod 777 /examples 3. Di chuyển đến thư mục chứa file cấu hình Samba (smb.conf) # cd /etc/Samba Chú ý: Đường dẫn /etc/Samba được thiết lập mặc định khi cài đặt Samba cùng với hệ điều hành Linux. Trong trường hợp chúng ta cài đặt Samba thông qua các nguồn cài đặt được tải về từ Internet, đường dẫn này do chúng ta chỉ định trong quá trình cài đặt Samba. 4. Để đảm bảo rằng file cấu hình ban đầu của Samba luôn luôn được giữ nguyên vẹn, chúng ta sao chép file này đến một thư mục lưu trữ dự phòng, ví dụ: # cp /etc/Samba/smb.conf /temp Hướng dẫn xây dựng các server trên Red Hat Linux 9 58/71 Trong nhiều trường hợp, sau khi đã thực hiện cấu hình chia sẻ thư mục, chúng ta gặp sự cố và muốn quay trở lại file smb.conf ban đầu để đơn giản cho thao tác cấu hình cũng như kiểm soát được những thay đổi. Vì vậy, việc sao chép file cấu hình Samba đến vị trí dự phòng là điều nên làm. 5. Mở file smb.conf bằng tiện ích vi để tiến hành thay đổi. # vi smb.conf Để có thể hiệu chỉnh file smb.conf với trình soạn thảo vi khi đã mở file với lệnh trên, chúng ta nhấn phím i. Sau khi soạn thảo xong, nhấn phím Esc để thoát khỏi chế độ hiệu chỉnh của trình soạn thảo này. Cuối cùng, gõ dấu hai chấm (:) và nhấn lần lượt hai phím wq để lưu file và thoát khỏi vi. 6. Cấu hình Thiết lập cấu hình chung của Samba: workgroup = HS //workgroup mà máy này sẽ kết nối netbios name = Linux1 //tên của máy này trong workgroup server string = Samba Server at Linux1 //chú thích cho máy Linux1 security = share //mức chia sẻ của máy Linux1 Thiết lập cấu hình cho thư mục chia sẻ (examples): [examples] commen = Chia se thu muc /examples //chú thích thư mục path = /examples //chỉ định đường dẫn đến thư mục chia sẻ read only = no //cho phép đọc và ghi guest ok = yes //cho phép mọi người truy cập 7. Lưu và thoát khỏi vi. Nhấn phím Esc. Gõ dấu hai chấm (:) và nhấn lần lượt hai phím wq. 8. Khởi động lại dịch vụ smb. # service smb restart Sau khi lệnh khởi động dịch vụ thành công, chúng ta có thể truy cập đến thư mục chia sẻ này từ các máy trạm chạy Windows trong mạng nội bộ. Truy cập tài nguyên chia sẻ từ Linux. Tương tự như thao tác truy cập đến các thư mục chia sẻ trên môi trường mạng Windows, khi truy cập đến các thư mục đã được chia sẻ trên các máy Linux, chúng ta cũng có thể thực hiện một trong ba cách thông dụng sau:  Sử dụng hộp thoại Run, nhập tên máy và tên thư mục truy cập theo cú pháp \\Tên_máy\Tên_Thư_mục. Hướng dẫn xây dựng các server trên Red Hat Linux 9 59/71  Sử dụng chức năng Map Network Drive từ menu Tools của Windows Explorer. 8.4. Lấy lại mật khẩu root Để lấy lại mật khẩu tài khoản cao nhất của hệ thống Linux – root account, chúng ta thực hiện các bước như sau: 1. Từ menu khởi động, lựa chọn kernel của Linux. 2. Nhấn phím e để vào chế độ hiệu chỉnh. 3. Chọn dòng thứ hai (dòng bắt đầu với từ khóa kernel). 4. Nhấn phím e để hiệu chỉnh mục kernel đã chọn. 5. Bổ sung kí tự S (hoặc từ khóa Single) vào cuối của dòng kernel. 6. Nhấn phím Enter. 7. Nhấn phím b để khởi động Linux với chế độ single user mode. 8. Tại dấu nhắc đợi lệnh, gõ lệnh passwd để nhập lại mật khẩu mới cho root. Hướng dẫn xây dựng các server trên Red Hat Linux 9 60/71 Tổng kết chương 1. Để cài đặt bộ gõ tiếng Việt xvnkb trên RH9, chúng ta download hai gói cài đặt xvnkb-0.2.9.tar.gz và xvnkb-0.2.9-6b.FC5.i386.rpm từ Internet. Sau đó thực hiện theo các hướng dẫn kèm theo để hoàn thành thao tác cài đặt bộ gõ tiếng Việt trên Linux. 2. Để cài đặt một số fo

Các file đính kèm theo tài liệu này:

  • pdfhuong_dan_xay_dung_cac_server_tren_red_hat_linux_9_nxb_hue_9199_2120886.pdf
Tài liệu liên quan