Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

LỜI GIỚI THIỆU
Trong những năm gần đây HDH Linux đang ngày càng trở nên phổ biến trong trường học và môi trường công nghiệp. hệ Unix này, với chức năng và tính ổn định cho phép nó tồn tại song song với các hệ điều hành thương mại khác. Hơn nữa, sự phổ biến của mã nguồn Linux trên Internet đã đóng góp rất nhiều cho sự phổ cập của linux. Điều này là lý do cho nhóm đã chọn đề tài nghiên cứu và phát triển các dịch vụ mạng trên môi trường Linux. Trên hết nhóm chúng em xin chân thành cảm ơn thầy Phạm Nguyễn Huy Phương đã tận tình chỉ bảo, hướng dẫn chúng em hoàn thành đề tài tốt nghiệp này. Chúng em xin gửi đến qúy thầy cô khoa Công Nghệ Thông Tin lòng biết ơn sâu sắc và ghi nhận sự chỉ dẫn, giảng dạy, hỗ trợ và giúp đỡ, cung cấp những kiến thức qúy báu, đã tạo mọi điều kiện thuận lợi và góp ý trong suốt quá trình học tập cho sinh viên chúng em thực hiện đề tài tốt nghiệp được thuận lợi. Xin chân thành tỏ lòng biết ơn đến các bạn bè thân hữu đã động viên giúp đỡ chúng tôi trong suốt thời gian học tập cũng như làm đề tài tốt nghiệp.

Báo cáo gồm 2 phần:
 Phần 1: Tìm hiểu về hệ điều hành Linux  Phần 2: Các dịch vụ mạng

TPHCM, Ngày 13 tháng 06 năm 2008 Nhóm sinh viên thực hiện

Khoa CNTT – 05CDTH2

Trang 1

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Lời nhận xét của GVHD

.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

Khoa CNTT – 05CDTH2

Trang 2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Lời nhận xét của GVPB

.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

Tùy chọn...............................................................................................................................123 Khoa CNTT – 05CDTH2 Trang 3

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

TÀI LIỆU THAM KHẢO.............................................320

CÁC TỪ VIẾT TẮT.   
Client: máy khách. IP: Internet Address. RPM: Redhat Package Manager.
Trang 4

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

             

FQDN: Fully Qualifield Domain Name. NFS: Network File System. Server: máy chủ. SMB= Samba chương trình dùng chia sẻ tài nguyên giữa các Windows PC và Linux PC. MTA: Mail Transport Agent. PC= Personal computer: máy tính cá nhân. Point, mount_point: điểm truy cập, thường là thư mục, nơi mount các hệ thống tập tin. Mount: gắn kết các tập tin vào 1 point nào đó. Umount: gỡ bỏ các tập tin đã được mount vào 1 point nào đó. Username: tên tài khoản người dùng. Password: mật khẩu tương ứng với username. SMB: Samba. SWAT: Samba Web Administration Tool. …

Khoa CNTT – 05CDTH2

Trang 5

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

I. Tìm hiểu về hệ điều hành Linux.
1...............................................................................Tìm hiểu LINUX
Phần này chủ yếu dành cho các nhà quản lý dự án công nghệ thông tin. Tuy không thật cần thiết cho việc cài đặt và sử dụng Linux, nhưng nội dung của nó cũng có thể bổ ích cho bất kỳ ai muốn tìm hiểu về những chủ đề sau đây:
- Linux là gì? - Tại sao Linux phát triển? - Các bản phát hành Linux - Lợi ích của Linux - Ai phát triển Linux? - Linux cộng sinh với Windows - Thương mại hóa Linux - UNIX và Linux - Tác quyền và bản quyền Linux

1.1.Linux là gì?
Linux xuất hiện như một sản phẩm nguồn mở miễn phí và đến nay đã có thể sánh vai với các hệ điều hành thương phẩm như MS Windows, Sun Solaris v.v. Linux ra đời từ một dự án hồi đầu những năm 1990 có mục đích tạo ra một hệ điều hành kiểu UNIX cài đặt trên máy tính cá nhân chạy với bộ vi xử lý Intel, tương hợp họ máy tính IBM-PC (còn gọi tắt là PC). Từ lâu, UNIX đã nổi tiếng là một hệ điều hành mạnh, tin cậy và linh hoạt, nhưng vì khá đắt nên chủ yếu chỉ dùng cho các trạm tính toán hoặc máy chủ cao cấp. Ngày nay Linux có thể cài đặt trên nhiều họ máy tính khác nhau, không chỉ riêng cho họ PC. Qua Internet, Linux được hàng nghìn nhà lập trình khắp trên thế giới tham gia thiết kế, xây dựng và phát triển, với mục tiêu không lệ thuộc vào bất kỳ thương phẩm nào và để cho mọi người đều có thể sử dụng thoải mái. Khởi thuỷ, Linux xuất

Khoa CNTT – 05CDTH2

Trang 6

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux phát từ ý tưởng của Linus Torvalds, khi đó chàng sinh viên Đại học Helsinki ở Phần Lan đã muốn thay thế Minix, một hệ điều hành nhỏ kiểu UNIX. Về cơ bản, Linux bắt chước UNIX cho nên cũng có nhiều ưu điểm của UNIX. Tính đa nhiệm thực sự của Linux cho phép chạy nhiều chương trình cùng lúc. Với Linux, bạn có thể đồng thời thực hiện một số thao tác, thí dụ chuyển tệp, in ấn, sao tệp, nghe nhạc, chơi game v.v. Linux là hệ điều hành đa người dùng, nghĩa là nhiều người có thể đăng nhập và cùng lúc sử dụng một hệ thống. Ưu điểm này có vẻ không phát huy mấy trên máy PC ở nhà, song ở trong công ty hoặc trường học thì nó giúp cho việc dùng chung tài nguyên, từ đó giảm thiểu chi phí đầu tư vào máy móc. Ngay cả khi ở nhà, bạn cũng có thể đăng nhập vào Linux với nhiều trương khoản (account) khác nhau qua các terminal ảo và tổ chức dịch vụ trên mạng riêng cho mình bằng cách sử dụng Linux với nhiều modem (xem chương 10). Có thể kể tên các hệ điều hành miễn phí khác như FreeBSD, OpenBSD, NetBSD v.v. Cũng phải kể đến ảnh hưởng lớn công ty Sun (chủ nhân của ngôn ngữ Java) vì Sun muốn cung cấp hệ điều hành Solaris dùng miễn phí trên máy PC. Phiên bản Solaris chạy trên chip Intel sẽ trở nên một đối thủ đáng gờm của Linux với mã nguồn mở và nhờ danh tiếng là hệ điều hành rất ổn định và tương thích với hệ Solaris chạy trên chip Sun SPARC. Bản thân việc độc lập với những công ty lớn cũng tiềm tàng một điểm yếu của Linux. Khi chưa có một mạng lưới riêng cung cấp dịch vụ bảo trì thì tất nhiên người ta sẽ ngại sử dụng Linux. Tuy thế, với sự phát triển của Internet, các tổ chức hỗ trợ người dùng Linux đã tạo nên các Website và forum để tháo gỡ cho bạn nhiều vấn đề khó khăn. Hơn nữa Linux có thể không chạy tốt với một số phần cứng ít phổ biến, thậm chí việc hỏng hóc hoặc xoá mất dữ liệu đôi khi cũng xảy ra, bởi vì Linux luôn thay đổi và khó được thử nghiệm đầy đủ trước khi đưa lên Internet.
Khoa CNTT – 05CDTH2 Trang 7

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Linux không phải là đồ chơi sẵn có, nó được thiết kế nhằm mang đến cho người sử dụng cảm giác cùng tham gia vào một dự án mới. Tuy nhiên thực tế cho thấy Linux chạy tương đối ổn định và cho bạn một cơ may không tốn kém để học và sử dụng UNIX, một họ hệ điều hành chuyên nghiệp hiện nay đang được rất nhiều người dùng trên các máy chủ và trạm tính toán cao cấp.

1.2.Tại sao Linux phát triển?
Trước hết, Linux phát triển vì là một trong những hệ điều hành miễn phí và có khả năng đa nhiệm cho nhiều người sử dụng cùng lúc trên các máy tính tương thích với PC. So với những hệ điều hành thương phẩm, Linux giúp bạn ít phải nâng cấp và lại không cần trả tiền, cũng như phần lớn các phần mềm ứng dụng cho nó. Hơn nữa, Linux và những ứng dụng đó được cung cấp với cả mã nguồn miễn phí mà bạn có thể lấy về từ Internet, sau đó chỉnh sửa và mở rộng chức năng của chúng theo nhu cầu riêng. Linux có khả năng thay thế một số hệ điều hành thuộc họ UNIX đắt tiền. Nếu tại nơi làm việc mà bạn sử dụng UNIX thì ở nhà bạn cũng thích sử dụng một hệ nào đó giống như thế nhưng rẻ tiền. Linux giúp bạn dễ dàng truy cập, lướt qua các Website và gửi nhận thông tin trên mạng Internet. Nếu bạn là một quản trị viên UNIX thì về nhà bạn cũng có thể sử dụng Linux để thực hiện mọi công việc quản trị hệ thống. Một nguyên nhân khác làm cho Linux dễ đến với người dùng là nó cung cấp mã nguồn mở cho mọi người. Chính điều này đã khiến một số tổ chức, cá nhân hay quốc gia đầu tư vào Linux nhằm mở rộng sự lựa chọn ra ngoài các phần mềm đóng kín mã nguồn. Họ cho rằng, mặc dù có dịch vụ hậu mãi nhưng không gì đảm bảo được rằng khi dùng các sản phẩm đóng kín này trên Internet, các thông tin cá nhân hay quốc gia của họ có bị gửi về một tổ chức hay một quốc gia nào khác hay không. Thí dụ Trung Quốc đã phát triển hệ điều hành Hồng Kỳ từ kernel của Linux để không bị lệ thuộc Microsoft

Khoa CNTT – 05CDTH2

Trang 8

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Windows, cũng như họ đang tự nghiên cứu bộ vi xử lý Hồng Tâm để thay thế cho họ chip Intel. Tại Việt Nam, việc nghiên cứu xây dựng một hệ điều hành từ kernel Linux đã thu được một số thành công nhất định. Chắc bạn cũng đã biết đến Vietkey Linux và CMC RedHat Linux (phiên bản tiếng Việt của RedHat Linux 6.2). Gần đây, các công ty nổi tiếng như IBM, Sun, Intel, Oracle cũng bắt đầu nghiên cứu Linux và xây dựng các phần mềm ứng dụng cho nó.

1.3.Các bản phát hành Linux
Nhiều người đã biết đến các nhà sản xuất phần mềm RedHat, ManDrake, SuSE, Corel và Caldera. Có thể chính bạn cũng đã từng nghe đến tên các phiên bản Linux như Slackware, Debian, TurboLinux và VA Linux, v.v. Quả thật, Linux được phát hành bởi nhiều nhà sản xuất khác nhau, mỗi bản phát hành là một bộ chương trình chạy trên nhóm tệp lõi (kernel) của Linus Tordvalds. Mỗi bản như vậy đều dựa trên một kernel nào đó, thí dụ bản RedHat Linux 6.2 sử dụng phiên bản kernel 2.2.4. Hãng RedHat đã làm ra chương trình quản lý đóng gói RPM (RedHat Package Manager), một công cụ miễn phí giúp cho bất cứ ai cũng có thể tự đóng gói và phát hành một phiên bản Linux của chính mình. Thí dụ bản OpenLinux của Caldera cũng đã được tạo ra như thế.

1.4.Lợi thế của Linux
Tại sao có thể chọn Linux thay vì chọn một trong những hệ điều hành khác chạy trên PC như DOS, Windows 95/98, Windows NT, hoặc Windows 2000 ? Linux cung cấp cho bạn một môi trường học lập trình mà hiện nay chưa có hệ nào sánh được. Với Linux, bạn có đầy đủ cả mã nguồn, trong khi đó các sản phẩm mang tính thương mại thường không bao giờ tiết lộ mã nguồn. Cuối cùng, Linux mang đến cho bạn cơ hội sống lại bầu không khí của cuộc cách mạng vi tính trước kia. Cho đến giữa thập niên 1970, máy tính điện tử còn là sân chơi
Khoa CNTT – 05CDTH2 Trang 9

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux riêng của các tổ chức lớn, chẳng hạn như chính quyền, tập đoàn doanh nghiệp và trường đại học. Người dân thường đã không thể sử dụng những thành tựu kỳ diệu của công nghệ thông tin. Song với sự xuất hiện của bộ vi xử lý đầu tiên (1971) rồi máy tính cá nhân (1975), mọi việc đã thay đổi. Thoạt tiên, đó là đất dụng võ của các tay hacker say mê vi tính. Họ thậm chí có thể tự làm ra những máy tính cá nhân và hệ điều hành đơn giản, nhưng các hệ này chưa làm gì được nhiều ở góc độ hiệu năng. Với kinh nghiệm tích luỹ dần theo năm tháng, một số hacker đã trở thành nhà doanh nghiệp, rồi cùng với khả năng tích hợp ngày càng cao của các vi mạch, PC đã trở thành phổ biến (rất tiếc hiện nay xã hội thường nghĩ xấu về chữ "hacker", xin mời bạn xem thêm mục "Ai phát triển Linux?" ở cuối chương này để phân biệt rõ hơn hacker và cracker là những ai). Ngày nay Linux đang làm một cuộc cách mạng ở lĩnh vực phần mềm hệ thống. Linux là lá cờ tập hợp những con người không muốn bị kiểm sát bởi các hãng khổng lồ nhân danh kinh tế thị trường để làm xơ cứng óc sáng tạo và cải tiến. Với Linux bạn sẽ khai thác được nhiều thế mạnh của UNIX. Trong số những hệ điều hành thông dụng hiện nay, Linux là hệ điều hành miễn phí được nhiều người sử dụng rộng rãi nhất. Bản thân Linux đã hỗ trợ sẵn sàng bộ giao thức mạng TCP/IP, giúp bạn dễ dàng kết nối Internet và gửi thư điện tử. Linux thường đi kèm XFree86 là một giao diện đồ hoạ cho người sử dụng (GUI) và cũng được phát hành miễn phí. XFree86 cung cấp cho bạn các chức năng phổ biến ở một số thương phẩm khác, chẳng hạn như Windows. Tính khả chuyển của một hệ điều hành giúp bạn chuyển nó từ một nền này sang nền khác mà vẫn hoạt động tốt. Thí dụ UNIX là một hệ có tính khả chuyển cao. Ban đầu UNIX chỉ hoạt động trên một nền duy nhất, đó là máy tính mini DEC PDP-7. Hiện nay UNIX và Linux có khả năng chạy trên bất kỳ nền nào, từ máy xách tay cho đến máy tính lớn. Nhờ tính khả chuyển, các máy tính chạy UNIX và Linux trên nhiều nền khác nhau có thể liên lạc với nhau một cách chính xác và hữu hiệu. Những
Khoa CNTT – 05CDTH2 Trang 10

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux hệ này có thể hoạt động mà không cần phải bổ sung thêm bất kỳ giao diện liên lạc đắt tiền nào, mà thông thường bạn phải mua thêm sau khi mua những hệ điều hành khác. Linux đã có hàng ngàn ứng dụng, từ các chương trình bảng tính điện tử, quản trị cơ sở dữ liệu, xử lý văn bản đến các chương trình phát triển phần mềm cho nhiều ngôn ngữ, chưa kể nhiều phần mềm viễn thông trọn gói. Ngoài ra Linux cũng có hàng loạt trò chơi giải trí trên nền ký tự hoặc đồ hoạ. Phần lớn những chương trình tiện ích và ứng dụng có sẵn cho Linux lại không mất tiền mua. Các bạn chỉ phải trả chi phí cho việc tải chúng từ Internet xuống hoặc trả cước phí bưu điện. Đến với Linux, giới lập trình sẽ có một loạt các công cụ phát triển chương trình, bao gồm các bộ biên dịch cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn như C, C++. Bạn cũng có thể dùng ngôn ngữ Pascal thông qua trình biên dịch FreePascal. Nếu bạn không thích sử dụng những ngôn ngữ vừa kể, Linux có sẵn các công cụ như Flex và Bison để bạn xây dựng ngôn ngữ riêng cho mình. Hai khái niệm hiện nay được đề cập rất nhiều là hệ thống mở (open system) và tính liên tác (interoperability) đều gắn với khả năng của những hệ điều hành có thể liên lạc với nhau. Phần lớn các hệ mở đòi hỏi phải thoả mãn tương thích tiêu chuẩn IEEE POSIX (giao diện hệ điều hành khả chuyển). Linux đáp ứng những tiêu chuẩn ấy và được lưu hành với mã nguồn mở.

1.5.Ai phát triển Linux ?
Nói chung, Linux là một hệ thống được xây dựng bởi các hacker và cho các hacker. Mặc dù hiện nay trong xã hội từ hacker thường có hàm ý tiêu cực, song nếu theo nghĩa ban đầu thì hacker không phải là tội phạm. Hacker tìm hiểu những gì có bên trong một hệ thống cho đến từng chi tiết và có khả năng sửa chữa nếu hệ thống ấy bị hỏng hóc. Đa số các hacker không xâm nhập hệ thống vì tiền bạc hoặc ác ý, mặc dù sau này đã có những người vượt qua giới hạn ấy và bị tập thể các hacker gọi là cracker (tin tặc) hay hacker mũ đen. Giới hacker cảm thấy bị xúc phạm khi mọi người xem họ như lũ phá hoại và gọi chung là tin tặc.
Khoa CNTT – 05CDTH2 Trang 11

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Thực ra, những hacker chân chính, còn gọi là hacker mũ trắng, rất có công trong việc phát hiện kẽ hở của các phần mềm, giúp mọi người và chủ nhân của những phần mềm ấy cảnh giác trước sự tấn công của giới tin tặc. Cũng nhờ công cuộc bảo vệ này mà Linux và các ứng dụng Linux (nói rộng hơn là các phần mềm nguồn mở) càng ngày càng an toàn hơn Ngoài đời, phần lớn những người sử dụng UNIX chỉ được cấp cho một số trương khoản với quyền hạn thu hẹp, do đó một người bình thường không thể thử nghiệm đầy đủ các câu lệnh UNIX. Với Linux bạn có một phiên bản hoạt động tương tự UNIX nhưng cho phép quản trị, sử dụng, vào ra thoải mái không giới hạn, một điều hiếm gặp trong cuộc sống. Linux cho bạn biết thế nào là làm hacker, song chúng tôi hy vọng từ đó bạn sẽ không trở thành cracker.

1.6.Linux cộng sinh với Windows
Về nguyên tắc, tất cả các phần mềm đang chạy trên DOS hoặc Windows sẽ không chạy trực tiếp với Linux, nhưng 3 hệ điều hành này có thể cộng sinh trên cùng một máy PC, dĩ nhiên mỗi lúc chỉ chạy được một hệ điều hành thôi. Bạn cũng có thể cài thêm một chương trình đặc biệt tên là "VMWARE" để phỏng tạo một hay nhiều hệ điều hành khác nhau chạy đồng thời trên cùng một máy với điều kiện máy của bạn phải có một cấu hình thích hợp và đủ mạnh. Người ta còn xây dựng những chương trình phỏng tạo môi trường Windows và DOS trên nền Linux. Công ty Caldera đã chuyển WABI (Windows Applications Binary Interface) của Sun sang Linux., cho phép các ứng dụng Windows 3.1 chạy với Linux. Caldera bán sản phẩm vừa kể trên và nhiều ứng dụng Linux song vẫn biếu không phiên bản RedHat để chạy các ứng dụng do hãng bán ra. Caldera còn thử chuyển một phiên bản DR DOS sang Linux. Chương trình WINE cũng được sử dụng như một môi trường phỏng tạo Windows để có thể chạy các ứng dụng Windows trong Linux. Nói chung, Linux có khả năng chạy các ứng dụng Macintosh, DOS và Windows.
Khoa CNTT – 05CDTH2 Trang 12

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ngược lại, cũng có nhiều người đang soạn thảo những chương trình phỏng tạo Linux trên nền Windows như đã từng có chương trình cho phép chạy các phần mềm Macintosh trên nền Sun và Windows. Bạn có thể xem các thông tin liên quan mới nhất trên các Web site về Linux. Muốn cài đặt Linux bạn phải phân vùng lại ổ cứng máy mình, mặc dù không phải lúc nào cũng nhất thiết làm như thế. Bạn phải xoá một phần ổ cứng chứa chương trình và dữ liệu có sẵn trong đó. Hiện nay, việc cài đặt Linux mà không phân vùng lại ổ cứng đã được giải quyết nhưng khi chạy vẫn còn chậm. Do đó khi dự định cài đặt Linux bạn nên sao lưu ổ cứng ra vài ba bản. Ổ cứng cũng cần phải còn đủ chỗ cho cả Linux và những hệ điều hành khác, bạn phải quyết định cái nào giữ lại và cái nào bỏ đi. Bạn có nhiều lựa chọn để phân vùng lại ổ cứng. Chẳng hạn bạn có thể dành chỗ riêng cho DOS và Linux, hoặc bạn chạy một chương trình phân vùng ổ cứng mà không phải xoá các tệp có sẵn. Tuy nhiên rủi ro mất dữ kiện khi cài đặt vẫn còn đó. Khi phân vùng lại ổ cứng, bạn sẽ kiểm sát vùng đĩa dành riêng cho Linux hữu hiệu hơn, và Linux cũng chạy tốt hơn. Dung lượng đĩa cứng dành cho Linux sẽ tuỳ vào việc bạn muốn cài bao nhiêu ứng dụng và đó là phiên bản Linux nào. Bạn cần có ít nhất 300 MB trống trên ổ đĩa cứng nếu muốn cài RedHat 7.2, chưa kể đến tất cả các chương trình và dữ liệu mà bạn muốn giữ lại từ hệ điều hành trước đó. Nếu ổ cứng của bạn còn nhiều hơn thì càng tốt. Bạn cần phải học cách quản lý hệ thống Linux để trở thành quản trị viên hệ thống (system administrator hoặc sys admin). Công việc của quản trị viên hệ thống bao gồm: thêm bớt trương khoản cho những người sử dụng, đều đặn sao lưu dữ liệu, cài đặt thêm phần mềm mới, thiết lập cấu hình hệ thống, và giải quyết các hỏng hóc. Linux càng ngày càng phổ biến vì thế nguồn tài liệu hiện nay rất phong phú. Phần lớn các bản phát hành Linux đều kèm theo hàng ngàn trang tài liệu. Có thể dễ dàng tìm thấy những thông tin tương tự tại thư mục /DOCS trên các CD chứa Linux

Khoa CNTT – 05CDTH2

Trang 13

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

1.7. Thương mại hoá Linux
Cũng như mọi phần mềm, Linux chưa thể khắc phục hết ngay những bất tiện và sai sót. Nhưng rõ ràng càng ngày càng có thêm công ty mới đầu tư cho Linux và đưa ra các giải pháp ít nhiều có tính thương mại với giá rất rẻ. Xin nêu tên hai trong số các công ty đó là RedHat và Caldera. Cả hai công ty này đều trợ giúp kỹ thuật qua e-mail, fax và qua mạng cho những người đã mua các phiên bản Linux và sản phẩm của họ mà không dành cho những người sao chép các bản miễn phí. Vì tính kinh tế, Linux và các chương trình kèm theo thường được chạy trên mạng nội bộ của nhiều doanh nghiệp, chẳng hạn làm các dịch vụ Web, tên miền (DNS), định tuyến (routing) và bức tường lửa. Nhiều nhà cung cấp dịch vụ Internet (ISP) cũng dùng Linux làm hệ điều hành chính. Ngoài việc phân phối RedHat Linux với RPM, doanh nghiệp RedHat còn có những sản phẩm khác, thí dụ bộ ứng dụng văn phòng Applixware, bao gồm một phần mềm xử lý văn bản, một phần mềm bảng biểu, một phần mềm trình diễn, một công cụ thư điện tử cùng với nhiều công cụ triển khai lập trình và giao diện đồ hoạ XFree86... Nhưng chỉ cần trả khoảng một nửa giá bán của riêng Windows XP thôi, bạn sẽ nhận được một bản RedHat kèm các phần mềm nói trên mà không cần phải mua thêm MS Office, v.v. Caldera lúc đầu chỉ phát hành từ mạng Internet các sản phẩm dựa trên RedHat và Novell, trước khi có OpenLinux, một hệ điều hành giá rẻ với kernel 2.x. Sản phẩm này bao gồm một giao diện đồ hoạ có khả năng quản lý hệ thống và tài nguyên mạng, cùng với các ứng dụng mạng chủ yếu. OpenLinux tích hợp một X server thương mại của MetroLink và một phiên bản trình duyệt đã đăng ký đầy đủ của Netscape Navigator. Hiện nay, Caldera tách riêng OpenLinux thành 2 sản phẩm khác nhau: một để dùng cho máy tính cá nhân và một để dùng cho máy chủ. Caldera cũng phát hành bản Corel WordPerfect cho Linux, cùng với một bộ ứng dụng văn phòng hướng
Khoa CNTT – 05CDTH2 Trang 14

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Internet. Ngoài ra Caldera còn phát triển phần mềm tương thích công nghệ WABI của SunSoft, cho phép người dùng cuối chạy các ứng dụng Windows trên nền Linux.

1.8.UNIX và LINUX
Lịch sử Linux phát xuất từ UNIX và cụ thể liên quan đến Minix. Minix là một hệ điều hành nhỏ kiểu UNIX, minh hoạ bộ sách giáo khoa rất nổi tiếng do Tannebaum viết từ giữa những năm 1980. Minix đã từng phổ biến trên nhiều máy tính mini và PC. Còn Bell Laboratories thuộc công ty AT&T là nơi hệ điều hành UNIX sinh ra, song chính các tập thể và cá nhân khác đã cải thiện UNIX qua nhiều năm. Từ năm 1969, Thompson và các cộng sự ở Bell Laboratories đã phát triển UNIX, một hệ điều hành rất linh động và phù hợp với nhiều yêu cầu khác nhau của giới lập trình. Khởi thuỷ, hệ điều hành MULTICS của Viện MIT đã gợi ý cho Thompson viết được sản phẩm của mình, nhưng sau này chỉ có UNIX trở thành một tiêu chuẩn công nghiệp cho các hệ điều hành đa nhiệm và đa người dùng. Năm 1978, Berkeley Software Distribution (BSD) thuộc Đại học Berkeley tại California đã phát triển phiên bản UNIX đầu tiên của mình từ nền phiên bản UNIX v.7 của AT&T, với ý đồ sao cho UNIX trở nên thân thiện hơn với người sử dụng. Mặc dù không hoàn toàn tương thích với UNIX nguyên thuỷ của AT&T, phiên bản BSD UNIX vẫn đạt được mục tiêu đề ra nhờ những tiện ích mới đã làm nhiều người hài lòng. Sau đó BSD đã phát hành FreeBSD, một phiên bản dành cho họ vi xử lý Intel 386 và phân phối khá hạn chế qua Internet hoặc CD-ROM, rồi các tác giả đã công bố bản này trên tạp chí Dr. Dobb's. Hiện nay bản thương phẩm của FreeBSD đã trở thành một hệ điều hành thông dụng tương tự như Linux. UNIX System Laboratories (USL) là một công ty ra đời từ AT&T và đã từng triển khai UNIX System V từ đầu thập niên 1980. Trước khi được Novell mua lại hồi năm 1993, USL sở hữu mã nguồn của tất cả các phiên bản xuất xứ từ UNIX System V. Tuy nhiên hồi ấy USL chưa bán ra được những bản sẵn sàng cho người tiêu dùng.
Khoa CNTT – 05CDTH2 Trang 15

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bản phát hành đáng nhớ nhất của USL là UNIX System V Release 4.2 (SVR4.2). Đây là lần đầu tiên mà USL tham gia vào thị trường với qui mô lớn. Lúc ấy Novell và USL khai trương một công ty liên doanh mang tên Univel để sản xuất hàng loạt phiên bản SVR4.2 gọi là UnixWare. Khi mua lại USL, Novell đã chuyển vai trò trọng tâm của USL từ nhà sản xuất mã nguồn thành nhà phát hành UnixWare. Cuối cùng Novell lại bán UNIX của mình cho công ty Santa Cruz Operation (SCO). Gần đây SCO phát hành bản SCO UNIX một người dùng (single-user), tuy nhiên chi phí lên đến 19 USD, khó cạnh tranh được với Linux đa người dùng. Hơn nữa SCO không công bố mã nguồn hệ điều hành của mình. Từ cuối thập niên 1970, Microsoft cũng đã từng phát triển phiên bản UNIX của mình, gọi là XENIX. Đến năm 1981, trong thời kỳ cao điểm của cuộc cách mạng vi tính, máy tính cá nhân IBM-PC ra đời với hệ điều hành đơn nhiệm một người dùng DOS. Khả năng xử lý của PC tăng dần và bắt đầu sánh ngang các máy tính mini vào cuối thập niên 1980, khi sự ra đời của bộ vi xử lý Intel 386 cho phép XENIX có thể chạy trên PC. Microsoft và AT&T đã đồng ý nhập XENIX và UNIX vào thành một phiên bản duy nhất gọi là System V/386 Release 3.2, có khả năng hoạt động hầu như trên mọi cấu hình phần cứng của PC 386. Sun Microsystems có đóng góp lớn lao vào việc mở rộng thị trường UNIX khi sản xuất ra các máy chủ và máy trạm chạy với hệ điều hành SunOS trên nền UNIX BSD. Cuối cùng BSD và SVR4 cũng đã hội tụ và tương thích với nhau. IBM bước vào thế giới của UNIX bằng sản phẩm mang tên hệ điều hành AIX (Advanced Interative Executive). Các công ty HP và Apple cũng phát triển phiên bản UNIX của mình, gọi là HP-UX và A/UX. Mặc dù AIX, HP-UX và A/UX không nổi tiếng bằng vài phiên bản UNIX khác, song chúng chạy rất tốt và có một thị phần đáng kể. Các công ty nói trên đều giữ bản quyền phiên bản UNIX của mình, trong khi DOS và MS Windows thuộc về Microsoft. Vậy ai là chủ sở hữu của Linux?

Khoa CNTT – 05CDTH2

Trang 16

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

1.9.Tác quyền và bản quyền Linux
Nói chung, Linux không phải là phần mềm công cộng, bởi vì các thành tố của nó đã được nhiều người khác đăng ký tác quyền. Linus Torvalds giữ tác quyền về kernel Linux. Công ty RedHat là chủ của phiên bản RedHat Linux, và Patrick Voldkerding giữ tác quyền bản Slackware Linux v.v. Nhưng nhiều tiện ích Linux lại có giấy phép công cộng GPL (GNU General Public License). Quả thực, Torvalds cùng nhiều người đóng góp cho Linux đã đặt công trình của mình dưới sự bảo vệ của GPL. Bạn có thể xem toàn văn GPL trên Internet hoặc trong tệp mang tên "copying" của mọi bản phát hành Linux. Bản quyền ấy đôi khi được gọi dí dỏm là Copyleft để đối lập chữ Copyright. GPL áp dụng cho phần mềm thuộc phong trào GNU (cũng chơi chữ: GNU's Not UNIX) và FSF (Free Software Foundation), cho phép tạo ra phần mềm tự do cho tất cả mọi người. Tự do hiểu là mỗi người đều có quyền sử dụng phần mềm GPL và tùy thích chỉnh sửa nó theo nhu cầu riêng của mình nhưng phải nhớ rằng không được giữ riêng bản chỉnh sửa ấy mà phải phổ biến rộng rãi để cho người khác cùng sử dụng và tiếp tục thay đổi theo ý họ. GPL cho phép tác giả chương trình được giữ tác quyền pháp lý; song tác giả phải để cho người khác thao tác, thay đổi, và thậm chí bán chương trình mới được viết lại. Tuy nhiên một khi đã bán đi rồi thì người bán không được cấm người mua thay đổi chương trình đó và phải cung cấp mã nguồn. Đó là lý do tại sao Linux đến với bạn cùng toàn bộ mã nguồn đầy đủ và mở.

1.10.

Các ứng dụng trên Linux

1.10.1. Các ứng dụng văn phòng

Cùng với thời gian, hệ điều hành Linux ngày càng được hoàn thiện, nhiều hãng sản xuất cùng với các lập trình viên đã xây dựng được một kho thư viện phần mềm khổng lồ đáp ứng phần lớn nhu cầu của người dùng.

Khoa CNTT – 05CDTH2

Trang 17

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu như trong Windows có bộ Microsoft Office thì trong Linux có những bộ Office khác như KOffice, bộ Start Office hoặc OpenOffice.org của hãng Sun Microsystem được phân phối miễn phí .
1.10.2. Các ứng dụng giải trí

Ngoài các ứng dụng văn phòng ra, Linux cũng có khá nhiều games phục vụ nhu cầu thư giãn và giải trí của người dùng
1.10.3. Hệ điều hành mạng và các ứng dụng mạng

Có thể nói các ứng dụng mạng là tập hợp những ứng dụng nổi bật nhất của hệ điều hành Linux. Những khả năng mà các ứng dụng mạng trên Linux có thể thực hiện được làm cho hệ điều hành này trở nên vượt trội hơn so với Windows. Linux cho phép người dùng có thể cấu hình 1 server với đầy đủ các ứng dụng cơ bản nhất của Internet - Domain Name Service (DNS) - Web Server - Mail Server - FPT Server - SMTP Server - Pop3 Server - Firewall
1.10.4. Các ứng dụng web

Với sự bùng nổ các ứng dụng trên Internet, hệ điều hành Linux hỗ trợ một môi trường lý tưởng cho các server ứng dụng. Các hãng phần mềm nổi tiếng đều nghiên cứu để làm sao có thể cài các ứng dụng của họ lên Linux
1.10.5. Các ngôn ngữ lập trình Khoa CNTT – 05CDTH2 Trang 18

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Hệ điều hành Linux được viết lại hoàn toàn từ đầu bằng ngôn ngữ C nhằm tránh vấn đề bản quyền của Unix. Do đó ngôn ngữ lập trình C được hỗ trợ mạnh mẽ và khá đầy đủ cho việc phát triển các ứng dụng mạng. Tuy nhiên ngôn ngữ C không phải là sự lựa chọn duy nhất cho việc lập trình trên Linux. Có nhiều ngôn ngữ lập trình khác cũng được hỗ trợ bởi Linux được liệt kê dưới đây: Ada, C, C++, Forth, Fortran, Icon, Java, Lisp, Modular 2, Modular 3, Oberon,Objective C, Pascal, Perl , Prolog, Python, Smalltalk, SQL, Tck/Tl, Shell

1.11.

Linux Kernel

1.11.1. Giới thiệu

Linux kernel cung cấp một giao diện giữa các ứng dụng người dùng, hệ thống phần cứng và tài nguyên. Một vài chức năng của Linux là: • Quản lý bộ nhớ • Quản lý hệ thống file • Xử lý các lỗi và ngắt • Thực hiện các dịch vụ I/O
• Cấp phát tài nguyên hệ thống cho các người dùng 1.11.2. Kernel Modules

Trong những năm đầu của Linux, kernel Linux là một monolithic kernel. Monolithic kernel là tất cả các dịch vụ của Kernel được biên dịch hết vào trong nó và không có drivers ngoài nào được gọi. Với monolithic kernel, kernel phải được biên dịch lại mỗi khi có một thiết bị mới được gắn vào hệ thống. Khi sự hỗ trợ phần cứng của Linux tăng lên thì kích thước của Kernel tăng lên và cho thấy sự bất tiện của nó. thế là modular Linux kernel ra đời.

Khoa CNTT – 05CDTH2

Trang 19

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Modular Linux kernel bao gồm một kernel tối tiểu và một tập các modules có thể được thêm vào khi kernel đang chạy để hỗ trợ các thiết bị và dịch vụ mới
1.11.3. Các chức năng của Kernel

Quản lý bộ nhớ. Quản lý hệ thống file. Xử lý các lỗi và ngắt. Thực hiện các dịch vụ I/O. Cấp phát tài nguyên hệ thống cho các người dùng
1.11.4. GNU-GPL project (GNU General Public License) 1.11.4.1. GNU-GPL là gì ?

GNU General Public License là một hình thức bản quyền cho phép đảm bảo việc trao đổi tự do các phần mềm, đảm bảo các phần mềm là miễn phí đối với tất cả các người sử dụng. General Public License áp dụng cho hầu hết các sản phẩm của Free Software Foundation's. Bạn có thể áp dụng GNU GPL cho phần mềm của bạn. Giấy phép phần mềm mã nguồn mở (Open Source – OS) cho phép người dùng đọc, truy cập, thay đổi và làm lại mã nguồn của một sản phẩm phần mềm (theo tổ chức OSI – Open Source Initiative). Các giấy phép phần mềm được OSI phê chuẩn và quản lý tại http://www.opensource.org. Xem thêm chi tiết trong http://www.opensource.org/docs/osd-vietnamese.php/ Open Source mang ý nghĩa “tự do” nhiều hơn là “miễn phí”. Mỗi loại giấy phép có những điều khoản quy định riêng. Ví dụ: BSD Licensing chỉ dài 1 trang với 3 điều khoản cần phải tuân thủ nhưng trong khi đó thì Mozilla Public License 1.1 dài đến 12 trang đề cập mọi thứ từ việc định nghĩa thuật ngữ đến cách thức áp dụng giấy phép cho chính phủ.
Khoa CNTT – 05CDTH2 Trang 20

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Một trong những khoản quan trọng trong OS Licensing là: Nếu ta thay đổi mã nguồn thì phải lập lại tài liệu về các thay đổi và đính kèm mã nguồn theo phần mềm. Không được thông báo bản quyền của mình (copyright) mặc dù đã thay đổi mã nguồn của chương trình. Xem thêm thông tin tại http://www.linux.org/info/gnu.html Người ta còn nói GNU GPL là “Copyleft” để thay cho khái niệm “Copyright”.
1.11.4.2. Nội dung chính của GNU

• Tác giả vẫn giữ bản quyền phần mềm của mình • bạn có thể copy và phân phối chương trình dưới bất cứ hình thức nào và giá tùy ý • Bạn có thể thay đổi một phần của chương trình và phân phối thay đổi của mình cùng toàn bộ chương trình ccho người khác với điều kiện nói rõ phần mình thay đổi. • Nếu phần bạn thay đổi không thể tách rời tòan bộ chương trình thì GNU GPL sẽ mở rộng sang toàn bộ chương trình, kể cả phần bạn viết. • Bạn không được thông báo bản quyền của bạn (copyright) mặc dù bạn đã thay đổi mã nguồn của chương trình. • Bạn phải đảm bảo cung cấp mã nguồn khi bạn bán một sản phẩm theo GNU GPL để cho người khác có thể sử dụng và/hoặc bán tiếp sản phẩm (người bạn phân phối sản phẩm phải có được các quyền lợi giống của bạn được hưởng khi bạn nhận một phần mềm dưới GNU GPL). Open Source:  Một sản phẩm là Open Source phải thỏa mãn các điều kiện: • Free Redistribution: có thể phân phối tới bất cứ đội tượng nào. • Source Code: Luôn kèm theo source code.
Khoa CNTT – 05CDTH2 Trang 21

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Integrity of The Author’s Source Code: Có thể có hạn chế chỉ cho phép thay đổi mã nguồnt hông qua các patch (chứ không được tự ý thay đổi), hoặc nếu thay đổi phải đổi qua tên khác. Đây là điểm khác với GNU GPL. • No Discrimination Against Fields of Endeavor: Không được phân biệt đối xử với cá nhân hay nhóm người nào trong quá trình phân phối phần mềm mã nguồn mở. • Distribution of License: quyền đối với phần mềm được tiếp tục chuyển đến những người nhận phần mềm. • License Must Not Be Specific to a Product: Các quyền đối với phần mềm được tiếp tục thực hiện không phụ thuộc vào các phân phối (distribution) chứa phần mềm. • License Must Not Restrict Other Software: Các sản phẩm khác đi cùng Open Source không nhất thiết phải tuân theo yêu cầu của Open Source. • License Must Be Technology-Neutral: License không được bắt buộc gắn kết với bất kỳ công nghệ hay kiểu kết nối nào. Chú ý: Bruce Perens Đã viết các quy định trên cho "The Debian Free Software Guidelines". Sau đó ông đã bỏ đi các phần đặc trưng cho Debian-specific và xây dựng thành "Open Source Definition.“ Open Source và GNU GPL thường kết hợp với nhau: Ethereal is Open Source software released under the GNU General Public License

2................................................................Cài đặt và cấu hình Linux
2.1.Thao tác chuẩn bị
Bạn sẽ tìm thấy sau đây các thông tin cần thiết trước khi cài đặt bất cứ bản phát hành Linux nào trên PC. Xin nhớ rằng Linux không phải là một thương phẩm, do đó cần phải chuẩn bị đối phó các trục trặc nếu có.
Khoa CNTT – 05CDTH2 Trang 22

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Lưu ý: Cài đặt hệ điều hành có nghĩa là thay đổi cả hệ thống quản lý máy tính, vì vậy hãy cẩn thận và chuẩn bị sẵn giấy bút đề ghi chép các thông tin cần thiết. Điều kiện cài đặt Linux thành công là có các phần cứng phù hợp. Muốn chọn cấu hình cho tương xứng, bạn phải biết trước bao nhiêu người sẽ sử dụng hệ thống và sẽ chạy những ứng dụng nào. Từ đó bạn tính ra các yêu cầu về bộ nhớ, dung lượng ổ đĩa cứng, chủng loại thiết bị đầu cuối, v.v. Ngày nay, đa số các máy tính có cài đặt Linux đều là PC và thường cũng chỉ cài đặt phiên bản cho một người sử dụng, mặc dù các máy ấy có thể liên kết với nhiều hệ thống Linux và UNIX lớn hơn. Nếu bạn cài đặt phiên bản Linux cho một người dùng (trường hợp hay gặp nhất) thì bạn cũng là quản trị viên của hệ thống. Bạn có trách nhiệm hiểu rõ hệ thống để thực hiện chức năng quản trị, sao cho hệ thống chạy tối ưu. Bạn phải bảo đảm dung lượng tối thiểu trên ổ đĩa cứng, sao lưu đều đặn, các thiết bị kết nối với hệ đều có trình điều khiển (driver) và các phần mềm cài đặt thích hợp, v.v.. Bạn nên chọn lựa các loại phần cứng mà chính đa số những người tạo ra Linux đã sử dụng. Các công ty phát triển phần mềm thương phẩm thường chạy thử sản phẩm của họ trên nhiều phần cứng khác nhau, còn cộng đồng tình nguyện triển khai Linux chỉ có máy tính của chính mình. Cũng may là cộng đồng Linux khá đông đảo cho nên hầu hết những phần cứng tiêu chuẩn của PC đều được Linux chấp nhận. Lưu ý: Linux là một hệ thống tiến hoá và thỉnh thoảng lại có thông tin cập nhật. Bản phát hành RedHat sử dụng trong tài liệu này chạy khá ổn định, tuy nhiên thực tế có những phần cứng thay đổi mà chưa được Linux biết đến. Mặc dù nhiều phần cứng có thể đã thay đổi bằng các linh kiện “nhái” hoặc tương thích Intel, song không phải tất cả những phần cứng ấy đều chạy được với Linux. Mục tiêu: Nắm được một số yêu cầu cần thiết nhằm phục vụ tốt trong quá trình cài đặt.
Khoa CNTT – 05CDTH2 Trang 23

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Yêu cầu phần cứng: (Tối thiểu) - CPU 386 hoặc mới hơn. - Dung lượng bộ nhớ: 16MB - Dung lượng ổ cứng: ~ 100MB nếu chỉ sử dụng Console Mode (~1000MB nếu cài RedHat 9.0) ~ 500MB nếu sử dụng Graphic Mode (~1500MB nếu cài RedHat 9.0) - Ổ CD-ROM - Ổ đĩa mềm 1.44MB Yêu cầu phần mềm: Bộ cài đặt RED HAT Linux 9.0 (6 disks: CD1-CD6)

Đĩa mềm khởi động Linux 2.2.Tạo đĩa mềm khởi động
Mục tiêu: Tạo đĩa mềm khởi động Linux trong trường hợp không thể khởi động từ đĩa CD-ROM hoặc ROM-BIOS không hỗ trợ khởi động từ CD-ROM. Các bước tiến hành: Kiểm tra có tập tin “boot.img” trong thư mục Images của CD1 không? Thực thi “rawrite.exe” để ghi “boot.img” này ra đĩa mềm. Tiến hành khởi động từ đĩa mềm vừa tạo. Để có những thông tin hướng dẫn chi tiết hơn ◊ tham khảo Readme trong CD1 hoặc vào trang chủ của RedHat tại địa chỉ: http://www.redhat.com/ để có những chỉ dẫn cụ thể hơn trong quá trình tại ảnh đĩa (Disk Image

2.3.Các bước cài đặt
2.3.1. Các cách cài đặt

Khoa CNTT – 05CDTH2

Trang 24

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Có đến 4 cách cài đặt Linux, đó là từ CD, NFS, FTP, hoặc từ ổ đĩa cứng. • Cách phổ biến nhất là cài đặt Linux từ đĩa CD. Muốn cài đặt trực tiếp từ CD, bạn phải khởi đầu bằng DOS. Ở dấu nhắc DOS, bạn gõ lệnh: [ổ CD]:\dosutils\autoboot Trong đó [ổ CD] là tên ổ CD trên máy của bạn. Có thể bắt đầu bằng việc đặt lại cấu hình cho BIOS để có thể khởi động bằng đĩa CD. Đa số các BIOS sản xuất sau 1997 đều hỗ trợ việc này. Khi đó, bạn chỉ cần tắt nguồn điện và khởi động lại với đĩa CD Linux đặt sẵn trong ổ. Nếu ổ đĩa cứng có sẵn một phân vùng trống, bạn có thể cài đặt Linux vào đó bên cạnh hệ thống hiện hành để khỏi xoá mất những thông tin trước đó. Như vậy những gì bạn cần là một ổ CD, một phân vùng trống và một đĩa mồi.

Cách cài đặt Linux từ mạng máy tính nhờ một máy chủ NFS (Network hệ

thống tệp) yêu cầu bạn trước hết phải lắp ráp logic (mount) ổ CD vào một máy tính chấp nhận hệ thống tệp ISO-9660 với phần mở rộng RockRidge, rồi bạn công bố hệ thống tệp qua NFS. Bạn phải biết đường dẫn của hệ thống tệp này, cũng như địa chỉ IP của máy, hoặc tên của máy nếu có DNS. • FTP (File Transfer Protocol) là một giao thức truyền tệp qua mạng LAN hoặc WAN. Việc cài đặt qua FTP yêu cầu phải có đĩa mồi và đĩa phụ trợ. • Cài đặt Linux từ ổ đĩa cứng cũng cần đĩa mồi và các đĩa phụ trợ nói trên. Trước tiên phải tạo ra thư mục mang tên Linux, sau đó sao chép thư mục tương ứng từ CD cùng với tất cả các thư mục thứ cấp (subdirectory) vào thư mục Linux. Bạn có thể sử dụng các lệnh DOS sau đây để thi hành việc cài đặt: cd\Linux xcopy/s e:\Linux

Khoa CNTT – 05CDTH2

Trang 25

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Lệnh cd chọn thư mục làm việc là thư mục Linux trên ổ đĩa cứng; lệnh xcopy sao chép thư mục tương ứng từ đĩa CD đặt ở ổ E. Cho dù bạn sử dụng phương pháp cài đặt nào, bạn luôn cần có đĩa mồi. Nhưng trước hết bạn phải tìm một số thông tin cần thiết.
2.3.2. Các bước cài đặt chung 2.3.2.1. Cài đặt bằng dòng lệnh

Cũng giống như cài đặt với giao diện, bước chuẩn bị cũng giống như cài đặt bằng giao diện. Đầu tiên bạn bỏ đĩa CD vào ổ đĩa (và tất nhiên là phải có ổ cứng còn trống). Khi bạn cho boot từ đĩa CD, bạn nhập vào dòng linux text.

Hình 2.1 Kiểm tra đĩa CD

Bạn có thể bỏ qua bước này bắng cách nhấn vào Skip. Còn nếu bạn muốn test đĩa CD thì bạn nhấn vào OK.

Khoa CNTT – 05CDTH2

Trang 26

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.2 Giao diện chào mừng

Bấm OK để tiếp tục.

Hình 2.3 Chọn ngôn ngữ cài đặt

Ở đây nhóm chọn ngôn ngữ là English. Nhấn OK.

Khoa CNTT – 05CDTH2

Trang 27

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.4 Chọn ngôn ngữ cho bàn phím

Bấm Ok để chuyển qua bước kế tiếp.

Hình 2.5 Chọn loại chuột đang sử dụng

Sau khi chọn xong loại chuột của mình thì nhấn OK.

Khoa CNTT – 05CDTH2

Trang 28

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.6 : Chọn loại màn hình đang sử dụng

Bấm OK chuyển qua bước kế tiếp.

Hình 2.7 Cấu hình monitor

Nên chọn Default cho hệ thống tự cấu hình.
Khoa CNTT – 05CDTH2 Trang 29

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.8 Chọn loại cấu hình HDH cài vào máy

Sau khi chọn xong thì bấm OK.

Hình 2.9 : Chọn cách phân vùng ổ cứng

Disk Partitioning Setup: Nếu chọn Autopartition: hệ thống sẽ tự động chia tìm phân vùng còn trống và chia phân vùng cần thiết cho bạn.
Khoa CNTT – 05CDTH2 Trang 30

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Disk Druid: Bạn chọn chế độ tự chia phân vùng bằng tay. Back: Trở lại bước trước.

Hình 2.10 cảnh báo sẽ xóa hết dữ liệu

Bấm Yes để chuyển qua bước kế tiếp.

Hình 2.11 Phân vùng còn trống.

Ở đây vùng còn trống 8192Mb. Bấm New để tạo phân vùng Root.

Khoa CNTT – 05CDTH2

Trang 31

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.12 Tạo phân vùng root

Sau khi tạo xong phân vùng Root dùng để lưu trữ hệ điều hành. Bạn tiến hành tạo phân vùng Swap.

Hình 2.13 Tạo phân vùng swap

Sau khi phân vùng xong bạn nhấn OK.

Khoa CNTT – 05CDTH2

Trang 32

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.14 Sau khi tạo phân vùng xong

Sau khi phân vùng xong. Nhấn OK để chuyển sang bước kế tiếp.

Hình 2.15 : Chọn cấu hình boot loader

Chọn loại Boot Loader: Use GRUB Boot Loader: Có sử dụng Boot Loader GRUB. No Boot Loader: Không sử dụng Boot Loader. Nếu bạn cài 2 hệ điều hành trở lên thì nên sử dụng GRUB Boot loader. Bấm Ok để chuyển qua bước kế tiếp.

Khoa CNTT – 05CDTH2

Trang 33

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.16 : Cấu hình boot loader

Bấm OK để qua bước kế tiếp.

Hình 2.16 : Đặt password cho boot loader

Nếu bạn không cần đặt Password cho Boot Loader thì có thể nhấn OK để tiếp tục.

Khoa CNTT – 05CDTH2

Trang 34

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.17 Hoàn thành cấu hình boot loader

Quá trình cấu hình Boot Loader hoàn thành. Nếu bạn muốn sửa lại file Boot Loader thì có thề nhấn Edit. Nếu không thì nhấn Ok để chuyển qua bước kế tiếp.

Hình 2.18 Chọn nơi cài boot loader

Bạn nên chọn nơi lưu trữ Boot loader tại Master Boot Record.
Khoa CNTT – 05CDTH2 Trang 35

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bấm Ok để qua bước kế tiếp.

Hình 2.19 Cấu hình network

Sau khi đặt xong địa chỉ IP và Netmask (Mask Address). Bấm OK để chuyển qua bước kế tiếp.

Hình 2.20 Đặt địa chỉ DNS

Khoa CNTT – 05CDTH2

Trang 36

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu bạn không kết nối Internet có thể bỏ qua bước này. Bấm OK để chuyển qua bước kế tiếp.

Hình 2.21 Đặt tên máy

Bước này cho phép bạn đặt tên cho máy hoặc có thể bỏ qua bằng cách chọn automatically via DHCP. Bấm Ok để qua bước kế tiếp.

Hình 2.22 Cấu hình firewall

Khoa CNTT – 05CDTH2

Trang 37

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bạn có thể cấu hình cho hệ thống tránh sự xâm phạm từ bên ngoài. Hoặc cũng có thề không cần firewall nếu như bạn không nối mạng internet. Nếu chọn Enable firewall thì bạn có thể cấu hình cho firewall bằng cách nhấn vào Customize.

Hình 2.23 Cấu hình firewall

Sau khi cấu hình xong nhấn OK. Còn nếu bạn chọn no firewall thì hệ thống sẽ cảnh báo bạn.

Hình 2.24 Cảnh báo không firewall

Khoa CNTT – 05CDTH2

Trang 38

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu chấp nhận nhấn Proceed. Chuyển qua bước tiếp theo.

Hình 2.25 Chọn ngôn ngữ hệ thống

Bước này cho phép bạn chọn ngôn ngữ cho hệ diều hành Linux. Mặc định là English (USA). Nhấn Ok để tiếp tục. Bước này cho phép bạn chọn múi giờ cho máy. Mặc định là America/New_York. Bấm Ok chuyển qua kế tiếp.

Hình 2.26 Đặt pass cho root

Khi đặt password thì 2 ô password phải giống nhau. Bấm OK để chuyển qua bước kế tiếp.
Khoa CNTT – 05CDTH2 Trang 39

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.27 Chọn gói phần mềm cài đặt

Bạn có thể chọn các gói phần mềm để cài đặt. nếu muốn sử dụng gioa diện đồ họa gói X Window System. Sau khi đã chọn xong nhấn OK để chuyển qua bước kế tiếp.

Hình 2.28 Bắt đầu cài đặt

Nhấn Ok chuyển qua bước cài đặt.

Khoa CNTT – 05CDTH2

Trang 40

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.29 Số đĩa cài đặt

Bấm Continue để chuyển qua bước kế tiếp.

Hình 2.30 Qúa trình cài đặt

Sau khi quá trình cài đặt hoàn thành.

Khoa CNTT – 05CDTH2

Trang 41

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.31 Tạo đĩa boot khởi động

Nếu muốn tạo đĩa boot thì nhấn Yes (dùng để boot vào hệ điều hành bằng đĩa này). Nếu không thì nhấn No.

Hình 2.32 Khởi động lại máy

Nhấn Enter để Reboot lại hệ thống.
Khoa CNTT – 05CDTH2 Trang 42

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.33 Giao diện chào mừng của linux

Bấm Next để chuyển qua bước kế tiếp.

Hình 2.34 Licens của linux

Chọn Yes và bấm Next để tiếp tục.
Khoa CNTT – 05CDTH2 Trang 43

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình2.35 Chỉnh giờ hệ thống

Sau khi tinh chỉnh xong lại ngày giờ hệ thống. Nhấn Next để tiếp tục.

Hình 2.36 Tạo username hệ thống

Sau khi đặt xong user name và password, nhấn Next để tiếp tục.

Hình 2.37 Cấu hình card sound

Khoa CNTT – 05CDTH2

Trang 44

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu như bạn có nghe âm thanh phát ra thì nhấn Next.

Hình 2.38 Cài thêm phần mềm

Nếu bạn muốn cài thêm bất cứ một gói phần mềm nào từ CD thì nhấn vào Install. Bấm Next để qua bước kế tiếp.

Hình 2.39 Cài đặt hoàn thành

Khoa CNTT – 05CDTH2

Trang 45

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bấm Next để hoàn thành.

Hình 2.40 Đăng nhập vào hệ thống

Sau khi nhập xong user name nhấn Enter.

Hình 2.41 : Nhập password

Khoa CNTT – 05CDTH2

Trang 46

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi nhập xong username và password. Hệ thống sẽ được đăng nhập với giao diện.

Hinh 2.42 Đăng nhập thành công

2.3.2.2. Cài đặt bằng giao diện (phiên bản Fedora Core 4)

Đầu tiên khi Boot từ CD và bạn cho đĩa CD 1 vào . Giao diện xuất hiện.

Hình 2.43 Giao diện linux khi boot

Khoa CNTT – 05CDTH2

Trang 47

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bạn sẽ có những tùy chọn sau: • Cài đặt (Intall) hoặc nâng cấp (Upgrade) với giao diện đồ họa (graphical mode). • Cài đặt (Intall) hoặc nâng cấp (Upgrade) với giao diện sử dụng dòng lệnh (text mode). Và sẽ có những chế độ sau: • F1: để vào giao diện chính. ( như hình trên) • F2: sử dụng những tùy chọn của Linux.

Để tắt (disable) thiết bị phần cứng: gõ lệnh linux noprobe -> nhấn Enter.

Để kiểm tra các thiết bị đang sử dụng : gõ lệnh linux mediecheck -> Enter.

Để sửa lỗi cho linux (rescuse mode) : gõ lệnh linux rescuse -> Enter. (Nhấn F5 để đọc thêm hướng dẫn về chế độ rescuse).

• •

Nếu bạn có 1 đĩa driver : gõ lệnh linuxdd ->Enter Để nhắc nhở cho phương thức cài đặt sử dụng trên CD-ROM : gõ lệnh linux askmethod -> Enter.

Nếu bạn có đĩa để cập nhật hệ điều hành (update) : gõ lệnh linux updates -> Enter.

Để kiểm tra bộ nhớ trong hệ thống : gõ lệnh memtest86 ->Enter.

Khoa CNTT – 05CDTH2

Trang 48

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.44 Một vài chức năng khi cài đặt

• F3: Hướng dẫn chung.

Hình 2.45 Giới thiệu chung

• F4: Giúp đỡ chung cho chế độ Boot.

Khoa CNTT – 05CDTH2

Trang 49

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.46 Chỉ dẩn một số dòng lệnh

• F5: Hướng dẩn chế độ rescuse.

Hình 2.47 Cứu chữa HDH

Thông thường để cài mới thì tốt nhất là bạn sử dụng giao diện đồ họa. Ở màn hình chính bạn nhấn Enter.
Khoa CNTT – 05CDTH2 Trang 50

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.48 Quá trình kiểm tra phần cứng

Chương trình sẽ tiến hành kiểm tra một số phần cứng của máy tính. Sau khi kiểm tra xong thì giao diện cài đặt như sau:

Hình 2.49 Kiểm tra CD

Cho phép bạn nhấn Ok kiểm tra lại đĩa CD dùng để cài đặt hoặc để bỏ qua bước này nhấn Skip. Nếu nhấn Ok thì chương trình bắt đầu quá trình kiểm tra đĩa.
Khoa CNTT – 05CDTH2 Trang 51

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ở đây tôi chọn Skip để bỏ qua quá trình kiểm tra đĩa. Nhấn test để kiểm tra đĩa hiện tại đang có trong ổ đĩa hoặc lấy đĩa ra.

Hình 2.50 : Xác nhận CD

Nhấn test thì quá trình kiểm tra bắt đầu.

Hình 2.51 Quá trình kiểm tra đĩa

Khoa CNTT – 05CDTH2

Trang 52

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.52 : Quá trình kiểm tra đĩa hoàn tất

Quá trình kiểm tra đĩa 1 hoàn thành và nhấn ok để tiến hành để tiến hành kiểm tra các đĩa còn lại.

Hình 2.53 : Kiểm tra đĩa kế tiếp

Sau khi kiểm tra xong 4 CD thì chương trình bắt đầu cài đặt. Giao diện cài đặt như sau.
Khoa CNTT – 05CDTH2 Trang 53

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.54 Giao diện chào mừng của linux

Bấm next để qua bước kế tiếp.

Hình 2.55 Chọn ngôn ngữ cài đặt

Chọn ngôn ngữ để sử dụng trong suốt quá trinh cài đặt. Ở đây mặc định là English. Bấm Next.
Khoa CNTT – 05CDTH2 Trang 54

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.56 : Chọn ngôn ngữ bàn phím

Chọn ngôn ngữ của keybroad. Mặc định là U.S, English. Bấm Next

Hình 2.57 : Chọn cấu hình cho hệ thống

Cho phép bạn chọn các chế độ cài đặt. Personal : chế độ này dùng cho các máy tính các nhân hoặc laptops. Workstation : chế độ này cài đặt thêm môi trường để phát triễn thêm các ứng dụng và system administrator.
Khoa CNTT – 05CDTH2 Trang 55

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Server : chế độ này cho phép bạn sử dụng để cài đặt file sharing, print sharing và dịch vụ web. Custom : cho phép bạn tùy chọn các package hoặc các phần mềm đi kèm theo. Ở đây tôi chọn Custom và nhấn next.

Hình 2.58 : Chọn chế độ phân vùng

Automaticcally partition : chương trình sẽ tự động dò tìm phân vùng còn trống và chia đĩa theo yêu cầu của hệ thống. Khi chọn chế độ này, ổ cứng của bạn sẽ được hỏi là có muốn xóa hết không nếu như ổ cứng không còn chỗ trống. Manually partition with Disk Druid : cho phép bạn tự chia đĩa với công cụ Disk Druid có sẵn trong linux. Chế độ Manually partition with Disk Druid.

Khoa CNTT – 05CDTH2

Trang 56

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.59 : Có muốn xóa phân vùng không

Ở bước này chương trình sẽ hỏi bạn có muốn xóa hểt dữ liệu có trong ổ cứng không. Nếu có : bấm Yes. Nếu không : bấm No.

Hình 2.60 : Lỗi thiết bị khi cài đặt

Khoa CNTT – 05CDTH2

Trang 57

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu như ổ cứng của bạn không có phân vùng còn trống thì sẽ báo lỗi không thể tìm thấy thiết bị nào để tạo file hệ thống. Ngược lại nếu như đã có phân vùng trống thì sẽ qua bước kế tiếp.

Hình 2.61 : Phân vùng trống

Ở bước này, nếu như phân vùng của bạn chưa định dạng thì bấm chọn phân vùng còn trống, bấm New .

Hình 2.62 : Chọn phân vùng swap

Khoa CNTT – 05CDTH2

Trang 58

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ở khung File System Type, bấm sổ xuống và chọn Swap. Ở khung Size, mặc định là 100Mb, nhưng tốt nhất là bạn chọn 510 Mb (theo kinh nghiệm cài đặt của cả nhóm). Rồi bấm OK.

Hình 2.63 : Chia phân vùng để cài đặt

Ở phân vùng còn lại, bạn click chuột vào và chọn Edit.

Khoa CNTT – 05CDTH2

Trang 59

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.64 : Quá trình chia phân vùng

Ở khung Mount Point, bấm sổ xuống và chọn dấu / để làm thư mục gốc và cài đặt lên đó. Bấm OK.

Hình 2.65 : Cấu hình boot loader

Khoa CNTT – 05CDTH2

Trang 60

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bạn có thể check vào ô Configure advance boot loader options để boot từ 2 hệ điều hành trở lên (nếu máy của bạn cài thêm hệ điều hành khác). Bấm Next.

Hình 2.66 : Cấu hình DHCP

Cho phép bạn cấu hình DHCP. Bấm Next.

Hình 2.67 : Cấu hình firewall

Cho phép bạn bật chế độ Firewall hay không. Bấm Next.
Khoa CNTT – 05CDTH2 Trang 61

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu bạn không chọn chức năng Firewall thì chương trình sẽ hỏi bạn có chắc chắn không. Hoặc là muốn cấu hình lại.

Hình 2.68 : Cảnh báo không firewall

Nếu chắc chắn, bấm Proceed.

Hình 2.69 : Chọn vùng cho ngày giờ

Bước này cho phép bạn chọn múi giờ của mình. Bấm Next.
Khoa CNTT – 05CDTH2 Trang 62

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.70 : Đặt pass cho root

Bước này yêu cầu bạn đặt Password cho Root (tương đương với Adminitrator trong Windows). Và đây là bước bắt buộc. Sau khi đặt xong, bấm Next.

Hinh 2.71 : Chọn các gói phần mềm nguồn để cài đặt

Bước này cho phép bạn chọn lựa các gói phần mềm cài đặt kèm theo. Những ô đã check mặt định thì nên giữ lại.
Khoa CNTT – 05CDTH2 Trang 63

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bạn cũng có thể bấm vào Details ở cuối để chọn lựa chi tiết hơn.

Hình 2.72 : Chi tiết cài đặt

Hoặc bạn cũng có thể chọn cài Everything hoặc Minimal.

Hình 2.73 : Dung lượng đĩa sau khi chọn gói cài đặt

Khoa CNTT – 05CDTH2

Trang 64

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Và nhớ là phải xem dung lượng sau khi chọn có phù hợp với dung lương ổ cứng của mình hay không. Bấm Next.

Hình 2.74 : Chuẩn bị cài

Bây giờ bạn có thể click Next để thực hiện quá trình cài đặt.

Hình 2.75: Xác nhận cài

Hệ thồng sẽ yêu cầu bạn xác nhận một lần nữa là đã có đủ 4CD để cài chưa (vì ở đây là cài Fedora Core 4).
Khoa CNTT – 05CDTH2 Trang 65

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu đã đầy đủ thì bấm Continue. Quá trình cài đặt bắt đầu.

Hình 2.76: Quá trình cài đặt bắt đầu

Hình 2.77: Quá trình còn 20 phút

Sau khi đĩa 1 cài xong, chương trình sẽ yêu cầu đĩa thứ 2, 3 và đĩa thứ 4.

Khoa CNTT – 05CDTH2

Trang 66

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi cài đặt thành công hệ thống sẽ yêu cầu bạn reboot lại để thay đổi các cấu hình.

Hình 2.78 Cài đặt hoàn thành

Hệ thống yêu cầu khởi động lại. Bấm Reboot. Quá trình khởi động.

Hình 2.79: Đăng nhập hệ thống

Khoa CNTT – 05CDTH2

Trang 67

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Đang khởi động vào hệ thống. Đây là lần đầu tiên bạn khởi động vào hệ điều hành Linux. Giao diện chào mừng.

Hình 2.80: Giao diện chào mừng

Bấm Next.

Hình 2.81 License của chương trình

Đây là Lisence của hệ điều hành mã nguồn mở Linux.
Khoa CNTT – 05CDTH2 Trang 68

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Chọn Yes, I agre to the License Agreement. Bấm Next.

Hình 2.82 Điều chỉnh giờ hệ thống

Bước này cho phép bạn điều chỉnh lại ngày giờ hê thống. Bấm Next.

Hình 2.83 Điều chỉnh độ phân giải của hệ thống

Bước này cho phép bạn chọn độ phân giải của màn hình. Mặc định là 800x600.
Khoa CNTT – 05CDTH2 Trang 69

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bấm Next.

Hình 2.84: TXạo User mới

Bước này cho phép bạn tạo 1 User mới không có quyền Adminitrative (Root). Nếu bạn không muốn tạo thêm bất kỳ User nào và chỉ sử dụng User Root thì bấm next. Hệ thống sẽ cảnh báo bạn.

Hình 2.85: Cảnh bXáo tạo User

Khoa CNTT – 05CDTH2

Trang 70

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Và nếu bạn đồng ý thì bấm Cotinue ngược lại bấm Create account.

Hình 2.86: Kiểm traX sound card

Bước này để kiểm tra lại Sound card của bạn. Để kiểm tra bấm Play test sound.

Hình 2.87 Xác nhận âm thanh

Nếu có nghe âm thanh thì bấm Yes (dĩ nhiên là bạn phải có gắn thiết bị để nghe như Loa hoặc Headphone). Bấm Next.
Khoa CNTT – 05CDTH2 Trang 71

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.88: Cài đặt thêm gói phần mềm từ CD

Bước này cho phép bạn cài đặt thêm một số phần mềm từ CD. Nếu không cần thiết bấm Next.

Hình 2.89: Quá trình cấu hình hoàn thành

Hệ thống của bạn đã được cài đặt xong. Bấm Next để tiếp tục.

Khoa CNTT – 05CDTH2

Trang 72

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.90: Nhập User và pass để đăng nhập

Yêu cầu nhập tên User để đang nhập hệ thống. Ở đây user của tôi là Root và password là 123456.

Hình 2.91 Đăng nhập vào Linux

Đây là quá trình nhận các thiết bị.
Khoa CNTT – 05CDTH2 Trang 73

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.92 Giao diện chính của Linux

Quá trình cài đặt đã hoàn thành. Đây là giao diện chính của hệ điều hành Linux.

2.4.Phân vùng đĩa cứng
2.4.1. Giới thiệu

Với sự hình thành và phát triển của hệ điều hành Linux, giờ đây chúng ta có rất nhiều cách trong việc chọn lựa các hệ thống file (file system) cho từng loại ứng dụng. Trong bài viết này tôi muốn giới thiệu các hệ thống file tiên tiến được sử dụng trong Linux như EXT2, EXT3, VFAT Reiserfs, XFS, và JFS có tính tin cậy cao và có khả năng ghi nhớ quá trình thao tác trên dữ liệu (journaling). Chúng ta hãy tìm hiểu sơ lược về cách làm việc của các hệ thống file
2.4.2. Định dạng file hệ thống EXT2 2.4.2.1. Giới thiệu

Giới thiệu hệ thống file ext2 được giới thiệu vào đầu năm 1993 và được thiết kế riêng cho Linux. Nó có nhiều tính năng tăng cường để khắc phục các hạn chế của các hệ thống file khác. Tính năng Minix EXT EXT 2

Khoa CNTT – 05CDTH2

Trang 74

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Kích thước hệ thống 64 MB file lớn nhất Kích thước file lớn 64 MB nhất Chiều dài tối đa tên 30 ký tự file Kích thước block tuỳ Không biến 255 ký 255 tự Không tự Có ký 2 GB 2 GB 2 GB 4 TB

2.4.2.2. Quản trị hệ thống file EXT2

Filesystem caching : Nhằm tăng hiệu suất của toàn hệ thống file ext2, cache được dùng để lưu giữ các dữ liệu được dùng thường xuyên. Thông tin của filesystem được cache trong bộ nhớ, đôi khi được tham khảo tới như là một bộ đệm đĩa, bởi vì việc truy cập vào bộ nhớ thì nhanh hơn nhiều so với các đĩa vật lý. Cả hai quá trình đọc và ghi đều được cache dữ liệu trên RAM. Hệ thống buffers đĩa càng lớn thì filesystem đáp ứng càng nhanh cho các thao tác đọc ghi. Do RAM là bộ nhớ tạm thời, buffer sẽ được ghi vào đĩa khi máy hoạt động, hay khi filesystem được unmount. Lệnh sync có thể dùng để ép kernel ghi tất cả các buffers vào các file trên đĩa. Lệnh này có thể sử dụng không cần tham số. Ví dụ: Với lý do này có thể giải thích vì sao khi chép file vào đĩa mềm ta thấy hệ thống chạy rất nhanh tuy nhiên lúc này thực sự file chưa được ghi vào đĩa mềm. nếu để ý thì bạn sẽ thấy khoảng 5 giây sau đèn ổ mềm mới bắt đầu sáng. Nếu trước đó ta cứ tưởng là đã chép xong file mà rút đĩa mềm ra thì sẽ không có file nào được ghi vào đĩa cả.
2.4.2.3. Sự phân mảnh của hệ thống file

Khoa CNTT – 05CDTH2

Trang 75

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Hệ thống ext2 được thiết kế nhằm hạn chế tối thiểu sự phân mảnh nên ta không cần phải defragment hệ thống file ext2. Nguyên nhân gây ra sự phân mảnh của file system là việc ghi file nhiều lần trên ổ đĩa. Trong đó các file làm bộ nhớ mở rộng của hệ thống trên đĩa là có nguy cơ bị phân mảnh nhiều nhất. Đối với các hệ điều hành và MS Windows, hệ thống bộ nhớ mở rộng này nằm trên cùng một partition chính của hệ thống thông qua file pagefile.sys còn trong Linux thì hệ thống bộ nhớ mở rộng này được cho ra một partition riêng nên hạn chế rất nhiều sự phân mảnh.
2.4.2.4. Định dạng file hệ thống EXT3

Được xây dựng dựa trên cơ sở của hệ thống file chuẩn ext2 mà Linux đang sử dụng, ext3 đưa vào thêm chức năng mới vô cùng quan trọng, journaling file system, giúp thao tác dữ liệu an toàn hơn. Ext3 còn sử dụng cơ chế JBD (Journaling Block Device) để bảo vệ thông tin thao tác trên dữ liệu, được đánh giá là tin cậy hơn so với các hệ thống chỉ thực hiện journaling trên chỉ mục dữ liệu (journaling of meta-data only) như Reiserfs, XFS hay JFS. Với cách bảo vệ hai lần như vậy thì hiệu suất ghi dữ liệu có phần nào chậm hơn ext2; nhưng trong một vài trường hợp, nhờ thông tin trong journal log mà đầu từ ổ cứng di chuyển hợp lý hơn, nên tốc độ thao tác dữ liệu nhanh hơn. Đối với những ứng dụng ưu tiên cho độ tin cậy của dữ liệu hơn là tốc độ ghi đơn thuần thì ext3 là lựa chọn thích hợp. Ngoài ra, ext3 còn cho phép cải thiện tốc độ thao tác trên dữ liệu bằng cách thiết lập thông số cho hệ thống chỉ thực hiện journaling đối với thao tác trên dữ liệu (mode: data=writeback và data = ordered). Với mode data=writeback, quá trình khởi động nhanh, dữ liệu được ghi vào đĩa ngay sau khi đã ghi xong thông tin trong journal log (write back), với mode này đôi khi cũng xảy ra tình trạng hư dữ liệu nếu sự cố xảy ra ngay sau khi ghi journal log mà

Khoa CNTT – 05CDTH2

Trang 76

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux chưa kịp ghi vào đĩa, nhưng bù lại tốc độ thao tác file nhanh hơn trong một vài trường hợp. Với mode data=ordered, dữ liệu được ghi lên đĩa trước rồi mới đến journal log, cho phép luôn luôn bảo đảm tính toàn vẹn của dữ liệu trong mọi tình huống và đây cũng chính là mode mặc định của ext3. Với mode data=journal thì việc bảo vệ được thực hiện trên cả hai: dữ liệu và journal log; thông tin được ghi chi tiết và nhiều hơn giúp cải thiện tốc độ truy cập dữ liệu nhờ tối ưu việc di chuyển của đầu từ, hoạt động rất tốt đối với kiểu dữ liệu là database hoặc dữ liệu dùng chung trên mạng (NFS), tuy nhiên do phải đọc lại nhiều loại thông tin trên journal log nên thời gian khởi động lại máy hơi chậm hơn so với hai mode trên một chút. Vì bản chất cấu trúc của ext3 được xây dựng hoàn toàn dựa trên cơ sở của ext2 nên ta có thể chuyển đổi dễ dàng các dữ liệu đang tồn tại trên các hệ thống ext2 sang ext3 mà dữ liệu không hề bị ảnh hưởng và thực hiện tương đối dễ dàng, đơn giản. Với kernel Linux từ 2.4.15 trở lên thì ext3 đã có sẵn mà không cần phải đưa thêm vào (patch) như các version cũ. Hiện tại hãng Linux RedHat đã đưa sẵn module ext3 vào kernel 2.4.7-10 trong bản RedHat 7.2. Từ phiên bản Red Hat 7.2, hệ thống tập tin mặc định là ext3. Hệ thống file ext3 thực chất là phiên bản nâng cao của ext2. Ext3 có những ưu điểm sau: • Tính khả dụng:

• Khi bộ nguồn bị hỏng hay hệ thống đổ vỡ bất chợt, mỗi phân vùng định dạng theo ext2 trên máy tính phải được kiểm tra việc đồng nhất của chúng bằng chương trình e2fsck. Việc này cần khoảng thời gian để tiến hành làm thời gian khởi động hệ thống bị trễ đáng kể, đặc biệt là với phân vùng lớn.Trong suốt thời gian này dữ liệu trên phân vùng không được dùng đến. • Ext3 được đưa ra để không cần phải thực hiện việc kiểm tra đó khi hệ thống máy tính bị tắt đột ngột, việc kiểm tra chỉ xảy ra khi phần cứng bị hư hỏng,
Khoa CNTT – 05CDTH2 Trang 77

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux chẳng hạn như ổ đĩa cứng bị hư. Thời gian kiểm tra không phụ thuộc vào dung lượng hay số lượng file của phân vùng. • Tính toàn vẹn của dữ liệu.

• Hệ thống tập tin ext3 cung cấp việc bảo toàn dữ liệu trong việc hệ thống tắt đột ngột, và cho phép ta chọn loại và mức độ bảo vệ dữ liệu. Mặc định là mức bảo vệ cao nhất (high level) • Tốc độ

• Bất chấp việc ghi dữ liệu nhiều lần hay một lần, ext3 có số lượng dữ liệu đưa vào quá trình ghi nhiều hơn hẳn so với ext2 bởi ext3 đã tối ưu hóa đầu đọc chuyển động của ở đĩa cứng. Ta có thể chọn một trong ba mức để tối ưu tốc độ nhưng điều này có thể làm giảm tính toàn vẹn của dữ liệu. • Dễ dàng chuyển đổi

• Thật dễ dàng để ta chuyển đổi từ ext2 lên ext3 và đạt được những lợi ích của một hệ thống tập tin mạnh mà không cần phải định dạng lại. • Để chuyển đổi từ ext2 sang ext3, đăng nhập bằng root và gõ lệnh:

• /sbin/tune2fs –j /dev/hdbx

/dev/hdb : thay bằng tên thiết bị và x là số thứ tự của phân vùng cần chuyển đổi.

tune2fs : là chương trình chuyển đổi phân vùng ext2 có sẵn sang ext3 mà không cần thay đổi dữ liệu có trên phân vùng đó. 2.4.2.5. Định dạng file hệ thống VFAT

VFAT là chữ tắt (acronym) của Virtual File Allocation Table. VFAT là một hệ thống tệp (file system) đuợc xử dụng trong hệ điều hành Windows áp dụng cho Workgroups và Windows 95 và 98. VFAT là phiên bản của FAT32..

Khoa CNTT – 05CDTH2

Trang 78

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux FAT32 tăng số bit cho address clusters và đồng thời giảm kích cỡ của mỗi cluster. Nhờ thế hệ điều hành Windows 98 có thể chạy các đĩa cứng lớn hơn cho tới 2 terabytes và lưu trữ dữ liệu nhiều hơn. FAT là bảng mà nhờ nó, hệ điều hành có thể kiếm ra tệp đã lưu trữ trong đĩa cứng mà bạn muốn VFAT là dạng ảo của FAT (bảng thể hiện sự xắp xếp của các file trên đĩa cứng). VFAT được dùng trong phiên bản đầu Windows 95 tuy nhiên Windows 98 cũng hỗ trợ vì lý do tương thích • Để sửa lỗi này bạn làm như sau:

• Boot vào Win98 ở đạng Safe Mode (nhấn F8 khi khởi động máy hoặc nhấn giữ phím Ctrl). • Vào thư mục Windows xem có một file tên là "Ifshlp.sys". Nếu có làm tiếp bước Nếu không bạn copy file này ở một máy tính có Windows 98 khác vào thư mục này.

Bạn mở file "config.sys" ở ổ C:\ ra và thêm vào dòng này: DEVICE=C:\Windows\Ifshlp.sys. Nhớ lại những thay đổi rồi thoát ra.

• Bạn mở file "system.ini" trong thư mục Windows ra, nếu thấy có dòng "maxfilecache = 4096" thì xoá nó đi hoặc thêm dấu chấm phẩy ";" vào đằng trước dòng này. Nhớ lại những thay đổi rồi thoát ra. • Nếu không thấy dòng này thì đừng thay đổi gì cả.

• Nếu bạn thấy một file có tên là Winboot.ini trong thư mục gốc C:\, thì cũng xoá file này đi. Nếu không thì thôi. Khởi động lại Windows. Trong trường hợp bạn không boot vào Safe mode được thì boot vào "Safe Mode Command Prompt Only". Tiếp theo đó dùng NC hoặc một chương trình nào đó tương tự để mở file "C:\msdos.sys " ra. 3 dòng dưới phần [Paths] phải có giá trị như sau: WinDir=Windows WinBootDir= Windows HostWinBootDrv=C.
Khoa CNTT – 05CDTH2 Trang 79

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Giới hạn : Linux chỉ hổ trợ những tập tin lên tới 2GB. Bạn có thể phục giảm thiểu việc sao lưu lớn các file này bằng cách chia ra thành các phần nhỏ hơn. Trong ví dụ sau bạn có thể chia một tập tin 5GB thành các phần nhỏ hơn trên vfat bằng cách chia nó thành nhiều phần nhỏ có dung lượng 2000MB. > cd /myvfat > split -d -b 2000m /myext3/cryptfile cryptfile_backup > ls cryptfile_backup00 cryptfile_backup01 cryptfile_backup02 . Định dạng một hệ thống tập tin Vfat: Khi bạn định dạng với mkfs.vfat bạn phải thêm tùy chọn để một hệ tập tin 32 bít tạo ra. Nếu không có tùy chọn này thì một tập tin 12 bít hoặc 16 bít sẽ được tạo thành, phụ thuộc vào kích thước phân chia hoặc sự định dạng. Fat 16 chỉ hổ trợ những tập tin lên tới 2GB, Fat 32 lên tới 2TB.
> mkfs.vfat -F 32 /dev/sda1

3.........................................................Quản trị người dùng và nhóm
Các chủ đề chính sẽ được đề cập đến trong phần này bao gồm: - Làm việc với các user - Làm việc với nhóm user - Quản lý home directory - Quản trị qua giao diện web

3.1.Giới thiệu về tài khoản trong Linux
Cũng giống như Windows Linux cũng có các loại tài khoản khác nhau, xét về mặt tổng thể thì có 2 loại chính tài khoản người dùng và tài khoản quản trị hay còn gọi là root.
Khoa CNTT – 05CDTH2 Trang 80

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Root là tài khoản quản trị có ảnh hưởng rất lớn đối với an toàn của hệ thống, tài khoản root có các các quyền như: tạo tài khoản người dùng, cài đặt phần mềm, thêm, xóa, sửa đổi các tài khoản… Khi đăng nhập với tài khoản root thì tại giao diện terminal thường có kí hiệu:”#”. Các thông tin, dữ liệu về tài khoản người dùng khác thường được lưu trữ trong thư mục home

3.2.Thêm xóa sửa tài khoản người dùng
3.2.1. Cấu trúc trên giao diện Terminal 3.2.1.1. Thêm mới một tài khoản

Trong các phiên bản từ 6.x trở đi, RedHat Linux đã chuyển script này thành một lệnh với các tham số như sau: adduser [tên tài khoản] [-u uid [-o]] [-g group] [-G group...] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire] [-p passwd] [-n] [-r] name adduser [tên tài khoản] -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire] Nếu sử dụng các tùy chọn ta cần biết ý nghĩa từng tùy chọn như sau:

-c(comment) Tên đầy đủ của user(Full name) Ví dụ: Tạo user có tên lvd với tên đầy đủ levanduan ta thự hiện dòng lệnh sau: Useradd lvd -c levanduan

-d(home) sử dụng thư mục dành cho việc login, nếu ta không chỉ ra một thư mục thì hệ thống sẽ tự tạo ra một thư mục trùng với tên user, xét ví dụ sau: Ví dụ: Tạo 1 user có tên cntp chứa trong thư mục linuxgroup thư mục, ta thực hiện

dòng lệnh sau:
Khoa CNTT – 05CDTH2 Trang 81

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux useradd cntp -d /home/linuxgroup Lưu ý: Thư mục chứa thông tin user phải được tạo trước

-e(expire_date) Ngày tài khoản hết hạn( không thể sử dụng tài khoản này login vào hệ thống) Ví dụ: Tạo tài khoản cntp được phép sử dụng đến ngày 20-02-2007, chứa trong thư

mục linuxgroup với tên đầy đủ congnghiepthucpham useradd cntp -e 2007-02-20 -d /home/linuxgroup -c congnghiepthucpham

-f (inactive_days) Với tùy chọn này ta có thể chỉ định số ngày password mất hiệu lực trước khi tài khoản bị khóa .Giá trị mặc định của tùy chọn này là -1, với giá trị này password không thể thiết lập ngày mất hiệu lực Ví dụ : Tạo thời gian hiệu lực cho passwosd của tài khoản cntp trong 20 ngày useradd cntp -f 20

-u (user id) với tùy chọn này ta có thể ráng số thứ tự cho tài khoản Ví dụ : Tạo tài khoản cntp với số thứ tự 550 ta thực hiện dòng lệnh sau: useradd cntp -u 550

-p(password) tùy chọn này dùng để đặt mật khẩu cho tài khoản Ví dụ: Đặt password 123456 cho tài khoản cntp useradd cntp -p 123456

-g(group) dùng để chỉ định user thuộc về nhóm nào trong hệ thống các nhóm và nhóm đó sẽ đặt trưng về quyền cho user nếu user thuộc về nhiều nhóm, nhóm này thường được gọi là nhóm chính(Primary group). Nếu user mới khi tạo không được chỉ định thuộc về nhóm nào thì hệ thống tự tạo ra nhóm mới có tên trùng với tên user. Ví dụ : Tạo tài khoản cntp thuộc về phân nhóm root. Ta sử dụng dòng lệnh sau: useradd cntp -g root

Khoa CNTT – 05CDTH2

Trang 82

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

-G(group) tùy chọn này cũng dùng để chỉ định user thuộc về nhóm nào trong hệ thống nhóm, tuy nhiên với tùy chọn này ta có thể chỉ định một lúc nhiều nhóm cho user, mõi nhóm cách nhau bởi dấu “,”(phẩy). Ví dụ : Sử dụng dòng lệnh để đưa tài khoản cntp thuộc về phân nhóm root và

linuxx. useradd cntp -G root,linuxx Lưu ý: Ta cũng có thể sử dụng tùy chọn này để chỉ định user thuộc về một nhóm.Tuy nhiên tùy chọn này không thể chỉ định nhóm này làm primary group, hệ thống sẽ tự tạo ra primary group trùng với tên user.

-o Tùy chọn này thường được dùng chung với tùy chọn -u (user id), nếu sử dụng ta có thể đặt trùng số id cho tài khoản ta muốn tạo trùng với tài khoản bất kỳ nào trước đó. Ví dụ : Tạo tài khoản cntt có số id trùng với số id của tài khoản cntp(id 550) useradd cntt -o -u 550

-l Nếu sử dụng tùy chọn này thì tài khoản được tạo khi đăng nhập vào hệ thống sẽ không được ghi vào file nhật ký đăng nhập hệ thống

-M Thông thường khi một tài khoản mới được tạo hệ thống sẽ tạo một thư mục có tên giống với tên tài khoản chứa trong thư mục home, nếu ta sử dụng tùy chọn này thì hệ thống sẽ không tạo thư mục này. Khi đăng nhập hệ thống tài khoản sẽ sử dụng tập tin login.defs để tạo thư mục đăng nhập.

-r Tùy chọn dùng để tạo ra tài khoản hệ thống với số id nhỏ hơn số id được định nghĩa trong fije login.defs, khi sử dụng tùy chọn này thì tài khoản được tạo sẽ không có thư mục của tài khoản trong thư mục home, nếu muốn tạo thư mục cho tài khoản hệ thống ta sử dụng thêm tùy chọn -m.

-s(shell) Chỉ định nhân để phục vụ cho việc đăng nhập vào hệ thống của tài khoản(Tìm hiểu thêm phần lập trình nhân trong linux)

Khoa CNTT – 05CDTH2

Trang 83

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
3.2.1.2. Xóa tài khoản đã có

Để xóa một tài khoản trong giao diện terminal ta sử dụng lệnh userdel với cấu trúc như sau: userdel Tên tài khoản [option : -r] Với tùy chọn -r kèm theo thì hệ thống sẽ thực hiện việc xóa tài khoản cùng với việc xóa tất cả các thư mục có liên quan đến tài khoản Ví dụ: • Xóa tài khoản cntt nhưng không xóa các thư mục liên quan đến

tài khoản cntp cũng như thư mục có trong thư mục home userdel cntt •
userdel cntp -r 3.2.1.3. Chỉnh sửa tài khoản trong hệ thống

Xóa tài khoản cntp và các thư mục của tài khoản cntp

Khi ta cần chỉnh sửa thông tin về tài khoản ta sử dụng lệnh usermod với cấu trúc sau: usermod [-u uid [-o]] [-g group] [-G group...] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire] [-p passwd] [-L lock|-U unlock][tên tài khoản] Nếu sử dụng các tùy chọn ta cần biết ý nghĩa từng tùy chọn như sau

-c(comment) Sửa lại Tên đầy đủ của user(Full name) Ví dụ: Sửa lại tài khoản có tên cntp với tên đầy đủ congnghiepthucpham thành tên

đầy đủ là congnghiep ta thự hiện dòng lệnh sau: usermod -c congnghiep cntp

Khoa CNTT – 05CDTH2

Trang 84

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

-d(home) đổi thư mục dành cho việc login, nếu ta không đổi thư mục mới thì hệ thống sẽ lấy thư mục trước đó, xét ví dụ sau: Ví dụ: Đổi tài khoản có tên cntp với thư mục cntp trong thư mục home thành

thucpham , ta thực hiện dòng lệnh sau: usermod -d thucpham cntp

-e(expire_date) Ngày tài khoản hết hạn( không thể sử dụng tài khoản này login vào hệ thống) Ví dụ: Sửa lại tài khoản cntp được phép sử dụng đến ngày 20-02-2007 thành

ngày 20-03-2007 usermod -e 2007-03-20 cntp

-f (inactive_days) Với tùy chọn này ta có thể thay đổi ngày password mất hiệu lực trước khi tài khoản bị khóa .Giá trị mặc định của tùy chọn này là -1, với giá trị này password không thể thiết lập ngày mất hiệu lực Ví dụ : Tạo thời gian hiệu lực cho passwosd của tài khoản cntp trong 20 ngày

thành 30 ngày usermod -f 30 cntp

-u (user id) với tùy chọn này ta có thể thay đổi số thứ tự cho tài khoản Ví dụ : Thay đổi tài khoản cntp với số thứ tự 550 thành 500 ta thực hiện dòng lệnh

sau: usermod -u 500 cntp

-p(password) tùy chọn này dùng để đặt lại mật khẩu cho tài khoản Ví dụ: Chuyển password 123456 thành cntp123 cho tài khoản cntp usermod -p cntp123 cntp

-g(group) dùng để chỉ định lại user thuộc về nhóm nào trong hệ thống các nhóm và nhóm đó sẽ đặc trưng về quyền cho user nếu user thuộc về nhiều nhóm, nhóm

Khoa CNTT – 05CDTH2

Trang 85

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux này thường được gọi là nhóm chính(Primary group). Nếu user mới khi tạo không được chỉ định thuộc về nhóm nào thì hệ thống tự tạo ra nhóm mới có tên trùng với tên user. Ví dụ : Đổi primary group của tài khoản cntp thuộc về phân nhóm root thành linuxgroup. Ta sử dụng dòng lệnh sau: usermod -g linuxgroup cntp

-G(group) tùy chọn này cũng dùng để thay đổi hàng loạt nhóm mà tài khoản thuộc về, cũng giống như khi tạo mới các nhóm cách nhau bởi dấu “,”(phẩy). Ví dụ : Sử dụng dòng lệnh để đưa tài khoản cntp thuộc về phân nhóm root và

linux. usermod -G root,linux cntp Lưu ý: Cũng giống như khi tạo mới một tài khoản ta cũng có thể sử dụng tùy chọn này để chỉ định user thuộc về một nhóm.Tuy nhiên tùy chọn này không thể chỉ định nhóm này làm primary group, hệ thống sẽ tự tạo ra primary group trùng với tên user.

-o Tùy chọn này thường được dùng chung với tùy chọn -u (user id), nếu sử dụng ta có thể đặt trùng số id cho tài khoản ta muốn tạo trùng với tài khoản bất kỳ nào trước đó. Ví dụ : Chỉnh lại tài khoản cntt có số id trùng với số id của tài khoản cntp(id 550) usermod -o -u 550 cntt

-l(login_name) Dùng tùy chọn này để thay đổi tên đăng nhập vào hệ thống, cấu trúc lệnh như sau: usermod -l Tên đăng nhập mới Tên đăng nhập cũ Ví dụ : Đổi tên dăng nhập của tài khoản cntp thành cntt usermod -l cntt cntp

Khoa CNTT – 05CDTH2

Trang 86

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

-L Với tùy chọn này ta dung để khóa tinh năng mật mã của một tài khoản, nếu tài khoản đã được đặt password thì khi sử dụng tùy chọn này để chỉnh sửa tàii khoản, mật mã sẽ bị khóa. Ví dụ : Khóa password cntp123 của tài khoản cntp usermod -L cntp

-U Ngược lại với tùy chọn trên tùy chọn này có chức năng mở khóa cho password của một tài khoản. Ví dụ : Mở khóa password cho tai khoản cntp usermod -U cntp

-s(shell) Thay đổi nhân đăng nhập vào hệ thống
3.2.2. Các thao tác quản lý tài khoản trên giao diện X - Windows 3.2.2.1. Thêm mới một tài khoản

Để vào được giao diện quản lý người dùng ta cần phải đang nhập với tài khoản root hoặc các tài khoản khác nhưng ta cấn biết được password của root. Sau đó ta thực hiện như sau: • Tại giao diện windows chọn lần lượt như sau: Desktop->System settings->Users and Groups

Khoa CNTT – 05CDTH2

Trang 87

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 3.1 Đăng nhập vào giao diện quản lý tài khoản và nhóm

Khi đăng nhập thành công giao diện kế tiếp như sau.

Hình 3.2 Giao diện quản lý tài khoản và nhóm

Việc tạo mới tài khoản trên giao diên windows rất đơn giản, để tạo mới một tài khoản ta thực hiện như sau: trên giao diện quản lý có mục Add User ta click vào khi đó xuất hiện giao diện như sau:

Khoa CNTT – 05CDTH2

Trang 88

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 3.3 Tạo User mới

Tại giao diện này ta cần điền các thông tin cần thiết để tạo tài khoản như: • User name: Tên đang nhập • Full Name : Ghi chu hay tên đầy đủ của tài khoản • Password: Mật mả của tài khoản để đăng nhập hệ thống • Confirm password: nhập lại password nhằm tránh sai sót • Login shell: chọn nhân phục vụ cho việc đăng nhập • Create home directory: tạo thư mục chứa thông tin về phiên làm việc của tài khoản. • Create a private group for the user: Tạo nhóm riêng cho tài khoản thường trùng với tên của tài khoản. • Specify user ID manually: Đánh số thứ tự cho tài khoản Sau khi đã điền đầy đủ thông tin cho tài khoản ta chọn Ok để hoàn tất việc tạo mới
3.2.2.2. Xóa tài khoản đã có Khoa CNTT – 05CDTH2 Trang 89

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Việc xóa một tài khoản cũng tương đối đơn giản, ta chọn vào một tài khoản muốn xóa trên giao diện quản lý xuất hiện chữ Delete ta click vào khi đó xuất hiện giao diện hỏi ta muốn xóa thưc mục của tài khoản đó không, nếu ta muốn xóa thi ta cứ click vàoYes nếu không muốn xóa thư mục nhưng vẫn muốn xóa tài khoản ta bỏ chọn ở mục delete linuxx’s home directory(‘home/linuuxx’) and temporary files(Xét ở phần minh họa này), sau đó ta chọn Yes để hoàn tất.

Hình 3.4 Xóa tài khoản

3.2.2.3. Thay đổi thông tin tài khoản

Để chỉnh sửa các thông tin liên quan đến đến tài khoản cấn sửa đổi ta chọn ngay tài khoản cần thay đổi sau đó chon vào mục properties giao diên xuất hiện như hình bên dưới.

Hình 3.5 Thay đổi thông tin tài khoản

Khoa CNTT – 05CDTH2

Trang 90

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ở thẻ thứ đầu tiên(User data) ta có thể thay đổi tên đăng nhập, tên đầy đủ, mật khẩu.... Ta click chọn tiếp thẻ Account info giao diện như sau.

Hình 3.6 Thông tin tài khoản

Tại thẻ này ta có thể chỉ định ngày tài khoản hết hạn, khóa mật mã của tài khoản. Chuyển sang thẻ kế tiếp (Password info) chỉnh sửa các thông tin liên quan đến mật mã.

Hình 3.7 Thông số liên quan đến mật mã

Tại thẻ này ta có thể thay đổi các thông tin liên quan đến mật mã như sau:
Khoa CNTT – 05CDTH2 Trang 91

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Days before change allowed: chỉ định số ngày cho phép thay đổi mật mã • Days before change required: chỉ định số ngày trước khi thay đổi được yêu cầu. • Days warning before change: Chỉ định số ngày nhắc nhở trước khi thay đổi mật mã. • Days before account inactive: Chỉ định số ngày mật mã hết hiệu lực trước khi tài khoản bị khóa. Chuyển sang thẻ cuối cùng(Groups) tại thẻ này chúng ta có thể thay đổi primary group và thêm hoặc bớt các nhóm tài khoản này phụ thuộc bằng thao tác đơn giản thêm hoặc bỏ chọn.

Hình 3.8 Nhóm cho tài khoản

3.3.Thêm xóa sửa tài khoản nhóm
3.3.1. Cấu trúc trên giao diện Terminal 3.3.1.1. Tạo mới nhóm

Để tạo một nhóm người dùng mới ta sử dụng lệnh groupadd với cấu trúc như sau: groupadd [option: -g -f -o -r ] [tên nhóm] Nếu sử dụng các tùy chọn ta cần biết ý nghĩa từng tùy chọn như sau :

Khoa CNTT – 05CDTH2

Trang 92

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux - g: (gid) đánh số thứ tự cho nhóm với giá trị hợp lệ thường lớn hơn 500, còn khoảng giá trị từ 0 đến 499 thường dùng cho các nhóm nhằm mục đích nghiên cứu các tài khoản hệ thống. Ví dụ: Thực hiện việc tạo mới nhóm có tên linux với số thứ tự 501 groupadd -g 501 linux - o: tùy chọn này thường được dùng kèm theo tùy chọn -g nhằm cho phép ta có thể đánh trùng số thứ tự của các nhóm. Ví dụ: Tạo nhóm có tên linuxgroup có số thứ thự trùng với nhóm có tên linux. groupadd -g 501 -o grouplinux - r: Việc sử dụng tùy chọn này nhằm mục đích cho biết việc tạo ra nhóm này để chứa các tài khoản hệ thống.Thông thường số thứ tự của nhóm thường nhỏ hơn 499 hệ thống sẽ tự động cập nhật. -f : Khi sử dụng tùy chọn này thì dù có tạo ra một nhóm mới có tên trùng với nhóm đa có thi hệ thống cũng không cảnh báo hay báo lỗi, nói cách khác đây là tùy chọn tạo nhóm với trạng thái thành công.
3.3.1.2. Xóa một nhóm trong hệ thống

Việc xóa một nhóm trong hệ thống tương đối đơn giản với lệnh groupdel có cấu trúc như sau: groupdel Ví dụ: Xóa nhóm có tên linux. Ta thực hiện dòng lệnh sau:
groupdel linux

Tên nhóm cần xóa

3.3.1.3. Chỉnh sửa các thông tin của nhóm Khoa CNTT – 05CDTH2 Trang 93

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để chỉnh sửa nhóm ta sử dụng lệnh groupmod với cấu trúc như sau: groupmod -g -o -n Ý nghĩa các tùy chọn cũng giống như các tùy chọn khi tạo mới một nhóm

-g: với tùy chọn này cho phép đặt lại số thứ tự của nhóm, dãy số hợp lệ cụng giống như khi tạo mới.

Ví dụ: Đặt lại số thứ tự cho nhóm linux( ID ban đầu: 650) với ID mới bằng 600 groupmod -g 600 linux

-o cho phép đặt trùng số thứ tực của các nhóm.

Ví dụ: Đặt lại số thứ tự của nhóm có tên linuxgroup trùng với số thứ tự của nhóm có tên linux(600)
groupmod -g 600 -o linuxgroup 3.3.2. Các thao tác quản lý tài khoản trên giao diện Windows

Việc chỉnh sửa, tạo mới và xóa một nhóm trong giao diện windows tương đối đơn giản. Để thực hiện được ta cần đăng nhập vào hệ thống quản lý tài khoản va nhóm của linux, cách thức đăng nhập hoàn toàn giống như cách thức đăng nhập vào giao diện quản lý tài khoản như đã đề cập ở mục trên.
3.3.2.1. Tạo mới nhóm

Cũng giống như khi tạo mới user ta cũng sẽ thấy trên giao diện quản lý cũng có mục add group. Để tạo mới nhóm ta cứ click chuột vào giao diện xuất hiện như sau:

Khoa CNTT – 05CDTH2

Trang 94

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 3.9 Thông tin tạo nhóm

Giao diện này yêu cầu ta điền hai thông tin đơn giản là tên nhóm và số thứ tự của nhóm, nếu ta không diền số thứ tự hệ thống sẽ tự động cập nhật số thứ tự
3.3.2.2. Xóa nhóm trong hệ thống

Việc xóa một nhóm cũng tương đối đơn giản, để xóa một nhóm sau khi đã chọn ta cũng click vào chữ delete trong giao diện, sau đó hệ thống cũng sẽ xác nhận ta có muốn xóa hay không bằng cách hiển thị thông báo như hình bên dưới:

Hình 3.10 Xác nhận xóa nhóm

Nếu ta muốn xóa thì chọn Yes, nếu muốn hủy bỏ ta chọn No.

4.................................................................Quản trị hệ thống tập tin
4.1.Cấu trúc và trật tự của hệ thống tập tin
Các cấp thư mục cao nhất trong hệ thống tập tin của Linux. • /: Đây là thư mục gốc(root) trong Linux.Tất cả các tập tin và thư mục khác đều

nằm trong thư mục gốc này. • /bin: Thư mục này chứa các chương trình có thể thực thi được trong hệ điều

hành Linux,chẳng hạn như cat, cp, ls, more, tar...
Khoa CNTT – 05CDTH2 Trang 95

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • /boot: Chứa nhân (kernel) của Linux và các tập tin khác mà trình quản lý

GRUB hay LILO cần để khởi động. • /dev: Chứa các tập tin đặc biệt liên quan đến các thiết bị gắn trên hệ thống, ví

dụ như fd0(đĩa A). • /etc: Chứa hầu hết các tập tin cấu hình và các đoạn mã kịch bản (script) lúc

khởi động.

/home: Chứa thư mục chủ của các tài khoản trên Linux, ví dụ với tài khoản

tienmap, ta có thư mục /home/tienmap. • /lib: Chứa driver của các thiết bị nạp lúc khởi động Linux và các tập tin thư

viện dùng cho các chương trình trong /bin và /sbin. • /lost+found: Chứa tất cả các bị mất.Mỗi phân vùng trên đĩa cứng đều có thư

mục lost+found này. • /mnt: Thư mục tạm chứa các mount-point của hệ thống tập tin như ổ CD-

ROM,hay ổ đĩa mềm. •

/opt: Cung cấp vùng lưu trữ tạm cho các gói chương trình ứng dụng lớn. /proc: Đây là thư mục đặc biệt, chứa thông tin về các tiến trình đang chạy trên

hệ thống Linux. • • /root: Thư mục chủ của tài khoản root. /sbin: Chứa các tập tin có thể thực thi được dùng cho công việc quản trị hệ

thống và chỉ được thực thi bởi root, ví dụ halt, shutdown. • /selinux: Chứa các thông tin được dùng cho Security Enhanced Linux

(SELinux) và các tiện ích liên quan đến bảo mật hệ thống. •

/sys: Chứa các thông về các thiết bị được nhận biết bởi nhân Linux kernel. /tmp: Thư mục tạm.

Khoa CNTT – 05CDTH2

Trang 96

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • • • /usr: Chứa nhiều thư mục của các chương trình quan trọng, ví dụ như: /usr/X11R6: Chứa các tập tin của chương trình X Window System /usr/bin: Chứa các tập tin có thể thực thi của nhiều dòng lệnh trên Linux,bao gồm cả các tiện ích thông thường có sẵn trên Linux, nhưng không liên quan đến phần lõi của hệ điều hành Linux. • • /usr/game: Chứa các trò chơi (games) trên Linux. /usr/include: Chứa các tập tin header (*.h) của C và C++, các tập tin header của X Window trong thư mục /usr/include/X11, các tập tin header của Linux kernel trong thư mục /usr/include/linux.

/usr/lib: Chứa các tập tin thư viện của ngôn ngữ C, C++ và các thư viện khác như thư viện đồ họa, thư viện cơ sở dữ liệu.v.v…

/usr/local: Chứa các tập tin cục bộ,ví dụ như thư mục /usr/local/bin chứa các tập tin thực thi được phát triển trên hệ thống của bạn.

/usr/sbin: Chứa nhiều dòng lệnh quản trị hệ thống, chẳng hạn như về thư điện tử, mạng máy tính...

/usr/share: Chứa các dữ liệu đã được chia sẻ,ví dụ như /usr/share/doc chứa các tập tin tài liệu của nhiều ứng dùng trên Linux.

/usr/share/man: Chứa các tài liệu giúp đỡ mà có thể đọc qua lệnh man. /usr/src: Chứa mã nguồn của Linux kernel (lõi của hệ điều hành) • /var: Chứa các tập tin hệ thống như: /var/cache: Vùng lưu trữ dữ liệu cache của của ứng dụng. /var/lib: Chứa các thông tin liên quan đến tình trạng của các ứng dụng.

• •

Khoa CNTT – 05CDTH2

Trang 97

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • /var/lock: Chứa các tập tin đã bị khóa để đảm bảo một tài nguyên chỉ có thể sử dụng bởi 1 ứng dụng. • • • lưu trong thư mục /opt • • • khởi động lại.

/var/log: Chứa các tập tin log của hệ thống. /var/mail: Chứa các tập tin trong hộp thư của người dùng. /var/opt: Chứa các biến dữ liệu của các gói chương trình

/var/run: Chứa thông tin mô tả hệ thống lúc khởi động. /var/spool: Chứa các dữ liệu đang chờ xử lý. /var/tmp: Chứa các tập tin tạm được lưu lại khi hệ thống

/var/yp: Chứa tập tin cơ sở dữ liệu của dịch vụ Network Information Services(NIS)

Khoa CNTT – 05CDTH2

Trang 98

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 4.1 Các thư mục nằm trong thư mục gốc

4.2.Các quyền trên tập tin và thư mục
Để xem các quyền hiện có trên tập tin và thư mục,sử dụng lệnh ls –l. VD:

Hình 4.2 Quyền trên tập tin và thư mục

VD: tập tập ẩn .profile sau là tập tin bình thường có số id là 1, người tạo ra là user2 có quyền đọc và ghi(rw), thuộc nhóm staff chỉ có quyền đọc(r), mọi người dùng còn lại có quyền chỉ đọc(r).

Khoa CNTT – 05CDTH2

Trang 99

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 4.3 Quyền trên tập tin ẩn

4.2.1. File type

d: thư mục l: là tập tin liên kết đến một thư mục hay tập tin nào đó. -: tập tin bình thường
4.2.2. Các nhóm quyền

User (owner): người tạo ra tập tin. Group: nhóm của tập tin, thư mục. Others: những người khác
4.2.3. Thay đổi quyền

Chúng ta có thể hiệu chỉnh các quyền trên tập tin hay thư mục bằng dòng lệnh chmod Cú pháp: chmod mode filename

Khoa CNTT – 05CDTH2

Trang 100

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.4 Cấu trúc mode của dòng lệnh Chmod

4.2.4. Các loại quyền

r: quyền đọc w: quyền ghi x: quyền thực thi -: cấm quyền
4.2.5. Các phép toán trên dòng lệnh

=: gán quyền. +: thêm quyền. -: bớt quyền
4.2.6. Các nhóm quyền

u: người tạo ra tập tin.
Khoa CNTT – 05CDTH2 Trang 101

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux g: nhóm của tập tin, thư mục. o: những người khác. a: tất cả các trường hợp trên VD: gán quyền thực thi(x) cho tất cả các user vào tập tin allfile.txt (ngoại trừ root)

Hình 4.5 Gán quyền x cho các user

Hình 4.6 Tập tin etcfile.txt

Riêng đối với thư mục phải có quyền thực thi (x) thì mới có thể di chuyển vào thư mục đó được. VD: ta có thư mục test, gọi lệnh ls –l để xem các quyền trên đó, sau đó bỏ đi quyền thực thi của user, và cuối cùng gọi lệnh cd để di chuyển vào thư mục test. Kết quả: đã bị cấm quyền. Sau đó thêm quyền x vào user,sau đó di chuyển vào thư mục test.

Khoa CNTT – 05CDTH2

Trang 102

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.7 Kết quả khi thêm bớt quyền

Lưu ý: với tài khoản root, ta có quyền làm mọi việc trên tất cả các tập tin, không bị hạn chế nào, không bị ảnh hưởng bởi bất cứ quyền hạn nào. Mỗi quyền có một giá trị octal, chúng ta có thể dùng số octal này để gán quyền vào tập tin hay thư mục.

Hình 4.8 Giá trị Octal tương ứng các quyền

Khoa CNTT – 05CDTH2

Trang 103

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.9 Giá trị Octal thường dùng

Cú pháp: chmod octal_mode filename

Hình 4.10 Octal_mode thường dùng

VD: gán quyền đọc/ghi (6) vào user, group và Others.

Khoa CNTT – 05CDTH2

Trang 104

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.11 Quyền đọc/ghi sử dụng số Octal

4.2.7. Thay đổi quyền sở hữu (Ownerships)

Để thay đổi người tạo ra tập tin, dùng dòng lệnh chown Cú pháp: chown new_owner filename VD: thay đổi quyền sở hữu (owner) từ tienmap thành root

Hình 4.12 Thay đổi owner sang root

4.2.8. Thay đổi nhóm sở hữu (Group ownerships)

Cú pháp:
Khoa CNTT – 05CDTH2 Trang 105

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux chgrp new_group filename VD: thay đổi nhóm sở hữu từ tienmap thành root

Hình 4.13 Thay đổi Group

5.................Cài đặt và gỡ bỏ bằng công cụ RPM (Redhat Package Manager)
Hai bản phát hành Red Hat Linux và Caldera OpenLinux đều sử dụng gói phần mềm (Package) để quản lý việc cài đặt. Gói phần mềm là một chương trình đầy đủ đã được thử nghiệm và lập sẵn cấu hình cài đặt. Gói phần mềm được xây dựng từ các tệp mã nguồn mở, làm cho người sử dụng lẫn người triển khai đều biết được mình đang có cái gì trong tay. Để quản lý những phần mềm ấy, Red Hat Software đã phát triển công cụ RedHat Package Manager (RPM).

5.1.Tìm kiếm với RPM
rpm -q: Truy vấn các thông tin về các gói rpm..

Hình 5.1 Số phiên bản của Linux

rpm –qa: Tìm kiếm tất cả các gói rpm đã được cài đặt trong hệ thống.
Khoa CNTT – 05CDTH2 Trang 106

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.2 Liệt kê các gói rpm đã được cài đặt vào hệ thống

rpm –ql: Liệt kê tất cả các file có trong gói rpm.

Hình 5.3 Liệt kê các tập tin theo từng trang có trong kernel

rpm –qc: Liệt kê tất cả các tập tin cấu hình trong gói rpm.
Khoa CNTT – 05CDTH2 Trang 107

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.5 Liệt kê các tập tin cấu hình trong xinetd

rpm –qd: Liệt kê tất cả các tập tin tài liệu trong gói rpm.

Hình 5.6 Liệt kê các tập tin của gói xinetd

rpm –qf: Xem tên của gói rpm (nếu có). rpm –qi: Xem các thông tin chi tiết về gói rpm , bao gồm: số phiên bản, dung lượng, ngày cài đặt, thông tin mô tả của gói rpm.
Khoa CNTT – 05CDTH2 Trang 108

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.7 Xóa thông tin gói xinetd

rpm –qs: Xem trạng thái của các tập tin trong gói rpm.

Hình 5.8 Các tập tin trong gói xinet ở trạng thái normal

Khoa CNTT – 05CDTH2

Trang 109

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Các dòng lệnh rpm chỉ cung cấp thông tin về các gói đã được cài đặt. Nếu muốn tìm kiếm thông tin về các gói rpm chưa được cài đặt, ta thêm tùy chọn p vào dòng lệnh rpm. Dĩ nhiên dòng lệnh này chỉ thực hiện được trên các thư mục có chứa các gói rpm.

Hình 5.9 Liệt kê số phiên bản của gói rpm

rpm -q—whatprovides filename: Cho phép xem thông tin của một tập tin xác định. rpm -q—whatrequires packname: Xem thông tin nhà cung cấp của gói rpm xác định.

Hình5.10 Xem thông tin của gói openssl

5.2.Cài đặt bằng RPM
Bạn chỉ có thể xây dựng một gói phần mềm RPM từ dòng lệnh với cú pháp sau đây: rpm [tuỳ chọn] tên_gói phần mềm
Khoa CNTT – 05CDTH2 Trang 110

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux . Tên gói phần mềm bao gồm những thành phần như sau: tên phiên bản ấn bản cấu trúc máy tính phần mở rộng rpm –i: Cài đặt một gói rpm. quota 1.55 4 i386 .rpm

Hình 5.11 Cài đặt gói phần mềm

rpm –ivh: Cài đặt và xem quá trình cài đặt gói rpm.

Hình 5.12 Quá trình cài đặt

rpm -i --force package: Buộc phải cài gói package dù lỗi có xuất hiện.

Khoa CNTT – 05CDTH2

Trang 111

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.13 Gói đã được cài thành công

5.3.Gở bỏ bằng RPM
Muốn gỡ bỏ một gói phần mềm ra khỏi hệ thống máy bạn, RPM phải qua các bước như sau: - Kiểm tra tính phụ thuộc. RPM kiểm tra cơ sở dữ liệu xem có gói phần mềm nào khác phụ thuộc vào gói phần mềm ấy hay không. Nếu có, RPM sẽ không xoá, trừ khi bạn khẳng định là phải xoá. - Chuẩn bị gỡ bỏ. RPM thi hành một script chuẩn bị cho việc gỡ bỏ cài đặt. - Kiểm tra các tệp cấu hình. RPM lưu bản sao của mọi tệp cấu hình đã thay đổi. - Xoá các tệp. RPM xoá tất cả các tệp kết hợp với gói phần mềm được xác định. - Dọn dẹp. RPM thi hành một script dọn dẹp sau khi gỡ bỏ cài đặt. - Cập nhật cơ sở dữ liệu. RPM gỡ bỏ tất cả mọi chỉ mục tham chiếu đến gói phần mềm đã tháo bỏ. Ta thường làm theo các bước sau để đảm bảo quá trình gỡ bỏ package. rpm –qa | grep package: Liệt kê package cần gỡ bỏ. rpm –e package: Gỡ bỏ package.

Khoa CNTT – 05CDTH2

Trang 112

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.14 Gỡ bỏ gói thành công

5.4.Cập nhật bằng RPM
rpm –U packagename: Cập nhật gói rpm. Muốn cập nhật 1 gói rpm, trước hết ta phải có sẵn gói rpm trên thiết bị lưu trữ, sau đó chỉ định đường dẫn xác định tới file muốn cập nhật. Thực hiện việc cập nhật bằng cách xóa bỏ phiên bản cũ, sau đó cài đặt phiên bản mới vào. Quá trình cập nhật sẽ tự động lưu những tập tin cấu hình của phiên bản cũ, sau đó sẽ cấu hình lại chương trình vừa được cài mới

5.5.Xác minh lại gói RPM
Tìm các gói phần mềm: Muốn biết những gói phần mềm nào đã cài đặt vào hệ thống, bạn dùng lệnh như sau: rpm –qa Lệnh sẽ hiển thị danh sách các gói phần mềm hiện có trên hệ thống. Muốn lấy thông tin từ một gói phần mềm nhất định, bạn cần gõ tuỳ chọn –q. Bảng sau liệt kê các tuỳ chọn mà bạn có thể sử dụng với nhóm lệnh rpm –q để tìm các gói phần mềm. Tuỳ chọn -q tên -qa -qf tệp -qp gói_phần_mềm -qi Mô tả Cung cấp tên, phiên bản và số phát hành của gói phần mềm. Liệt kê tất cả các gói phần mềm đã cài đặt trên hệ. Tìm gói phần mềm liên kết với tệp. Tìm gói_phần_mềm. Cung cấp tên, mô tả, bản phát hành, kích cỡ, ngày tạo ra, ngày
Trang 113

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux gói_phần_mềm -ql gói_phần_mềm Có thể ta ít khi làm điều này, nhưng nếu nghi ngờ 1 phần mềm nào đó không chắc là đã được cài, ta sẽ xác minh lại bằng lệnh rpm –V rpm –V packagename: Kiểm tra lại gói rpm. cài đặt và các thông tin khác về gói phần mềm. Liệt kê tất cả các tệp liên kết với gói phần mềm.

Hình 5.15 Xác định lại nhân

Kết quả xuất ra thường có 3 phần: 8 kí tự đầu tiên chỉ ra loại khác nhau được tìm thấy, bao gồm: Mã c 5 S L T D U G M khoảng trắng. Phần cuối cùng là đường dẫn tới tập tin, dựa vào phần này ta sẽ biết được tập tin nằm ở đúng vị trí nào. Ý nghĩa Tệp này là tệp cấu hình Tệp này không qua được thử nghiệm tổng kiểm MD5 Kích cỡ tệp đã thay đổi sau thời điểm cài đặt Có vấn đề với các mối liên kết tượng trưng Thời gian chỉnh sửa tệp không trùng với nguyên thuỷ Thuộc tính thiết bị Các thiết lập cho user đã thay đổi Các thiết lập cho nhóm đã thay đổi Chế độ

Phần hai là kí tự ‘c’ kế tiếp cho biết là tập tin cấu hình đã bị thay đổi, mặt khác là

6.........................................Cài đặt phần mềm từ các tập tin nguồn
6.1.Căn bản của việc cài đặt
Khoa CNTT – 05CDTH2 Trang 114

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Điều đầu tiên khi bạn tiến hành cài đặt là bạn phải có mã nguồn của gói đó trước. Hãy lên mạng search bất kì gói nào bạn thích như thư viện Gtk+ hoặc Gnome .v.v... Sau khi tải về, thông thường có dạng là .gz hoặc .bz2, đây đều là 2 chuẩn nén khác nhau, sau khi giải nén bằng gunzip cho gz hoặc bunzip2 cho bz2 thì các gói sẽ có dạng mới là tar, cũng là một chuẩn nén khác, bạn có thể giải nén bằng lệnh, tar -xvf ... Thế nhưng để dễ dàng và tiết kiệm dung lượng ổ đĩa thì chúng ta có thể gộp các câu lệnh đó thành 1 như sau: • Đối với gói .gz: # tar -zxvf tengoi.gz • Đối với gói .bz2: # tar -jxvf tengoi.bz2 Sau khi giải nén xong và tìm tập tin INSTALL để đọc cụ thể cho phần hướng dẫn cài đặt. Thế nhưng hầu như các gói đều tuân theo các thao tác tuần tự sau: # ./configure # make # make install Chỉ có vài gói đặc biệt sẽ có riêng cách cài đặt nhưng khi bạn đã nắm vững nguyên tắc chung thì dù là cách thức nào bạn cũng có thể xoay xở được. Chúng ta hãy xét đến câu lệnh đầu tiên, ./configure ... Thực chất configure là một shell script sẽ kiểm tra những yêu cầu của hệ thống của bạn có đáp ứng đủ để cài đặt gói lên không, ví dụ như một số gói đòi hỏi bạn phải có sẵn thư viện đồ họa Gtk 2.4 trở lên hoặc là thư viện để giải nén nhạc Mp3..v.v... Rất nhiều gói có sự phụ thuộc như thế chứ các gói khi tải về không hề có sẵn các gói tương ứng cần thiết cho nó. Khi bạn chạy configure xong kết quả sẽ cho bạn biết các gói nào cần thiết để cài đặt. Nhiệm vụ của bạn không gì hơn là phải tìm các gói phụ thuộc đó cài lên máy rồi mới tiếp tục việc cài đặt. Nếu như hệ thống của bạn thỏa mãn đầy đủ các yêu cầu để cài đặt thì các Makefile sẽ được tạo ra. Makefile là một file đặc biệt của tiện ích make nhằm hướng dẫn biên dịch mã nguồn của gói ra dạng thực thi. Sau khi bạn thực thi lệnh 'make' xong thì tòan bộmã nguồn của gói đã được biên dịch sang dạng thực thi nhưng các file thực thi vẫn
Khoa CNTT – 05CDTH2 Trang 115

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux còn nằm trên thư mục hiện hành. Do đó bạn cần phải thực hiện thêm lệnh “make install' để chép các file thực thi đó sang đúng vị trí của nó trên hệ thống. Nếu như không có thông báo lỗi gì xảy ra thì bạn đã hòan tất việc cài đặt gói lên hệ thống của mình.

6.2.Tổ chức các file trên hệ thống
Bạn hoàn toàn biết thư mục trên Linux thì thư mục /usr là thư mục quan trọng nhất vì nó sẽ chứa các chương trình và hàm thư viện trên đó. Trong thư mục /usr/bin là sẽ chứa các file thực thi cho các gói bạn đã cài đặt trên máy, các file trong thư mục này bạn sẽ thấy các file rất quen thuộc như mozilla, gedit .v.v... Thư mục /usr/lib sẽ chứa các hàm thư viện, bạn sẽ thấy rất nhiều files có phần mở rộng là .so (shared object) là các hàm thư viện liên kết động hoặc .a (archive) hoặc .la đều là các hàm thư viện liên kết tĩnh. Đặc tính căn bản của 2 dạng thư viện này là hàm thư viện liên kết tĩnh sẽ được liên kết thẳng với files thực thi luôn trong quá trình liên kết, còn hàm thư viện liên kết động thì sẽ được liên kết trong quá trình thực thi, cho nên sau khi chương trình đã được biên dịch và liền kết rồi các thư viên tĩnh chúng ta có thể bỏ đi nhưng thư viện liên kết động thì bắt buộc phải đi kèm với chương trình. Thư mục /usr/share sẽ chứa các icon, manual hoặc info của gói.

6.3.Loại bỏ một gói
Nếu bạn mong muốn lọai bỏ một gói đã cài đặt trên hệthống thì cách duy nhất là bạn phải vào lại thư mục mã nguồn của gói và gõ lệnh 'make uninstall' ... thông thường bạn sẽ có các câu lệnh sau: 'make clean' 'make distclean' ... Các câu lệnh có ý nghĩa rất tương đối và được định nghĩa trong tập tin Makefile, nên đầu tiên bạn cứ thử với 'make uninstall' rồi 'make clean' cái cuối cùng 'make distclean' là giúp bạn xóa hết các tập tin đã biên dịch ở thư mục nguồn và đồng thời xóa Makefile, bạn phải chạy lại ./configure để tạo lại Makefile.

6.4.Quản lý các gói

Khoa CNTT – 05CDTH2

Trang 116

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Do việc xóa bỏ một gói như trên rất là phiền phức đôi lúc bạn chẳng thể xóa bỏđược nếu như mất đi mã nguồn, cho nên bạn có thể thay vì cài nó vào thư mục mặc định là /usr thì bạn có thể cài vào các thư mục của riêng bạn, ví dụ như bạn có thể tạo thư mục '/soft' ... Sau đó để cài gói gedit thì bạn tạo thêm thư mục /soft/gedit và dùng lệnh ./configure ... bạn thêm tùy chọn sau: ./configure --prefix=/soft/gedit thì khi bạn gõ make install sẽ copy tòan bộ sang thư mục /soft/gedit .. Khi bạn muốn xóa tòan bộ gói thì chỉ đơn giản xóa đi thư mục đó thôi. Lưu ý là khi bạn cài vào thư mục riêng của mình rồi bạn phải tạo 2 đường dẫn cho 2 biến mội trường (environment variable) LD_LIBRARY_PATH và PKG_CONFIG_PATH ... LD_LIBRARY_PATH sẽ có đường dẫn đến thư mục lib của gói vừa tạo (ví dụ như /soft/gedit/lib) còn PKG_CONFIG_PATH sẽ có đường dẫn đến thư mục pkg_config trong thư mục lib (ví dụ như /soft/gedit/lib/pkg_config) .. Bên cạnh đó nếu bạn muốn chương trình gọi tự động thì bạn cũng nên thêm vào biến PATH cho gói của mình.

6.5.Lời kết
Trên mạng Internet có rất nhiều chương trình nguồn được phân phối mà không có tập tin thực thi. Trước khi sử dụng phần mềm dạng này, ta phải tạo ra tập tin thực thi bằng việc biên dịch theo những hướng dẫn có sẵn đi kèm. Tải về và giải nén chương trình. Hầu hết các phần mềm mã nguồn mở trên mạng thường được nén để giảm bớt dung lượng nhằm truyền tải linh hoạt hơn, các định dạng thường dùng là .tar, .tgz, .z, .zip… VD: giả sử ta download được gói phần mềm xvnkb-2.0.9a1.tar lưu trong thư mục /root/Desktop/Nhan NTFS, Giải nén tập tin dạng tar bằng dòng lệnh sau: tar –xvf xvnkb-2.0.9a1.tar
Khoa CNTT – 05CDTH2 Trang 117

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.1 Quá trình giải nén

Chuyển đến thư mục chứa các tập tin đã được giải nén.

Hình 6.2 Chuyển qua thư muc xvnkb-0.2.9a

Đọc các tập tin như README hay INSTALL kèm theo trong các chương trình để cài đặt chương trình. Xây dựng phần mềm từ các tập tin nguồn. Việc cài đặt thường có 3 bước sau, lấy ví dụ cài đặt gói chương trình gõ tiếng việt xvnkb-0.2.9a1.tar • ./configure

Khoa CNTT – 05CDTH2

Trang 118

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.3 Quá trình chạy lệnh./configure

Đoạn mã configure này sẽ dự tính các biến phụ thuộc hệ thống và tạo ra một Makefile phục vụ cho việc xây dựng chương trình.

make

Khoa CNTT – 05CDTH2

Trang 119

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.4 Đang cài đặt

Sau khi đoạn mã kịch bản configure hoàn thành, ta gõ lệnh make nhằm gọi tiện ích GNU make, đây là tiện ích dùng để đọc Makefile đã có trước đó và bắt đầu biên dịch các tập tin nguồn căn cứ vào thông tin có trên Makefile. Dòng lệnh make sẽ tạo ra tập tin thực thi và các thư viện nhằm chạy chương trình. Việc này mất một khoản thời gian, phụ thuộc vào chương trình lớn hay nhỏ. • make install

Hình 9.5 Quá trình cài đặt

Khoa CNTT – 05CDTH2

Trang 120

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi lệnh make thực hiện xong, ta thực hiện cài đặt chương trình bằng dòng lệnh: make install Dòng lệnh này cũng chạy tiện ích GNU make, nhưng sẽ cài đặt các đối số dựa trên một tập hợp các dòng lệnh từ Makefile. Như vậy là ta đã cài xong chương trình, hãy đọc các tài liệu hướng dẫn đi kèm nhằm biết cách sử dụng hay cấu hình lại phần mềm vừa cài đặt.

7............................................................................. Quản trị hệ thống
7.1.Kiểm tra hệ thống tập tin
Khi bộ nguồn hỏng, phần cứng bị hư bất chợt hay có những lỗi thao tác có thể làm hỏng hệ thống tập tin, ta có những dòng lệnh để kiểm tra và khắc phục những hư hỏng đó. • e2fsck: kiểm tra hệ thống tập tin ext2 hay ext3. • tune2fs: điều chỉnh lại các tham số sao cho phù hợp với hệ thống tập tin. • debugfs: gọi chương trình sửa những lỗi nghiêm trọng của hệ thống tập tin. • ext2ed: chỉnh sửa lại hệ thống tập tin loại ext2. • dumpe2fs: xem các thông tin về hệ thống tập tin ext2 hay ext3

7.2.Các tiện ích
Xem dung lượng đĩa còn trống bằng dòng lệnh: Cú pháp: option: -k: hiển thị theo đơn vị KB (mặc định) -m: hiển thị theo đơn vị MB df <–option>

Khoa CNTT – 05CDTH2

Trang 121

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux -t: chọn một hệ thống tập tin cụ thể -a: xem tất cả các mount-point Xem dung lượng đĩa đã sử dụng: Cú pháp: du –option Option: -s: tóm tắt theo tên tập tin. -c: tính tổng dung lượng đã sử dụng. -h: theo đinh dạng tùy ý.

-a: xem chi tiết tất cả các tập tin. 7.3.Mount và Umount
Đến đây, bạn đã có khái niệm khá rõ ràng về hệ thống tệp. Câu hỏi tiếp theo là bạn làm như thế nào để thiết lập một thư mục thành một hệ thống tệp riêng biệt. Việc mount có thể thực hiện qua dòng lệnh hay thêm dòng lệnh vào trong tập tin /etc/fstab

Hình 7.1 File fstab

Dòng lệnh mount

Khoa CNTT – 05CDTH2

Trang 122

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Cú pháp: mount <option> <–t fstype> <device> <mount_point> option: Tùy c h ọ n -f -v -w -r -n -t Làm cho mọi thứ diễn ra "như thật", song chỉ là thao tác giả Cung cấp thêm thông tin về những gì mà mount sẽ thực hiện Mount hệ thống tệp với các quyền hạn đọc và ghi Mount hệ thống tệp với quyền hạn chỉ đọc mà thôi Mount hệ thống tệp nhưng không ghi mục nào vào tệp /etc/mtab Xác định loại hệ tệp được mount Mô tả

[fstype] -a Cố gắng mount mọi hệ thống tệp đã khai báo trong /etc/fstab -o danh- Khi phía sau lệnh mount có một loạt các tuỳ chọn được cách nhau bằng sáchcác-tuỳchọn dấu phẩy, mount sẽ áp dụng các tuỳ chọn ấy vào hệ thống tệp đang được mount. Muốn có danh sách đầy đủ các tuỳ chọn bạn hãy xem trang man của lệnh mount.

Các fstype cơ bản như: • auto: dò tìm các hệ thống tập tin tự động. • minux: hệ thống tập tin dạng minux (tên bị giới hạn bởi 30 kí tự) • ext2: hệ thống tập tin dạng ext2 (ở các phiên bản linux cũ). • ext3: hệ thống tập tin dạng ext3 (các phiên bản linux hiện tại). • xiaf: hệ thống tập tin dạng xiaf. • msdos: hệ thống tập tin cho các phân vùng MSDOS(16 bits).

vfat: hệ thống tập tin cho các phân vùng Windows 95,98 và Millennium(32 bits).
Trang 123

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • xfs: hệ thống tập tin dạng Silicion Graphics (SGI). • ntfs: hệ thống tập tin của Windows NT,Windows XP và Windows 2000 trở về sau (chỉ cho phép đọc) • smbfs: hệ thống tập tin samba, giống như nfs. • hpfs: hệ thống tập tin cho các phân vùng của các hệ điều hành đa nhiệm có hiệu suất cao. • nfs: tập tin được chia sẻ bằng dịch vụ network file systems. • iso9660: tập tin dạng iso dùng cho việc mount CD-ROM, thường di kem voi tham sô -o loop VD1: mount tập tin FC_4 i396 ftp #1.iso vào thu mục /media/cdrom mount -t iso9660 FC_4\ i386\ ftp\ #1.iso /media/cdrom -o loop

Hình 7.2 Mount thiết bị

• umsdos: hệ thống tập tin dạng UMS-DOS. • swap: phân vùng Linux swap hay tập tin swap. • sysv: hệ thống tập tin Unix System V.

proc: loại tập tin được hệ điều hành dùng cho việc xử lý.

• devpts: hệ thống tập tin ttys-các cổng giao tiếp với kernel (Unix 98 Pseudo Terminals)
Khoa CNTT – 05CDTH2 Trang 124

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • shmfs và tmpfs: truy cập vào bộ nhớ ảo Linux, bộ nhớ được chia sẻ POSIX. VD2: mount phân vùng /dev/hda5 được định dạng là fat32 /root/hda5 như sau: mount –t vfat /dev/hda5 /root/hda5 vào thư mục

VD3: mount phân vùng /dev/hda7 được định dạng là ext3 vào thư mục /root/hda7 như sau: mount –t ext3 /dev/hda7 /root/hda7 VD3: mount usb vào thư mục /mnt/usb Mount /dev/sdx /mnt/usb (Với x có thể a->z tuỳ theo từng máy) VD4: mount đĩa cdrom vàot thư mục /mnt/cdrom mount /dev/cdrom /mnt/cdrom VD5: mount đĩa mềm (A:) vào thư mục /mnt/floppy mount /dev/fd0 /mnt/floppy

-O option-list: mount hệ thống tập tin Option-list bao gồm: • async: đồng bộ hoá các hệ thống tập tin. • auto: mount tự động lúc khởi động hệ thống. • defaults: sử dụng các tuỳ chọn mặc định là: rw, suid, dev, exec, auto, nouser và async. • dev: nhận biết các thiết bị trên hệ thống. • kudzu: kiểm tra các thiết bị đã được cài đặt và có thể truy cập. • noauto: không tự động mount hệ thống tập tin khi khởi động.
Khoa CNTT – 05CDTH2 Trang 125

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • exec: cho phép thực thi các tập tin nhị phân. • nouser: cấm người dùng thông thường mount hệ thống tập tin. • remount: mount lại hệ thống tập tin đã được mount. • ro: mount hệ thống tập tin chỉ được đọc. • rw: mount hệ thống tập tin với quyền đọc/ghi. • suid: cho phép đặt định danh người dùng hay định danh nhóm. • user: cho phép người dùng mount hệ thống tập tin với các tuỳ chọn như noexec,nosuid và nodev. • nodev: không nhận biết các thiết bị trên hệ thống. • noexec: không cho phép thực thi các tập tin nhị phân. • nosuid: không cho phép đặt định danh người dùng hay định danh nhóm. • -O : thường đi kèm với tham số -a, dùng để giới hạn không mount một số loại tập tin nào đó. • -w : mount hệ thống tập tin với quyền đọc/ghi VD: mount –a –O no_netdev =>> mount tất cả các hệ thống tập tin trong /etc/fstab ngoại trừ loại no_netdev device: thiết bị muốn truy cập. mount_point: thư mục tạm dùng để truy cập thiết bị.

Khoa CNTT – 05CDTH2

Trang 126

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 7.3 File fstab sau khi cài nhân NTFS

Khi không truy cập vào hệ thống tập tin nào đó, ta sẽ dùng lệnh unmount. Lệnh unmount có ba dạng cơ bản: unmount thiết_bị /mount_point unmount -a unmount -t loại_fs

7.4.NTFS trên Linux
 Để mount được phân vùng NTFS thì có nhiều cách ,ở đây chúng tôi xin trình bày 2 cách đơn giản và thông dụng nhất:  cách 1: cài đặt Driver hỗ trợ kernel: Bước 1: xác định phiên bản Việt đầu tiên bạn cần làm là xác định phiên bản bạn đang dung Bạn mở termial lên đánh vào #uname -r Để xác định phiên bản. Và # rpm -q --queryformat "%{ARCH}\n" kernel

Khoa CNTT – 05CDTH2

Trang 127

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để xác định processor (đa số dùng i686 processor (a recent Pentium computer). hoặc i586 or i386. Ví dụ trong trường hợp cụ thể máy mình đang dùng : 2.6.11-1.1369_FC4 và i686 Đến trang: http://linux-ntfs.sourceforge.net/rpm/fedora4.html Tìm bản thích hợp http://prdownloads.sourceforge.net/linux-ntfs/kernel-module-ntfs-2.6.111.1369_FC4-2.1.22-0.rr.6.0.i686.rpm Download gói tập tin kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.220.rr.6.0.i686.rpm về máy Đăng nhập bằng tài khoản root. Cài đặt bằng lệnh rpm -ivh kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.22-0.rr.6.0.i686.rpm

Hình 7.4 Quá trình cài nhân

 Nạp module ntfs bằng dòng lệnh: /sbin/modprobe ntfs  Tim driver cua ntfs # dmesg | grep NTFS

Khoa CNTT – 05CDTH2

Trang 128

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 7.5 Kiểm tra driver

 Kiểm tra xem module ntfs đã được nạp chưa bằng dòng lệnh: cat /proc/filesystems  Nếu thấy dòng ntfs thì module ntfs đã được nạp, ngược lại thì lệnh /sbin/modprobe ntfs chưa thực hiện được.

Hình 7.6 Các hệ thống file

Khoa CNTT – 05CDTH2

Trang 129

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Cuối cùng, mount phân vùng định dạng ntfs để dùng. Tạo tập thư mục Winxp để mount bằng lệnh: mkdir Winxp Xem định dạng các phân vùng có trên đĩa cứng: /sbin/fdisk –l

Hình 7.7 Xem các định dạng phân vùng

Mount phân vùng ntfs vào thư mục Winxp với tham số -t ntfs. mount –t ntfs /dev/hda6 Winxp umount /dev/hda6

Khoa CNTT – 05CDTH2

Trang 130

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 7.8 Mount phân vùng ntfs

mount –t ntfs /dev/hda5 Winxp –rw –o umask=0222

Hình 7.9 Xem phân vùng ntfs đã được mount

Nếu muốn gỡ bỏ gói NTFS rpm, trước hết ta liệt kê tất cả các gói rpm có tên ntfs bằng dòng lệnh: rpm –qa | grep –i ntfs Sau đó cắt và dán tên đó vào dòng lệnh rpm gỡ bỏ: rpm -e

Khoa CNTT – 05CDTH2

Trang 131

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 7.10 Gỡ bỏ nhân

 cách 2:cài đặt fuse hỗ trợ NTFS và NTFS-3G : Bước 1: Cài đặt fuse phiên bản lớn hơn 2.5.x ,ở đây chúng tôi cài đặt gói fuse2.6.0.tar, bước cài đặt thì giống như cài đặt các gói khác mà chúng tôi đã trình bày Bước 2: sau khi cài đặt thành công chúng ta phải nạp module fuse hộ trợ đọc NTFS bằng dòng lệnh sau: # sbin/modprobe fuse Bước 3: chúng ta có thể kiểm tra lại modul fuse đã được nạp hay chưa bằng dòng lệnh: # cat /proc/filesystems Nếu có một dòng có tên là fuse thì chúng ta đã nạp thành công Bước 4: đơn giản hơn chúng ta chỉ cài đặt NTFS-3G cài đặt cũng giống như các gói phần mềm khác Bước 5: khi cài đặt thành công chúng ta mount phân vùng NTFS bằng dòng lệnh sau: # mount –t ntfs-3g /dev/hdcx /thư mục mount tới * chú ý: ntfs-3g chỉ được hỗ trợ bởi fuse phiên bản 2.5.x trở lên, đối với kernel 2.6.12 Trở lên đã hỗ trợ sẵn fuse.

Khoa CNTT – 05CDTH2

Trang 132

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

II. Các dịch vụ mạng.
1.

Cấu hình card mạng (Network)
1.1.Đặt tên máy
1.1.1. Bằng dòng lệnh Dùng lệnh hostname chúng ta có thể xem tên máy hoặc đổi tên máy với cú pháp như sau: Xem tên máy:

hostname (hình)

Hình 1.1 Xem tê máy

Đặt tên máy:
Khoa CNTT – 05CDTH2 Trang 133

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

hostname tên_mới (hình)

Lưu ý: tên máy đặt chỉ có thể tồn tại tại thời điểm đang làm, việc khi chúng ta khởi động lại máy thì tên máy trở lại tên ban đầu.

Hình 1.2 Đổi tên máy

Để lưu được tên vừa mới đặt ta cần sửa lại file /etc/sysconfig/network (hình)

1.1.2. Bằng giao diện Ta chọn Desktop -> system settings -> Network.

Hình 1.3 Đổi tên máy bằng giao diện

Có thể sửa trực tiếp tên máy trong tab DNS. Sau đó chọn File -> Save.
Khoa CNTT – 05CDTH2 Trang 134

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Restart lại dịch vụ mạng bằng dòng lệnh. # Service network restart

1.2.Cấu hình địa chỉ IP 1.2.1. Dòng lệnh
Xem địa chỉ IP: Để xem địa chỉ IP ta dùng dòng lệnh ifconfig.

Hình 1.4 Xem địa chỉ Ip

Eth0 là tên của card mạng, còn lo là tên của Lookback interface (hình). Thay đổi địa chỉ IP: Để thay đổi địa chỉ IP ta có thể làm những cách sau • # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up Dòng lệnh này chỉ thay đổi địa chỉ IP của máy tạm thời, khi khởi động lại máy thì địa chỉ IP vừa thiết lập sẽ bị mất và trở lại như ban đầu, được lưu giữ lại sau khi reboot hệ thống thì ta phải thêm lệnh trên vào tập tin /etc/rc.local Ta có thể thay đổi thông tin trong file etc/sysconfig/network-scripts/ifcfg-eth0. • Đặt địa chỉ IP tĩnh:

Khoa CNTT – 05CDTH2

Trang 135

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

• Đặt địa chỉ IP động:

Sau đó ta dùng lệnh : ifdown eth0, ifup eth0 Thông thường phương thức tạo nhiều địa chỉ IP cho Card mạng được gọi là ip alias. Alias này phải có tên dạng: parent-interface-name: X, trong đó X là subinterface number. Tạo một tên file /etc/sysconfig/network-scripts/ifcfg-eth0:0 từ file /etc/sysconfig/network-scripts/ifcfg-eth0 sau đó ta thay đổi thông tin địa chỉ trong file này.

Bật và tắt alias interface thông qua câu lệnh ifconfig. Ifup eth0:0

Khoa CNTT – 05CDTH2

Trang 136

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ifdown eth0:0 • Kiểm tra thông tin cấu hình alias interface dùng lệnh ifconfig:

Hình 1.7 Kiểm tra Alias

Lệnh NETSTAT Để kiểm tra trạng thái của tất cả các card mạng ta dùng lệnh: # netstat -in

Khoa CNTT – 05CDTH2

Trang 137

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Ngoài ra ta còn có thể dùng lệnh netstat –rn để xem bảng routing table của router..

Thay đổi DEFAULT GATEWAY : Về việc chỉ định địa chỉ default gateway cho hệ thống là công việc rất quan trọng vì default gateway chính là điều rất quan trọng giúp cho hệ thống nội bộ có thể giao tiếp với hệ thống bên ngoài và ngược lại, việc đặt địa chỉ default gateway trên Linux ta có thể dùng lệnh router. Thông qua lệnh này ta có thể mô tả, cập nhật các con đường đi hổ trợ việc xây dựng bản định tuyến trên router. Ta chỉ định địa chỉ 192.168.55.252 là default gateway cho hệ thống nội bộ, ta có thể dùng lệnh sau : # router add default gw 192.168.55.252 Ta có thể dùng lệnh router add để chỉ định nhiều default gateway: # router add –net 10.0.0.0 netmask 255.0.0.0 gw 192.168.55.254 eth0.
Khoa CNTT – 05CDTH2 Trang 138

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux 1.2.2. Bằng giao diện Ta chọn Desktop -> system settings -> Network.

Mặc định thì khi cài đặt, máy đã có sẵn một card mạng, bạn chỉ việc click chọn card mạng đó và nhấn Edit. Nếu máy chưa có thì có thể tạo mới bắng cách nhấn vào New hoặc File -> new.

Khoa CNTT – 05CDTH2

Trang 139

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi đặt xong địa chỉ IP bạn chọn OK. Save lại : File -> save Và restart lại dịch vụ mạng để thay đổi có hiệu lực bằng dòng lệnh : # service network restart
2.

Truy cập từ xa
Khi cấu hình hệ thống kết nối vào mạng, máy chủ sẽ cung cấp một số dịch vụ Internet. Thông thường mỗi dịch vụ Internet gắn liền với một daemon và thực hiện trong chế độ background. Những daemon này hoạt động bằng cách liên kết đến một cổng nào đó và sau đó đợi những yêu cầu kết nối được gởi đến từ chương trình client. Khi một kết nối xảy ra nó sẽ tạo ra một tiến trình con đảm nhiệm kết nối này và tiếp tục lắng nghe những yêu cầu kết nối khác. Nếu như hệ thống có quá nhiều daemon sẽ làm tăng xử lý của CPU. Để khắc phục điều này, Linux tạo ra một superserver gọi là Xinetd.

2.1.Xinetd
Mỗi dịch vụ Internet đều gắn liền với một cổng chẳng hạn như: smtp - 25, pop3 110, dns - 53... Việc phân bổ này do một tổ chức qui định. Xinetd là một Internet server daemon. Xinetd quản lý tập trung tất cả các dịch vụ Internet. Xinetd quản lý mỗi dịch vụ tương ứng với một cổng(port). Xinetd lắng nghe và khi nhận được một yêu cầu kết nối từ các chương trình client, nó sẽ đưa yêu cầu đến dịch vụ tương ứng xử lý. Và sau đó, Xinetd vẫn tiếp tục lắng nghe những yêu cầu kết nối khác. Khi hệ điều hành được khởi động, Xinetd được khởi tạo ngay lúc này bởi script /etc/rc.d/init.d/xinetd. Khi Xinetd được khởi tạo, nó sẽ đọc thông tin từ tập tin cấu hình /etc/xinetd.conf và sẽ dẫn đến thư mục /etc/xinetd - nơi lưu tất cả những dịch vụ mà Xinetd quản lý. Trong thư mục /etc/xinetd, thông tin cấu hình của mỗi địch vụ được lưu trong một tập tin có tên trùng với tên dịch vụ đó. Nội dung tập tin của
Khoa CNTT – 05CDTH2 Trang 140

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux dịch vụ telnet . cụ thể như sau: service telnet { disable = yes flags wait user = REUSE = no = root socket_type = stream

server = /usr/sbin/in.telnetd log_on_failure += USERID }

2.2.Tập tin /etc/services
Khi xinetd được khởi tạo nó sẽ truy cập đến tập tin /etc/services để tìm cổng tương ứng với từng dịch vụ. Nội dung của tập tin này như sau: echo echo discard 9/tcp discard 9/udp systat 11/tcp users systat 11/udp users daytime 13/tcp daytime qotd qotd msp msp chargen chargen ftp-data ftp-data
Khoa CNTT – 05CDTH2

7/tcp 7/udp sink null sink null

13/udp 17/tcp quote 17/udp quote 18/tcp# message send protocol 18/udp# message send protocol 19/tcp 19/udp 20/tcp 20/udp
Trang 141

ttytst source ttytst source

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux # 21 is registered to ftp, but also used by fsp ftp ftp ssh ssh telnet telnet smtp smtp time time rlp rlp 21/tcp 21/udp fsp fspd 22/tcp # SSH Remote Login Protocol 22/udp # SSH Remote Login Protocol 23/tcp 23/udp 25/tcp 25/udp 37/tcp 37/udp mail mail timserver timserver # resource location # resource location # IEN 116 # IEN 116

# 24 - private mail system

39/tcp resource 39/udp resource name name

nameserver 42/tcp nameserver 42/udp

Mỗi dòng trong tập tin mô tả cho một dịch vụ, bao gồm những cột sau: - Cột 1: tên của dịch vụ. - Cột 2: số cổng và giao thức mà dịch vụ này hoạt động. - Cột 3: danh sách những tên gọi khác của dịch vụ này.

2.3.Khởi động xinetd
Sau khi chỉnh sửa tập tin cấu hình của từng dịch vụ trong thư mục /etc/xinetd, ta thực hiện lệnh sau để đọc lại nội dung của tập tin cấu hình : /etc/rc.d/init.d/xinetd restart

2.4.Telnet Server
2.4.1. Khái niệm Telnet Vì một lý do nào đó người dùng không thể ngồi trực tiếp trên máy Linux làm việc. Dịch vụ telnet hỗ trợ cho người dùng trong vấn đề làm việc từ xa, . Nhưng để đảm bảo tính bảo mật cho hệ thống, một điều cảnh báo là chúng ta không nên làm việc từ xa bằng telnet mà nên làm việc trực tiếp tại máy Linux
Khoa CNTT – 05CDTH2 Trang 142

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux 2.4.2. Cài đặt Thông thường khi cài đặt Linux, dịch vụ telnet đã được cài sẵn. Nếu chưa cài bạn có thể cài telnet server từ packet bằng dòng lệnh sau : rpm -i telnet-server-0.17-20.i386.rpm 2.4.3. Cấu hình Có nhiều cách cấu hình telnet server, sau đây là hai cách cấu hình cơ bản nhất: - Cách 1: Dựa vào tập tin cấu hình, Khi cài đặt xong trong thư mục /etc/xinetd.d sẽ xuất hiện tập tin telnet. Tập tin này lưu những thông tin cấu hình về dịch vụ telnet. service telnet { disable = yes flags wait user server } Nếu disable là no thì TELNET server được khởi động, ngược lại nếu disable là yes thì TELNET server không được khởi động. Sau khi chỉnh sửa tập tin cấu hình trên ta start, stop bằng lệnh : /etc/rc.d/init.d/xinetd restart Hoặc dùng lệnh: # service xinetd restart - Cách 2: Cấu hình telnet Server bằng dòng lệnh: chkconfig telnet on Kiểm tra telnet thông qua lệnh: #netstat-a|grep telnet tcp
Khoa CNTT – 05CDTH2

= REUSE = no = root = /usr/sbin/in.telnetd

socket_type = stream

log_on_failure += USERID

0

0

*:telnet

*:*

LISTEN
Trang 143

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Kiểm tra telnet có được đặt như dịch vụ hệ thống: # chkconfig --list | grep telnet
telnet: on

Dừng telnet server: # chkconfig telnet off 2.4.4. Bảo mật Telnet

2.4.4.1. Cho phép telnet server hoạt động trên tcp port khác
Như ta đã biết telnet traffic không được mã hóa do đó nếu ta cho telnet server hoạt động trên tcp port 23 thì không được an toàn vì thế ta có thể đặt telnet server hoạt động trên tcp port khác 23. để làm điều này ta thực hiện các bước sau: - Bước 1. Mở tập tin /etc/services và thêm dòng. # Local services stelnet 7777/tcp # "secure" telnet - Bước 2. Chép file telnet thành file stelnet. # cp /etc/xinetd.d/telnet /etc/xinetd.d/stelnet - Bước 3. Thay đổi một số thông tin trong file file /etc/xinetd.d/stelnet
service stelnet { flags wait user server = REUSE = stream = no = root = /usr/sbin/in.telnetd = no = 7777 socket_type

log_on_failure += USERID disable port }

- Bước 4. Kích hoạt stelnet thông qua lệnh chkconfig
# chkconfig stelnet on

- Bước 5. Kiểm tra hoạt động stelnet thông qua lệnh netstat.
Khoa CNTT – 05CDTH2 Trang 144

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
# netstat -an | grep 777 tcp 0 0 0.0.0.0:7777 0.0.0.0:*
- Bước

LISTEN

6 . Ta có thể logon vào Telnet thông qua lệnh : #telnet 192.168.1.100 7777

2.4.4.2. Cho phép một số địa chỉ truy xuất telnet
Ta hiệu chỉnh một số thông số sau :
service telnet { flags wait user server disable } = REUSE = stream = no = root = /usr/sbin/in.telnetd = no socket_type

log_on_failure += USERID only_from = 192.168.1.100 127.0.0.1 192.168.1.200

2.5.VNC Server (Virtual Network Computing)
2.5.1. Khái niệm VNC VNC (Virtual Network Computing) là một phương pháp điều khiển từ xa máy tính với giao diện đồ họa, nhìn chung tương tự như Remote Desktop trong Windows. 2.5.2. Cài đặt

Kiểm tra VNC và VNC Server đã được cài hay chưa

# rpm -qa | grep vnc vnc-server-4.1.2-23.fc8 vnc-4.1.2-23.fc8

Nếu chưa có chúng ta có thể cài đặt như sau :

# yum –y install vnc-server ( Trường hợp máy có kết nối Internet )
Khoa CNTT – 05CDTH2 Trang 145

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux # rpm –ivh vnc-4_1_2-x86_linux.rpm ( Không kết nối Internet ) 2.5.3. Cấu hình Giả sử ta đã có một user là duyvu721 trên máy, ta sẽ cấu hình VNC Server để truy cập từ xa vào máy bằng user này. Mở file /etc/sysconfig/vncservers, nơi chứa thông tin khởi tạo của VNC, chỉnh sửa như sau VNCSERVERS="3:duyvu721" VNCSERVERARGS[3]="-geometry 1024x768 -depth 16"

Nghĩa là VNC server khởi động với user duyvu721 ở display 3, ngoài ra ta còn có thể cấu hình độ phân giải (resolution) và độ sâu màu (color depth). Mỗi một instance của VNC sẽ nghe ở cổng (5900 + display number), như vậy theo cấu hình trên VNC server của user duyvu721 sẽ nghe cổng 5903. Có thể tạo ra nhiều instance VNC cho các user khác nhau như ví dụ sau VNCSERVERS="1:quoccong VNCSERVERARGS[1]="-geometry VNCSERVERARGS[2]="-geometry 2:quocchien 1024x768 800x600 -depth -depth 3:vanduan" 16" 8"

VNCSERVERARGS[3]="-geometry 1024x768 -depth 16"

Các VNC instance tương ứng với từng user sẽ nghe lần lượt ở các cổng 5901, 5902 và 5903. Khởi động lại VNC server # service vncserver restart

Có thể thiết lập để VNC luôn chạy lúc khởi động # chkconfig vncserver on
Khoa CNTT – 05CDTH2 Trang 146

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Trong account của user, gõ lệnh : $ vncpasswd Nhập password mới để truy cập từ xa. 2.5.4. Sử dụng VNC Viewer • Dòng lệnh trên Linux thế này # vncviewer 192.168.100.11:5903 • Trên Windows - Khởi động VNC Viewer : Nhập vào địa chỉ kết nối tới server và display tương ứng của từng USER.  Click OK.

Hình 2.1 : Kết nối VNC Server

- Màn hình kế tiếp ta nhập vào password kết nối tới VNC Server tương ứng của từng USER.  Click OK.

Hình 2.2 Đăng nhập user

- Màn hình sau khi đăng nhập thành công VNC Server
Khoa CNTT – 05CDTH2 Trang 147

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.3 Đăng nhập thành công

2.5.5. Cấu hình VNC qua SSH • Một phần vì password kết nối qua VNC không được bảo mật cũng như tất cả lệnh, và thông tin không được mã hoá qua kết nối. Trong một mạng LAN ở nhà, đó không phải là vấn đề lắm, nhưng tôi khuyến cáo rằng, bạn không nên thực hiện nó qua mạng Internet. Trong bài viết này ta sẻ kết nối từ Windows Client kết đến Fedora Server chạy vncserver.

Ưu diểm của việc tunneling qua SSH - Phiên làm việc được hoàn toàn mã hoá. - Không cần mở port 5900+ trên máy cần remote vì đã được tunnel qua SSH

(default: port 22) và vì vậy cũng không phát hiện được là bạn đang VNC tới máy đích. - Bước 1 : khởi động trình SSH Client Putty

Khoa CNTT – 05CDTH2

Trang 148

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.4 Cấu hình SSH Client

- Bước 2 :Cấu hình đị chỉ Host Name hay IP Address và port tương ứng với dịch vị SSH, điền tền mô tả về Sesions  Save. - Bước 3 : Ta chọn thẻ connection  SSH  Tulnels : Tại đay ta điền Port và địa chỉ IP tương ứng  nhấn Add

Khoa CNTT – 05CDTH2

Trang 149

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.5 Cấu hình VNC thông qua SSH

- Bước 4 : Ta về lại thẻ Sesion Save lại lần nưa  Open. Sau đó ta nhập User và Pasword đăng nhập SSH Server.

Hình 2.6 Đăng nhập SSH

Khoa CNTT – 05CDTH2

Trang 150

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bước 5 : Ta dùng VNC Viewer kết nối vào VNC Server  Sau khi đăng nhập thành công ta được như sau :

Hình 2.7 Đăng nhập thành công

2.6.SSH Server (Secure Shell)
Có rất nhiều người muốn biết mật khẩu của người dùng root để xâm nhập vào hệ thống nhằm mục đích phá hoại hệ thống hay tìm kiếm những thông tin nào đó. Chương trình telnet trong Linux cho phép người dùng đăng nhập vào hệ thống Linux từ xa, như nó có khuyết điểm của chương trình này là tên người dùng và mật khẩu gởi qua mạng không được mã hóa. Do đó, nó rất dễ bị những người khác nắm giữ và sẽ là mối nguy hiểm cho hệ thống. Phần mềm Secure Remote Access là một sự hỗ trợ mới của Linux nhằm khắc phục nhược điểm của telnet. Nó cho phép bạn đăng nhập vào hệ thống Linux từ xa và mật khẩu sẽ được mã hóa. Vì thế, SSH an toàn hơn nhiều so với telnet 2.6.1. Cài đặt SSH Server trên Server Linux Dùng lệnh rpm để cài package openssh-server. *.rpm rpm -ivh opensshserver.*.rpm Tập tin cấu hình /etc/ssh/sshd_config và /etc/ssh/ssh_config. Để start hay stop server dùng lệnh sau: /etc/init.d/sshd start/stop/restart 2.6.2. Sử dụng SSH Client trên Linux

Khoa CNTT – 05CDTH2

Trang 151

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Trên client(Linux hoặc Unix) dùng lệnh ssh để login vào server. Cú pháp của lệnh: $ssh [tùy_chọn] [tên/IP_máy] [tùy_chọn] [lệnh]
Ví dụ:

$ssh [-l ] <tên_user> <ssh_address>

2.6.3. Sử dụng SSH Client trên Windows Một trong các chương trình ssh client miễn phí xuất sắc là PuTTY có thể tải về từ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html . Sau khi tải về ta chỉ cần double click vào biểu tượng PuTTY để khởi động và nhập vào các tham số như dưới đây:
Thẻ Session:

Hình 2.8 Thẻ Session

Host Name (or IP address) 203.210.218.12 là địa chỉ public của remote server Port 8022 là TCP Port của SSH

Khoa CNTT – 05CDTH2

Trang 152

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Connetion type: chọn kiểu kết nối phù hợp, trong trường hợp này bạn chọn SSH.
Thẻ Windows : bạn click vào mục Windows bên tay trái để hiệu chỉnh cửa sổ windows sẽ xuất hiện mà bạn làm việc khi mở kết nối.

Colums : qui định số cột của cửa sổ Rows : qui định số dòng của cửa sổ

Hình 2.9 Thẻ Windows

-

Thẻ Connection.

Để sử dụng proxy cho kết nối từ xa này, bạn chọn Connection > Proxy: Proxy type : chọ loại proxy phù hợp. Proxy hostname vào port : chỉ định tên của proxy server và port mà proxy này sử dụng. Username và Password : nhập tên và mật khẩu của proxy server (nếu có)
Khoa CNTT – 05CDTH2 Trang 153

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 2.10 Thẻ Proxy

Sau khi cấu hình xong PuTTY, bạn click chọn Open để mở kết nối. Khi xuất hiện dòng chữ “login as” , bạn nhập vào một tài khoản để đăng nhập vào hệ thống, sau đó nhập mật khẩu tương ứng với tài khoản dùng đăng nhập, ví dụ như sau :

Hình 2.11 Đăng nhập từ xa

Khoa CNTT – 05CDTH2

Trang 154

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

3.

Cài đặt, cấu hình và sử dụng NFS (Network File System)
3.1.Giới thiệu
Giao thức NFS cho phép một máy tính nào đó truy cập một đĩa hoặc một máy tính khác trong cùng một mạng ở chế độ trong suốt. Có nghĩa là đĩa cứng có thể bị truy cập một cách dễ dàng nếu đĩa cứng đó thuộc một máy địa phương trong mạng. Ðể truy cập một đĩa cứng thông qua mạng, đĩa cứng đó phải được cài đặt NFS trên máy địa phương đó. NFS gồm ba thành phần chính: - Những hệ thống tệp nào muốn mount bằng NFS phải nằm trên máy có khả năng liên lạc với nhau qua mạng TCP/IP. - Bản thân chiếc máy có hệ thống tệp mà bạn định coi như là hệ thống tệp tại chỗ, thì hệ thống tệp ấy phải được mount. Chiếc máy này sẽ giữ vai trò máy chủ (server) và tiến trình làm cho hệ thống tệp của server có thể sử dụng từ xa được gọi là xuất khẩu hệ thống tệp. - Máy nào muốn mount bộ hệ thống tệp được xuất khẩu gọi là máy khách (client). Máy khách phải mount hệ thống tệp dưới dạng tệp NFS qua tệp /etc/fstab lúc khởi động, hoặc dưới dạng tương tác qua lệnh mount.

3.2.Chia sẻ hệ thống tập tin bằng NFS
Có 2 bước cơ bản sau:

Về phía NFS server, liệt kê một hay nhiều thư mục vào tập tin /etc/exports

và gọi dòng lệnh /usr/sbin/exportfs. Ngoài ra ta phải chạy NFS server (làm việc này bằng cách đăng nhập bằng root, gọi dòng lệnh service nfs start)

Trên mỗi hệ thống máy khách, sử dụng lệnh mount để nhận thấy các thư

mục đã được máy chủ đưa ra.
Khoa CNTT – 05CDTH2 Trang 155

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Muốn sử dụng NFS, các hệ thống máy khách (client) phải hỗ trợ nó.Hầu

hết các máy tính cá nhân thường không hỗ trợ, nếu muốn chia sẻ tập tin bằng NFS thì phải mua phần mềm NFS của hãng khác.Tuy nhiên nếu tất cả các máy tính trong mạng LAN chạy hệ điều hành Linux hay hệ điều hành khác cùng họ với UNIX đều đã được hỗ trợ NFS thì việc sử dụng NFS sẽ dễ dàng hơn. Lưu ý: Độ an toàn của NFS không cao, có thể bị tấn công được, vì thế không nên cài đặt NFS trên hệ thống có kết nối trực tiếp với Internet. Chúng ta sẽ làm ví dụ trên 2 máy tính chạy hệ điều hành Linux trên cùng mạng LAN.

3.3.Sử dụng tiện ích NFS Server Configuration
Để mỏ tiện ích NFS Server Configuration, chọn System Setttings > Server Settings > NFS

Hình 3.1 : Giao diện chính NFS

Click Add chọn tập tin thư mục cần chia sẻ. • Thẻ Basic: Directory: nhập đường dẫn của tập tin thư muc muốn chia sẻ Host(s): nhập tên máy Basic Permission: quyền trên tập thư mục cần chia sẻ Read - only: quyền chỉ đọc.
Khoa CNTT – 05CDTH2 Trang 156

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Read/ write: quyền đọc ghi.

Hình 3.2 : thêm thư mục chia sẻ

• Thẻ General Options: Allow connection from port 1024 and higher: cho phép các kết nối từ cổng 1024 và lớn hơn. Allow ínsecure file locking: cho phép khóa tập tin không an toàn. Disable substree checking: Sync write operations on request: đồng bộ các thao tác ghi . Force sync of write operation immediately: bắt buộc đồng bộ các thao tác ghi dữ liệu ngày lập tức. Hide filesystems beneath: ẩn các tập tin hệ thống cấp thấp. Export only if mounted: chỉ chia sẻ nếu được được mount.

Khoa CNTT – 05CDTH2

Trang 157

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 3.3 Các tùy chọn nâng cao

• Thẻ User Access: cấu hình các tài khoản truy cập. Treat remorte root user as local root: cho phép tài khoản root điều khiển từ xa như tài khoản root ở cục bộ. Treat all client users as anonymous users : đối xử tất cả các client như các người dùng ẩn danh. Local user ID for anonymous users: định danh người dùng cục bộ cho tài khoản anonymous. Local group ID for anonymous users: định danh nhóm cục bộ cho tài khoản anonymous.

Hình 3.4 Cấu hình truy cập user

Cuối cùng, chọn OK để hoàn thành.
Khoa CNTT – 05CDTH2 Trang 158

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 3.5 Sau khi cấu hình chia sẻ xong

4.

Cài đặt, cấu hình và sử dụng Web Samba
4.1.Giới thiệu
Samba là chương trình tiện ích hỗ trợ việc chia sẻ tài nguyên từ hệ thống Linux với các hệ thống khác(Linux, Windows), nó hỗ trợ tính năng gia nhập(join) Linux với Windows như gia nhập Linux vào PDC trên Windows, gia nhập vào Windows Workgroup,… Bộ Samba gồm nhiều thành phần. Daemon mang tên smbd cung cấp dịch vụ in ấn và tập tin. Tập tin cấu hình của Daemon này là smb.conf, còn daemon nmbd thì hỗ trợ dịch vụ tên NETBIOS, cho phép các máy tính khác truy cập và sử dụng các tài nguyên được cấp bởi máy chủ Samba Trình smbclient, một thành phần khác của bộ Samba, hoạt động như một client bình thường giống như ftp. Trình tiện ích này dùng khi bạn truy cập những tài nguyên trên các server tương thích khác.

4.2.Cài đặt và cấu hình bằng giao diện

Khoa CNTT – 05CDTH2

Trang 159

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để có thể chia sẻ tài nguyên giữa các máy tính sử dụng hệ điều hành Window và các máy tính sử dụng hệ điều hành Linux(Fedora Core),ta sẽ dùng chương trình SAMBA (có sẵn trong các bản phân phối Linux,ở đây ta dùng RedHat Fedora Core) để làm việc này. Gói chương trình SAMBA gồm các thành phần chủ yếu sau: /etc/samba/smb.conf: tập tin cấu hình SMB Server. /etc/samba/smbusers: tập tin lưu các tên người dùng Samba ứng với các tài khoản có trên máy cục bộ Fedora Core. • server. • nmblookup : dòng lệnh trả về địa chỉ IP của PC Windows qua tên nmbd : tên server (NETBIOS),giúp cho các client tìm kiếm các máy

NETBIOS của nó. • • smbadduser : chương trình thêm người dùng vào tập tin mật khẩu smb. smbcacls: chương trình thao tác với danh sách các điều khiển việc truy

cập (ACLs) trên các tập tin đã được chia sẻ. • smbclient : là Windows client chạy trên Linux cho phép Linux truy cập

các tập tin, tài nguyên hay máy in được chia sẻ trên bất kì Windows server nào. • winbindd. • smbd : đây là SMB server cho phép các kết nối từ Windows client và smbcontrol :chương trình gửi các thông điệp tới smbd,nmbd hay

cung cấp dịch vụ chia sẻ tập tin và máy in. • smbmount : chương trình dùng để mount một thư mục chia sẻ bởi

Samba trên Fedora Core PC. • SMB.
Khoa CNTT – 05CDTH2 Trang 160

smbpasswd: chương trình dùng thay đổi mật khẩu cho một người dùng

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • • • smbprint: đoạn mã cho phép thao tác in trên một máy in ở SMB server. smbstatus: dòng lệnh liệt kê các kết nối SMB hiện tại trên máy hiện tại. smbtar: chương trình sao lưu tập tin chia sẻ SMB trực tiếp vào ổ băng

đĩa từ trên. • mount. • testparm: chương trình dùng để kiểm tra tập tin cấu hình Samba có chính smbumount: chương trình unmount một thư mục chia sẻ SMB đã được

xác hay không.
• winbindd: chương trình dùng phân giải tên của Window server.

4.2.1. Cài đặt
Kiểm tra cài xem Samba đã được cài đặt hay chưa bằng dòng lệnh: rpm –q samba

Hình 4.1 Kiểm tra gói samba đã được cài chưa

Nếu Samba chưa được cài đặt, ta làm như sau: • Đăng nhập bằng tài khoản root,đưa đĩa CD hay DVD cài đặt Fedora Core vào, gõ lệnh: mount /mnt/cdrom • Di chuyển đến thư mục chứa tập tin cài đặt samba: cd /mnt/cdrom/Fedora/RPMS • Gọi lệnh cài đặt Samba
Trang 161

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux rpm –ivh samba*
• Sau khi cài đặt,ta phải cấu hình Samba trước khi sử dụng nó.

4.2.2. Cấu hình Để cấu hình Samba dễ dàng, ta sử dụng công cụ Samba Server Configuration. Chọn Main Menu > System Settings>Server Settings>Samba. -Nhập mật khẩu root nếu chưa đăng nhập bằng tài khoản root. Click vào nút Add. Hộp thoại Create Samba Share xuất hiện. Thẻ Basic : chỉ định tài nguyên cần chia sẻ. • Directory: nhập đường dẫn của tài nguyên cần chia sẻ.Click Browse để chọn. • Description: dòng mô tả cho tài nguyên cần chia sẻ. • Basic Permissions: chỉ định quyền trên tài nguyên được chia sẻ. • Read-only: quyền chỉ đọc. • Read/Write: quyền đọc và ghi.

Hình 4.2 Thẻ Basic

Thẻ Access: chọn các tài khoản được phép truy cập.
Khoa CNTT – 05CDTH2 Trang 162

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux o Only allow access to specific users:chỉ cho phép những người dùng cụ thể truy cập. o Allow access to everyone: cho phép mọi người truy cập.

Hình 4.3 Thẻ Access

Chọn OK để thiết lập. Để đặt tên cho Samba Server trong workgroup,chọn Preferences ->Server Settings trong công cụ Samba Server Configuration .

Hình 4.4 Đặt tên nhóm cho máy samba

Khoa CNTT – 05CDTH2

Trang 163

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Các thông tin cấu hình này sẽ được lưa vào trong tập tin /etc/samba/smb.conf Thẻ Security trong hộp thoại Server Setting: chỉ định cách Authentication Mode: cách chứng thực khi truy cập chia sẻ bởi Samba. • User:yêu cầu nhập username và password khi truy cập các tập tin chia sẻ bởi Samba. • ADS: Samba Server hoạt động như một thành viên domain trong một Active Directory Domani(ADS). • Domain: Samba Server dựa vào các tài khoản trên Windows Primary hay Backup Domain Controller. Tên NetBIOS của Primary hay Backup Domain Controller khác được nhập trong mục Authentication server. Nếu mục này được chọn thì tuỳ chọn Encypted Passwords phải được chọn là yes. • Server: Samba Server thử xác nhận username và password trên một Samba Server khác, nếu không được Samba Server sẽ sử dụng cách chứng thực User.Tên NetBIOS của Samba server khác được nhập trong mục Authentication server. • Share: không cần nhập username và password đăng nhập . • Authentication server:chứng thực theo server. Encrypt Passwords: mã hóa mật khẩu (yes: chấp nhận, no: không cần mã hóa) • Guest Account:Chọn tài khoản guest được phép truy cập.

Khoa CNTT – 05CDTH2

Trang 164

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.5 Thẻ seccurity trong server settings

Để thêm các tài khoản được phép truy cập chia sẻ bởi Samba,chọn Preferences>Samba Users trong công cụ Samba Server Configuration để mở hộp thoại Samba Users. • Add User :để thêm một user. • Edit User: chỉnh sửa user đã tồn tại. • Delete User: xóa user.

Hình 4.6 Hộp thoại samba user

Điền đầy đủ thông tin trong hộp thoại Create New Samba User.
Khoa CNTT – 05CDTH2 Trang 165

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Unix Username: chọn tài khoản trên Linux PC. • Windows Username: nhập tên tài khoản trên Windows PC. • Samba Password: đặt mật khẩu cho Samba. • Confirm Samba Password:nhập lại mật khẩu cho Samba.

Hình 4.7 Hộp thoại create new samba user

Sau đó chọn OK để hoàn thành,hay Cancel để hủy bỏ. Tiếp tục chọn OK để đóng hộp thoại Samba Users.

Hình 4.8 : Thông tin về thư mục chia sẻ

Khoa CNTT – 05CDTH2

Trang 166

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi cấu hình xong các tài nguyên được chia sẻ, ta kiểm tra lại các tập tin cấu hình đã đúng hay chưa bằng dòng lệnh: testparm

Hình 4.9 Thông tin các tập tin cấu hình

Lưu ý: để khởi động dịch vụ Samba tự động khi khởi động hệ thống, gõ dòng lệnh:
chkconfig –level 35 on

4.3.Cài đặt và cấu hình bằng dòng lệnh
4.3.1. Cài đặt Gói phần mềm Samba có thể lấy từ đĩa CD của hệ điều hành RedHat hoặc download từ website www.Samba.org. Phiên bản của Samba cũng được thay đổi thường xuyên, hiện đã có phiên bản 2.2.1. Bài viết này lấy phiên bản 2.0.7 có sẵn trên đĩa Redhat 7.1 làm ví dụ. Gói Samba trên đĩa RedHat được đóng gói theo chuẩn RPM (Redhat Package Manager) và được lưu tại thư mục /mnt/cdrom/Redhat/RPMS/. Các bước cài đặt như sau: # mount /mnt/cdrom ; mount file system của ổ CD
Khoa CNTT – 05CDTH2 Trang 167

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux #cd /mnt/cdrom/Redhat/RPMS # rpm # rpm
# rpm

-Uvh Samba-common-2.0.7-8.i386.rpm -Uvh Samba-2.0.7-8.i386.rpm
-Uvh Samba-client-2.0.7-8.i386.rpm

4.3.2. Cấu hình Tập tin cấu hình /etc/samba/smb.conf. Đây là một tập tin có dạng text. Các thành phần trong file cấu hình:
Thành phần Giải thích

[global]

Chứa các tham số cấu hình chung của samba
server.

[printers] [homes] [netlogon] 4.3.2.1. Đoạn [global]

Chứa các tham số sử dụng cho việc cấu hình
máy in. Chỉ định SMB chia sẻ thư mục home directory của user.

Chia sẻ logon script.

Đoạn [global] kiểm soát tham số của toàn bộ server smb và cung cấp giá trị mặc định cho những đoạn khác. Sau đây là những dòng (trích từ trong danh sách 15.1) có thể cần giải thích kỹ hơn. [global] workgroup = LINUX server string = Samba Server hosts allow - 192.168.1.192.168.2.127. include = /etc/samba/smb.conf %m socket options = TCP_NODELAY SO_RCVBUF = 8192 SO_SNDBUF=8192
Khoa CNTT – 05CDTH2 Trang 168

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Dòng đầu tiên của đoạn [global] cho biết chiếc máy này sẽ thuộc về nhóm làm việc LINUX. Kế đến là các thông tin về máy chủ Samba như địa chỉ IP của nó v.v. load printers = yes printcap name = /etc/printcap printing = lprng Dòng đầu ở bên trên cho biết máy chủ của bạn cần tải nạp hệ thống in ấn lên mạng, dòng tiếp theo cho biết vị trí của tệp cấu hình máy in, dòng cuối cho biết kiểu in của hệ thống (một trong các giá trị: bsd, sysv, plp, lprng, aix, hpux, qnx) guest account = pcguest log file = /var/log/samba/smb.%m max log size = 50 Những dòng trên cung cấp: - username cho một trương khoản client trên server của bạn. Trương khoản này dùng để nhận diện những user nào được dùng các dịch vụ Samba dành cho client. - vị trí của tệp ký sự (log file) cho từng client nào muốn truy cập dịch vụ Samba. Biến viết tắt %m bắt server Samba tạo ra cho mỗi client một tệp log riêng biệt. - kích cỡ tối đa cho những tệp log đã được tạo ra (giá trị tính bằng kB). Tuỳ theo phiên bản và hệ điều hành, các biến viết tắt có thể khác nhau. Bảng sau giới thiệu các biến số sử dụng cho Samba: Biến %S %P %u %g %U %G %H %v %h Ý nghĩa Tên của dịch vụ hiện hành, nếu có. Thư mục gốc của dịch vụ hiện hành, nếu có. Tên user của dịch vụ hiện hành, nếu có. Tên của nhóm chính của %u. Tên phiên làm việc của user Tên của nhóm chính của %U. Thư mục gốc của user (%u) Phiên bản của Samba. Tên của host mà samba đang chạy.
Trang 169

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux %m %L %M %N %p %R %d %I %a Tên NetBIOS của máy client (rất thường dùng) Tên NtBIOS của máy chủ. Tên Internet của máy client. Tên của máy chủ NIS. Đường dẫn đến thư mục gốc của dịch vụ. Giá trị auto.map có thể coi là gồm %N:%p Mức giao thức đã chọn sau khi trao đổi về giao thức. Có thể nhận các giá trị CORE, COREPLUS, LANMAN1, LANMAN2 hay NT1. Chỉ số (ID) của tiến trình máy chủ hiện hành. Địa chỉ IP của máy client. Kiến trúc của máy từ xa. Chỉ có một số máy từ xa là được công nhận Samba, WfWg, Win95, WinNT và Win2k. Các hệ khác sẽ được coi là %T %$ "UNKNOWN". Ngày và giờ hiện hành. (envvar) Giá trị của biến môi trường envar.

Tiếp theo là những dòng xác định chế độ bảo mật của hệ thống Samba: security = user ; password server = WINDOWSNT ; password level = 8 encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password*%n\n*ReType*new*UNIX*pass word*%n\n*passwd:*all*authentication*tokens*updated*successfully* Mục security có một trong 4 giá trị: share: Tương tự chế độ bảo mật của Windows 9x File/Print server. User chỉ cần cung cấp password của tài nguyên. user: Cặp user/password sẽ được máy chủ kiểm tra.

Khoa CNTT – 05CDTH2

Trang 170

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux server: Việc lượng giá user/password sẽ do một máy chủ password xác định (được chọn thông qua mục password server - ở đây là có tên là WINDOWSNT). domain: Về cơ bản, mức bảo mật này giống như mức bảo mật server trừ một việc là máy chủ Samba phải là thành viên của một Windows NT domain. Mục encrypt passwords cho biết cần hay không cần mã hoá các mật khẩu khi đăng nhập vào máy chủ Samba. Từ Windows 98 SE cùng với các Security Patch, Microsoft mã hoá mọi mật khẩu khi gửi từ một máy trạm Windows 9x/2000/NT đến một máy chủ bất kỳ. Do đó, nếu bạn chọn giá trị “no” thì máy chủ server sẽ không chấp nhận sự đăng nhập của bất kỳ user nào. Chú ý rằng, nếu giá trị là yes (true) thì chỉ có các user có password trong tệp /etc/samba/smbpasswd là có thể thấy máy chủ Samba. Tiếp theo là các tham số môi trường cho máy chủ Samba: ; interfaces = 192.168.12.2/24 192.168.13.2/24 ; remote browse sync = 192.168.3.25 192.168.5.255 ; remote announce = 192.168.1.255 192.168.2.44 ; local master = no ; os level = 33 ; domain master = yes ; preferred master = yes ; domain controller = <NT-Domain-Controller-SMBName> ; domain logons = yes ; logon script = %m.bat ; logon script = %U.bat ; logon path = \\%L\Profiles\%U ; name resolve order = win lmhosts bcast ; wins support = yes ; wins server = w.x.y.z
Khoa CNTT – 05CDTH2 Trang 171

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ; wins proxy = yes ; dns proxy = no ; preserve case = no ; short preserve case = no ; default case = lower ; case sensitive = no Các giá trị trên dùng để xác định môi trường hoạt động của máy chủ Samba: -Có hoạt động như một máy chủ WINS không ("wins support = "), -Chỉ rõ hay không địa chỉ IP và netmask của giao tiếp mạng ("interfaces="), -Sử dụng một máy chủ WINS khác ("wins server="), -v.v. Các tham số preserve case và short preserve case cho server Samba biết phải ghi lại chữ thường hoặc chữ hoa khi có thông tin được ghi vào server. Việc này quan trọng bởi vì tên tệp của Windows không nhất thiết phải phân biệt dạng chữ thường hay chữ hoa, trong khi Linux lại phân biệt hẳn hoi. 4.3.2.2. Đoạn [homes] Đoạn [homes] giúp các client kết nối với home directory của mình trên server mà không cần phải có mục ghi rõ ràng trong tệp smb.conf. Khi user phát đi yêu cầu sử dụng dịch vụ, server Samba sẽ tìm trong tệp smb.conf đoạn tương ứng với dịch vụ được yêu cầu. Nếu không tìm ra mục ghi đó, Samba kiểm tra xem có đoạn [homes] không. Nếu có, Samba xem tên của mục được yêu cầu như là tên của user đó và tiếp tục dò tìm trong tệp mật khẩu. Nếu tên của user đó tồn tại và mật khẩu tương ứng là đúng, thì home directory của user ấy sẽ được mang ra chia sẻ trên mạng dựa vào các giá trị trong đoạn[homes]. [homes] comment = Home Directories
Khoa CNTT – 05CDTH2 Trang 172

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux path = %H read only = No valid users = %S only users = yes browseable = no writable = yes create mask = 0775 directory mask = 0775 Mục comment hiển thị cho client biết những phần nào họ được dùng chung (phần chia sẻ). Mục browseable bảo Samba cách hiển thị phần chia sẻ trên danh sách duyệt mạng. Mục read-only kiểm tra xem một user nào đó có quyền tạo ra và thay đổi tệp trong home directory của mình khi home directory ấy đang được chia sẻ trên mạng. Mục create mask sẽ kiểm tra xem trong số những tệp được tạo ra trong thư mục chia sẻ, thì tệp nào được phép (quyền hạn) gì. 4.3.2.3. Đoạn [printers] [printers] comment = All Printers path = /var/spool/samba browseable = no # Set public = yes to allow user ‘guest account' to print public = no guest ok = no writable = no printable = yes create mask = 0700

Khoa CNTT – 05CDTH2

Trang 173

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Đoạn [printers] cho biết các dịch vụ in sẽ được kiểm tra ra sao trong trường hợp không có mục tương ứng trong tệp smb.conf. Giống như ở đoạn [homes], nếu không có mục đặc biệt nào, Samba dùng đoạn [printers] để cho phép user kết nối với các máy in được xác định trong tệp /etc/printcap. Các mục ghi comment, browseable và create mask cũng cùng ý nghĩa với những gì đã giải thích tại đoạn [homes]. Mục path cho biết vị trí của tệp spool để sử dụng khi cung cấp dịch vụ in qua SMB. Nếu được bật sang "yes", giá trị printable cho biết máy in sử dụng được. Mục public cho biết trương khoản "guest" có được phép in hay không (theo phiên bản mới bạn thay bằng mục guest ok = ''). 4.3.2.4. Chia sẻ thư mục Sau khi lập cấu hình mặc định cho server Samba, bạn có thể tạo ra nhiều thư mục dùng chung (thư mục chia sẻ) và quyết định xem cá nhân nào, hoặc nhóm nào được phép sử dụng chúng. Thí dụ bạn muốn thư mục pladir chỉ dành riêng cho user leduan mà thôi. Bạn cần viết ra một đoạn mới và ghi các thông tin cần thiết vào: khai báo user, đường dẫn đến thư mục, cùng với thông tin cấu hình cho server SMB như sau: [pladir] comment = Pla's remote source code directory path = /usr/local/src valid users = leduan browsable = yes public = no writable = yes create mask = 0700

Khoa CNTT – 05CDTH2

Trang 174

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Đoạn trên đây đã tạo ra một thư mục chia sẻ mang tên plasdir. Đường dẫn đến thư mục này trên server tại chỗ là /usr/local/src. Vì mục browseable được khai báo "yes", danh sách duyệt mạng sẽ có tên là plasdir. Nhưng vì mục public lại là "no" nên chỉ có user tên là lan_anh mới có quyền dùng Samba để vào ra thư mục. Muốn cho ai được truy cập, bạn chỉ cần liệt kê họ tại thư mục valid users.

4.4.Kiểm nghiệm tệp smb.conf
Sau khi tạo ra tệp cấu hình, bạn nên dùng chương trình testparm để kiểm tra lại xem tệp có đúng đắn hay không. Nếu testparm báo cáo không vấn đề gì, bạn có thể yên tâm rằng smbd sẽ nạp tệp cấu hình một cách đúng đắn. Ghi chú: Chương trình testparm không bảo đảm rằng những dịch vụ đã khai báo trong tệp cấu hình sẽ sẵn có trên mạng hoặc sẽ chạy như mong muốn. Dùng lệnh testparm như sau: testparm [tệp_cấu_hình][hostname hostip] Với tệp_cấu_hình là vị trí thực sự của tệp smb.conf nếu tệp ấy không nằm ở vị trí mặc định (/etc/samba/smb.conf). Tham số hostname hostIP bắt testparm kiểm tra xem máy chủ có quyền truy cập các dịch vụ được khẳng định trong tệp smb.conf hay không. Thí dụ sau đây trình bày những gì máy sẽ hiển thị sau khi chạy lệnh testparm. Nếu tệp smb.conf có lỗi, chương trình sẽ cho biết đó là những lỗi gì. [tl@submail t1]$ testparm Load smb config files from /etc/samba/smb.conf Processing section "[home]" Processing section "[printers]" Loaded services file OK Press enter to see a dump of your service definitions

Khoa CNTT – 05CDTH2

Trang 175

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Khi bạn bấm phím <Enter>, testparm sẽ bắt dầu đánh giá từng đoạn được khai báo trong tệp cấu hình.

4.5.Sử dụng smbclient
Chương trình smbclient cho phép các user của Linux truy cập những phần chia sẻ SMB trên máy khác, nhất là các máy chạy Windows. Vì muốn dùng các tệp trên những máy Linux khác, bạn có thể sử dụng nhiều phương pháp như FTP, NFS và các lệnh r- (như rcp). Smbclient có một giao diện giống như FTP để bạn chuyển tệp sang một máy khác đang dùng server SMB. Điều đáng tiếc là smbclient không làm được như NFS, nghĩa là không cho phép bạn mount một chia sẻ khác vào thư mục tại chỗ. Để mount một thư mục cho dịch vụ Samba, bạn thường dùng smbmount hơn là dùng mount -t smbfs. Smbclient cung cấp các tuỳ chọn dòng lệnh để yêu cầu server chia sẻ thư mục hoặc trao đổi tệp. Để biết thêm thông tin về các tuỳ chọn này, mời bạn xem trang man dành cho smbclient. Lệnh sau đây sẽ hiển thị mọi phần chia sẻ trên máy win.netwharf.com: smbclient - L -I win.netwharf.com Tham số -L hiển thị danh sách. Tham số -I bắt smbclient xử lý máy win.netwharf.com như là một mục ghi DNS chứ không phải mục NetBIOS. Muốn chuyển tệp, trước tiên bạn phải kết nối với server Samba bằng lệnh: smbclient '\\WORKGROUP\PUBLIC' -I win.netwharf.com -U lan_anh Tham số '\\WORKGROUP\PUBLIC' xác định dịch vụ từ xa trên máy phía bên kia. Thông thường, đó là một thư mục hệ thống tệp hoặc một máy in. Tuỳ chọn -U giúp bạn xác định username mà bạn muốn kết nối. Samba sẽ hỏi bạn mật khẩu (nếu trương khoản ấy đòi mật khẩu), sau đó sẽ hiện ra dấu nhắc. smb:\
Khoa CNTT – 05CDTH2 Trang 176

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux với \ là thư mục hiện hành. Từ dòng lệnh này, bạn có thể ra bất kỳ lệnh nào được liệt kê ở bảng sau. Bảng 15.1: Các lệnh smbclient Lệnh ? hoặc help Tham số [lệnh] Mô tả Hiển thị thông báo trợ giúp tương ứng với lệnh, hoặc trong trường hợp không có lệnh ! cd [lệnh dạng shell] [thư mục] thì cho thông báo trợ giúp tổng quát. Thực thi lệnh shell hoặc đưa user về dấu nhắc shell. Chuyển về thư mục trên server (chứ không phải trên máy tại chỗ). Nếu thư mục không được xác định, smbclient sẽ báo thư mục lcd [thư mục] hiện hành. Chuyển về thư mục trên máy tại chỗ. Nếu thư mục không được xác định, smbclient sẽ del [các tệp] báo thư mục hiện hành trên máy tại chỗ. Những tệp được khai báo sẽ bị xoá khỏi server, nếu user được quyền thực hiện thao dir hoặc ls exit hoặc quit get [các tệp] tác này. Có thể dùng ký tự wildcard. Liệt kê các tệp được chọn. Có thể dùng lệnh

ls để có danh sách các tệp. không có Thoát khỏi chương trình smbclient. [thư mục][tên tại Truy cập tệp từ xa và sao lưu vào server tại chỗ] chỗ. Nếu có tên tại chỗ, tệp sẽ được sao lưu với chính tên tại chỗ, thay vì sao lưu với tên trên server từ xa. Sao chép mọi tệp được xác định vào máy tại chỗ. Tạo thư mục trên máy từ xa. Xoá thư mục trên máy từ xa. Sao chép tệp từ máy tại chỗ vào server.
Trang 177

mget md

[các tệp] hoặc [thư mục] [thư mục] [tệp]

mkdir rd hoặc rmdir put

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux mput print queue [các tệp] [tệp] không có Sao chép mọi tệp từ máy tại chỗ vào server. In tệp trên máy từ xa. Liệt kê mọi công việc in ấn đang xếp hàng chờ trên server từ xa.

4.6.Samba trong môi trường X
Trong môi trường đồ hoạ Windows, bạn có thể truy cập vào các thư mục của Samba trên máy Linux thông qua Network Neighborhood hay Windows Explorer. Trong môi trường Linux dạng văn bản, bạn sử dụng smbclient (xem mục 15.4) Trong môi trường X (GNOME hay KDE), bạn có thể gọi trình duyệt Nautilus. Với GNOME, bạn chọn Main Menu Button => Programs => Applications => Nautilus. Khi cửa sổ của trình Nautilus hiện ra, bạn gõ smb: tại thanh địa chỉ (location toolbar)) Trên cửa sổ bạn sẽ thấy nhiều biểu tượng mà mỗi biểu tượng biểu hiện cho một SMB workgroup trên mạng. Bạn chỉ cần bấm đúp lên biểu tượng thích hợp để truy cập. Minh hoạ 15.1: Truy cập thư mục chia sẻ bởi Samba. Nếu thư mục đó đòi phải đăng nhập như một user với mật khẩu, bạn cần nhập vào thanh địa chỉ theo mẫu sau: smb://user:password@servername/sharename/ Bạn cần thay user, password, servername, sharename bằng các giá trị tương ứng.

4.7.Sử dụng
Để thử truy cập vào Samba server trên hệ thống Fedora Core từ một Windows hệ thống trong mạng LAN. Đối với Windows 95/98/Me: doube-click vào biểu tượng Network Neighborhood trên Desktop.
Khoa CNTT – 05CDTH2 Trang 178

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Đối với Windows XP: chọn Start>My Network Places > View Workgroup Computer. Tất cả các máy tính có trong workgroup sẽ được hiển thị. Nếu thấy Samba Server, doube-click vào biểu tượng của nó để mở, sau đó nhập Samba username và Samba password đã tạo.

Hình 4.10 Truy cập Samba

Nếu các thông tin trên là chính xác, ta sẽ thấy được các tài nguyên đã được chia sẻ trên Fedora Core PC.

Khoa CNTT – 05CDTH2

Trang 179

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 4.11 Thư mục trên Samba server

5.

Cấu hình Samba bằng giao diện web
Swat là một công cụ cho phép bạn có thể cấu hình SAMBA qua giao diện Web. Nếu ta muốn sử dụng công cụ này thì ta phải cài thêm package samba-swat-3.0.72.FC4.rpm (trong Fedora Core).

5.1.Sử dụng dòng lệnh để cài đặt Swat:
- Nếu bạn cảm thấy thuận tiện hơn khi cài đặt gói dùng công cụ dòng lệnh, bạn theo các bước hướng dẫn sau ở dòng lệnh : + Đưa vào đĩa cdrom fedora core chứa gói swat và bảo đảm rằng đĩa CD-ROM đã được gắn kết. + Chọn thư mục làm việc hiện hành là : /mnt/cdrom/fedora/RPMS. + Dùng dòng lệnh rpm với tùy chọn –ivh để cài đặt gói Samba-Swat.
Khoa CNTT – 05CDTH2 Trang 180

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux - Thực hiện các bước này ở dòng lệnh như sau : # mount /mnt/cdrom # cd /mnt/cdrom/fedora/RPMS # rpm –ivh samba-swat*.rpm - Sau khi gói swat đã được cài đặt bạn phải khởi động dịch vụ Swat trước khi bạn có thể dùng nó để cấu hình Samba - Dòng lệnh dùng để khởi tạo mặc định Swat khi hệ thống khởi động là : # sbin/chkconfig –level 5 swat on - Bây giờ bạn có thể sử dụng được công cụ cấu hình Swat

5.2.Tập tin cấu hình Samba Swat
. Trước khi cấu hình SAMBA-SWAT ta cần thiết lập một số thông số :
disable = no only_from = 172.29.14.149 localhost

Trong file /etc/xinetd.d/swat để khởi động dịch vụ SWAT và cho phép các host nào có quyền truy xuất SAMBA SWAT qua Web.
service swat { disable = no port = 901 socket_type = stream wait = no only_from = 172.29.14.149 localhost user = root server = /usr/sbin/swat log_on_failure += USERID }

5.3.Khởi tạo Swat và cấu hình samba cơ bản
- Công cụ Swat chỉ có thể được truy cập từ trình duyệt web. Để khởi tạo Swat, bạn mở trình duyệt web và chỉ thị cho nó để nạp URL : http://localhost:901(127.0.0.1:901), bạn được yêu cầu login vào hệ thống với tài khoản root như hình dưới .
Khoa CNTT – 05CDTH2 Trang 181

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.1 : Đăng nhập Samba swat với user root

- Sau khi bạn thực hiện việc này trang Swat chính được hiển thị như hình:

Hình 5.2 : Giao diện chính của Swat

Chú ý: trình duyệt web mozilla ghi nhớ các giá trị mà bạn đã nhập gần đây trông các hộp thoại , nếu bạn nhập mật khẩu không đúng thì bạn phải thoát ra khỏi trình duyệt và khởi tạo lại nó trước khi cố khởi tạo lại Swat lần nữa. - Trước khi cấu hình các cây thư mụ mà bạn muốn chia sẽ, bạn phải cấu hinh một số tùy chon toàn cục để cho phép giao tiếp giữa máy Windows và máy linux. Nhấp vào nút cấu hình Globals để hiển thị trang như hình sau:

Khoa CNTT – 05CDTH2

Trang 182

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.3 : Phần global

- Để dùng việc cấu hình chia sẽ tập tin windows cơ bản bạn phải cấu hình một số tùy chọn gần phía trên của trang. Đặc biệt là bạn cần thực hiện những việc sau : + Nhập vào tên của workgroup của windows trong hộp nập liệu của workgroup. + Nhập vào eth0 trong hộp thoại interfaces. + Chọn SHARE từ danh sách security sổ xuống.có nhiều chế đọ bảo mật khác hiện được hổ trợ trên mạng windown. Nhưng chế độ SHARE là cách dể nhất để quản trị và chính vì vậy nó là vấn đề được đề cập ở đây. - Khi bạn thực hiện xong việc cấu hình các tùy chọn , bạn nhấp vào nút commit changes để lưu trữ các thay đổi. và bây giờ bạn sẵn sàng bắt đầu chọn các cây Filesystem mà bạn muốn chia sẽ với các máy tính windows trên hệ thống mạng.

5.4.Cấu hình chia sẻ Samba
Nhấp vào nút cấu hình SHARES ở gần phía trên của trang để nạp một trang cho phép bạn cấu hình các cây thư mục samba như hình

Khoa CNTT – 05CDTH2

Trang 183

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.4 : Phần share

- Để thêm một cây thư mục vào danh sách các chia sẻ samba, bạn nhập vào tên mà bạn muốn dùng cho việc chia sẻ trên hệ thống mạng, bạn nhập vào tên chia sẻ ở hộp thoại Create share và nhấp vào nút Create share. Một số cách tùy chọn mới xuất hiện như hình trên. - Để cấu hình việc chia sẻ mới, bạn thực hiện các bước sau: + Nhập vào một mô tả cho việc chia sẻ trong hộp nhập liệu Command. + Nhập vào cây thư mục mà bạn muốn kèm theo việc chia sẻ này trong hộp nhập liệu path + Nếu chia sẻ này là chỉ đọc, chọn yes từ danh sách sổ xuống Readonly, nếu không chọn No + Nếu chia sẻ này có thể được truy cập cho người dùng khách (guest) nghĩa là người dùng windows sẽ không phải nhập vào thông tin tài khoản để truy cập chọn Yes từ danh sách guest sổ xuống nếu không chọn No. - Sau khi thực hiện xong việc cấu hình chia sẻ, nhấp nút Commit changes để lưu trữ việc cấu hình của chia sẻ này. Để tạo thêm các chia sẻ khác, bạn nhập tên chia sẻ mà bạn muốn tạo trong hộp nhập liệu Create share và lập lại toàn bộ quá trình chia sẻ như trên. - Khởi động và tự khởi động dịch vụ samba swat
Khoa CNTT – 05CDTH2 Trang 184

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để khởi tạo samba sau khi bạn cấu hình nó, nhấp vào nút status một trang chứa thông tin trạng thái được hiển thị, nhấp vào nút Restart smbd và nmbd để khởi động lại các thay đổi cấu hình mà bạn đã tạo như hình sau:

Hình 5.5 : Phần status

5.5.Tạo các tài khoản Samba
- Nhấp vào nút password. Một trang mới được hiển thị chứa các công cụ để làm việc với các tài khoản người dùng như hình:

Khoa CNTT – 05CDTH2

Trang 185

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 5.6 : Tạo user cho samba

- Để thêm một người dùng, bạn nhập vào tài khoản đã có của người dùng trong linux trong hộp thoại nhập liệu server Password Management User Name. Sau đó, bạn nhập vào một mật mã của dịch vụ tập tin windows cho người sử dụng trong hộp thoại nhập liệu New Password và nhập nó lại lần nữa trong hộp thoại Re-type New password. Sau đó nhấn vào nút Add New User để thêm người dùng đó vào. Người dùng có thể dùng username Linux của họ và mật mã mới để truy cập chia sẻ nonguest từ máy windows trên hệ thống mạng. Chú ý : Để xóa một tài khoản người dùng, thì nhập vào tên của người dùng trong hộp nhập liệu user name và nhấp nút delete user.

5.6.Xem tập tin cấu hình Smb
- Sau khi chúng ta cấu hình xong các chia sẽ có thể nhấp vào view để xem lại các cấu hình của chúng ta vừa thực hiện.

5.7.Đổi Port truy cập mặc định cho Swat
Khoa CNTT – 05CDTH2 Trang 186

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Bước 1 : dung vi để Edit file cấu hình /etc/services. Sau đó tìm dòng Swat Swat 901/TCP Sửa lại thành : port cần đổi thành/TCP

• Bước 2 : dung vi để Edit file cấu hình /etc/xinetd.d/Swat sau dó sửa thành :
service swat { disable = no port = port cần chuyển thành socket_type = stream wait = no only_from = 172.29.14.149 localhost user = root server = /usr/sbin/swat log_on_failure += USERID } 6.

Cài đặt và cấu hình dịch vụ DNS (Domain Name Systems)
6.1.Giới thiệu
DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền và các địa chỉ IP. DNS đưa ra một phương pháp đặc biệt để duy trì và liên kết các ánh xạ này trong một thể thống nhất. Trong phạm vi lớn hơn, các máy tính kết nối với internet sử dụng DNS để tạo địa chỉ liên kết dạng URL (Universal Resource Locators). Theo phương pháp này, mỗi máy tính sẽ không cần sử dụng địa chỉ IP cho kết nối mà chỉ cần sử dụng tên miền (domain name) để truy vấn đến kết nối đó. Với mô hình phân cấp như hình dưới đây :

Hình 6.1. mô hình phân cấp DNS

Khoa CNTT – 05CDTH2

Trang 187

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ví dụ hoạt động của DNS:

Hình 6.2. Mô hình hoạt động

6.2.

Cơ chế phân giải tên

6.2.1. Phân giải tên thành IP Root name server : Là máy chủ quản lý các nameserver ở mức top-level domain. Khi có truy vấn về một tên miền nào đó thì Root Name Server phải cung cấp tên và địa chỉ IP của name server quản lý top-level domain (Thực tế là hầu hết các root server cũng chính là máy chủ quản lý toplevel domain) và đến lượt các name server của top-level domain cung cấp danh sách các name server có quyền trên các secondlevel domain mà tên miền này thuộc vào. Cứ như thế đến khi nào tìm được máy quản lý tên miền cần truy vấn. Qua trên cho thấy vai trò rất quan trọng của root name server trong quá trình phân giải tên miền. Nếu mọi root name server trên mạng Internet không liên lạc được thì mọi yêu cầu phân giải đều không thực hiện được. Hình vẽ dưới mô tả quá trình phân giải grigiri.gbrmpa.gov.au trên mạng Internet

Khoa CNTT – 05CDTH2

Trang 188

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.3 Cơ chế phân giải địa chỉ Ip

Client sẽ gửi yêu cầu cần phân giải địa chỉ IP của máy tính có tên girigiri.gbrmpa.gov.au đến name server cục bộ. Khi nhận yêu cầu từ resolver, Nameserver cục bộ sẽ phân tích tên này và xét xem tên miền này có do mình quản lý hay không. Nếu như tên miền do server cục bộ quản lý, nó sẽ trả lời địa chỉ IP của tên máy đó ngay cho resolver. Ngược lại, server cục bộ sẽ truy vấn đến một Root Name Server gần nhất mà nó biết được. Root Name Server sẽ trả lời địa chỉ IP của Name Server quản lý miền au. Máy chủ name server cục bộ lại hỏi tiếp name server quản lý miền au và được tham chiếu đến máy chủ quản lý miền gov.au. Máy chủ quản lý gov.au chỉ dẫn máy name server cục bộ tham chiếu đến máy chủ quản lý miền gbrmpa.gov.au. Cuối cùng máy name server cục bộ truy vấn máy chủ quản lý miền gbrmpa.gov.au và nhận được câu trả lời. Các loại truy vấn : truy vấn có thể ở 2 dạng : - Truy vấn đệ quy (recursive query) : Khi nameserver nhận được truy vấn dạng này, nó bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi nếu như truy vấn này không phân giải được. Nameserver không thể tham chiếu truy vấn đến một name

Khoa CNTT – 05CDTH2

Trang 189

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux server khác. Nameserver có thể gửi truy vấn dạng đệ quy hoặc tương tác đến nameserver khác nhưng nó phải thực hiện cho đến khi nào có kết quả mới thôi. - Truy vấn tương tác: khi nameserver nhận được truy vấn dạng này, nó trả lời cho resolver với thông tin tốt nhất mà nó có được vào thời điểm lúc đó. Bản thân nameserver không thực hiện bất cứ một truy vấn nào thêm. Thông tin tốt nhất trả về có thể lấy từ dữ liệu cục bộ (kể cả cache). Trong trường hợp nameserver không tìm thấy trong dữ liệu cục bộ nó sẽ trả về tên miền và địa chỉ IP của nameserver gần nhất mà nó biết. 6.2.2. Phân giải IP thành tên máy tính Ánh xạ địa chỉ IP thành tên máy tính được dùng để diễn dịch các tập tin log cho dễ đọc hơn. Nó còn dùng trong một số trường hợp chứng thực trên hệ thống UNIX (kiểm tra các tập tin .rhost hay host.equiv). Trong không gian tên miền đã nói ở trên dữ liệu -bao gồm cả địa chỉ IP- được lập chỉ mục theo tên miền. Do đó với một tên miền đã cho việc tìm ra địa chỉ IP khá dễ dàng Để có thể phân giải tên máy tính của một địa chỉ IP, trong không gian tên miền người ta bổ sung thêm một nhánh tên miền mà được lập chỉ mục theo địa chỉ IP. Phần không gian này có tên miền là in-addr.arpa. Mỗi nút trong miền in-addr.arpa có một tên nhãn là chỉ số thập phân của địa chỉ IP. Ví dụ: miền inaddr.arpa có thể có 256 subdomain, tương ứng với 256 giá trị từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi subdomain lại có 256 subdomain con nữa ứng với byte thứ hai. Cứ như thế và đến byte thứ tư có các bản ghi cho biết tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tương ứng.

Khoa CNTT – 05CDTH2

Trang 190

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.4 Phân giải Ip thành tên máy tính

Lưu ý : khi đọc tên miền địa chỉ IP sẽ xuất hiện theo thứ tự ngược. Ví dụ nếu địa chỉ IP của máy winnie.corp.hp.com là 15.16.192.152, khi ánh xạ vào miền inaddr.arpa sẽ là 152.192.16.15.inaddr.arpa 6.3. Domain Name Space

Cơ sở dữ liệu phân tán của DNS được chỉ mục bởi domain name, về bản chất mỗi domain name chỉ là một phần trong một hệ thống cây nghịch đảo (domain name space), như hình vẽ bên dưới. Cấu trúc cây có thứ tự đó tương tự như hệ thống file của UNIX. Cây có một điểm gốc root và có thể rẻ nhánh ở những điểm giao nhau (node), chiều sâu của cây tối đa là 127 cấp. • Domain Names: Mỗi node trong cây có một nhãn (tối đa 63 ký tự). Tên domain name đầy đủ của một node trong cây là một chuỗi các nhãn đi từ node đến root. Trong DNS, những node ngang hàng với nhau có cùng một node cha phải có tên khác nhau. • Domains: • Domain chỉ là một nhánh con của domain name space.

Khoa CNTT – 05CDTH2

Trang 191

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Domain name của một domain tương tự như domain name của một node ở vị trí cao nhất của domain đó, xem hình vẽ: Tương tự trong hệ thống filesystem, ở mức cao nhất trong thư mục /usr, ta có mốt node /usr Một domain name có thể nằm trong nhiều nhánh, và cũng có thể trong nhiều domain, ví dụ, domain name pa.ca.us là một phần của ca.us domain và cũng là một phần của domain us 6.4. Sự khác nhau giửa Domain Name và Zone

Một miền gồm nhiều thực thể nhỏ hơn gọi là miền con (subdomain). Ví dụ: miền ca bao gồm nhiều miền con như ab.ca, on.ca, qc.ca,...(như hình vẽ dưới). Bạn có thể ủy quyền một số miền con cho những DNS Server khác quản lý. Những miền và miền con mà DNS Server được quyền quản lý gọi là zone. Như vậy, một Zone có thể gồm một miền, một hay nhiều miền con. Hình sau mô tả sự khác nhau giữa zone và domain.

Hình 6.5 Domain và zone

6.5. Fully Qualified Domain Name (FQDN)
Mỗi nút trên cây có một tên gọi(không chứa dấu chấm) dài tối đa 63 ký tự. Tên rỗng dành riêng cho gốc (root) cao nhất và biểu diễn bởi dấu chấm. Một tên miền đầy đủ của một nút chính là chuỗi tuần tự các tên gọi của nút hiện tại đi ngược lên nút gốc, mỗi tên gọi cách nhau bởi dấu chấm. Tên miền có xuất hiện dấu chấm sau cùng
Khoa CNTT – 05CDTH2 Trang 192

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux được gọi là tên tuyệt đối (absolute) khác với tên tương đối là tên không kết thúc bằng dấu chấm. Tên tuyệt đối cũng được xem là tên miền đầy đủ đã được chứng nhận (fully qualified domain name - FQDN) .

6.6. Phân loại Domain Name Server
6.6.1. Primary Name Server Mỗi miền phải có một Primary Name Server. Server này được đăng ký trên Internet để quản lý miền. Mọi người trên Internet đều biết tên máy tính và địa chỉ IP của server này. Người quản trị DNS sẽ tổ chức những tập tin CSDL trên Primary Name Server. Server này có nhiệm vụ phân giải tất cả các máy trong miền hay Zone. 6.6.2. Secondary Name Server Mỗi miền có một Primary Name Server để quản lý CSDL của miền. Nếu như server này tạm dừng họat động vì một lý do nào đó thì việc phân giải tên máy tính thành địa chỉ IP và ngược lại xem như bị gián đoạn. Việc gián đoạn này làm ảnh hưởng rất lớn đến những tổ chức có nhu cầu trao đổi thông tin ra ngoài Internet cao. Nhằm khắc phục nhược điểm này, những nhà thiết kế đã đưa ra một Server dự phòng gọi là Secondary (hay Slave) Name Server. Server này có nhiệm vụ sao lưu tất cả những dữ liệu trên Primary Name Server và khi Primary Name Server bị gián đoạn thì nó sẽ đảm nhận việc phân giải tên máy tính thành địa chỉ IP và ngược lại. Trong một miền có thể có một hay nhiều Secondary Name Server. Theo một chu kỳ, Secondary sẽ sao chép và cập nhật CSDL từ Primary Name Server. Tên và địa chỉ IP của Secondary Name Server cũng được mọi người trên Internet biết đến. 6.6.3. Caching Name Server Caching Name Server không có bất kỳ tập tin CSDL nào. Nó có chức năng phân giải tên máy trên những mạng ở xa thông qua những Name Server khác. Nó lưu giữ lại những tên máy đã được phân giải trước đó đã được phân giải trước đó và được sử dụng trong những trường hợp sau: + Làm tăng tốc độ phân giải bằng cách sử dụng cache
Khoa CNTT – 05CDTH2 Trang 193

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux + Giảm bớt gánh nặng phân giải tên máy cho các name server + Giảm việc lưu thông trên những mạng tin.

6.7.Cài đặt BIND bằng dòng lệnh
6.7.1. Cài đặt dữ liệu cho DNS Ta cấu hình nhiều file cơ sở dữ liệu (database files) trong đó một file ánh xạ tất cả host name vào địa chỉ, và file khác ánh xạ từ địa chỉ vào host name (phân giải ngược). và file /etc/named.conf. Tất cả các entries trong database file được gọi là NDS resource records. Không phân biệt in hoa. Ta có các loại resource records trong database sau:
• •

SOA record : NS record : Other records : A: PTR :

Indicates authority for this zone data. Lists a name server for this zone Data about hosts in this zone Ánh xạ tên thành địa chỉ Ánh xạ địa chỉ thành tên.

• • •

CNAME : 6.7.1.1.

Canonical name (for aliases SOA (Start Of Authoryty) record

Entry đầu tiên trong file là SOA (start of authority) resource record. Trong mỗi tập tin CSDL phải có một và chỉ một record SOA Record SOA chỉ ra rằng máy chủ name server là nơi cung cấp thông tin tin cậy từ dữ liệu có trong zone. Cú pháp của record SOA: [ tên miền ] IN SOA [ tên-server-dns ] [ địa-chỉ-email ] (

Serial number Refresh number
Khoa CNTT – 05CDTH2 Trang 194

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Retry number Expire number Time-to-live number ) Ví dụ cấu trúc của 1 record SOA (BIND name server) linuxgroup.com. IN SOA dnsserver.linuxgroup.com. root.linuxgroup.com. ( 1 10800 3600 ; Serial ; Refresh after 3 hours ; Retry after 1 hour

604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 day Tên miền linuxgroup.com. phải ở vị trí cột đầu tiên và kết thúc bằng dấu chấm. IN là Internet. dnsserver.linuxgroup.com. là tên của primary master name server của dữ liệu này. root.linuxgroup.com. là địa chỉ mail của người phụ trách dữ liệu này. Lưu ý là địa chỉ mail thay thế dấu @ bằng dấu chấm sau root Dấu ( ) cho phép ta mở rộng ra viết thành nhiều dòng. Tất cả các tham số trong dấu ( ) được dùng cho các slave name servers Serial : Khi một slave name server kết nối với master server để lấy dữ liệu, trước tiên nó sẽ kiểm tra số serial, nếu số serial của master lớn hơn tức là dữ liệu đã hết hạn sử dụng và nó sẽ load lại dữ liệu mới. vì vậy khi ta cập nhật dữ liệu trên name server ta nên tăng số serial. refresh : Khoảng Thời gian (giây) mà slave biết phải kiểm tra lại dữ liệu có còn sử dụng được không.
Khoa CNTT – 05CDTH2 Trang 195

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux retry : Nếu slave không thể kết nối với master name server sau một khoảng thời gian refresh thì nó sẽ cố gắng kết nối lại sau retry giây. expire: Nếu slave không thể kết nối với master server sau khoảng thời gian expire giây, thì slave sẽ không trả lời cho vùng dữ liệu đó khi được truy vấn, vì nó cho rằng dữ liệu này đã quá cũ. TTL : Time To Live, giá trị này được dùng cho tất cả các resource record trong file cơ sở dữ liệu. giá trị này cho phép những server khác cache lại dữ liệu trong 1 khoảng thời gian xác đĩnh TTL 6.7.1.2. NS (Name Server) record

Record tiếp theo cần có trong zone là NS (name server) record. Mỗi name server cho zone sẽ có một NS record. Cú pháp: [ tên-domain ] IN NS [ máy-DNS-Server ]

Ví dụ 2 record NS sau: linuxgroup.com. linuxgroup.com. IN IN NS NS dnsserver.linuxgroup.com. server.linuxgroup.com.

 chỉ ra 2 name servers cho miền linuxgroup.com 6.7.1.3. A (Address) record và CNAME (Canonical Name) record

Tiếp theo bạn tạo ánh xạ name-to-address (từ tên vào địa chỉ). Record A (Address) ánh xạ tên vào địa chỉ. Record CNAME tạo tên bí danh alias trỏ vào một tên canonical khác. Cú pháp record A [ tên-máy-tính ] IN A [ địa-chỉ-IP ]

Ví dụ một số record A trong tập tin db.linuxgroup
Khoa CNTT – 05CDTH2 Trang 196

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ; Host addresses ; localhost.linuxgroup.com. IN dnsserver.linuxgroup.com. server.linuxgroup.com. ; ; Multi-homed hosts ; server.linuxgroup.com. server.linuxgroup.com ; Aliases ; server.linuxgroup.com. server.linuxgroup.com IN IN CNAME CNAME phong101.linuxgroup.com. www.linuxgroup.com. IN IN A A 192.168.100.2 192.168.100.3 IN A IN A 127.0.0.1 A 192.168.100.1

192.168.100.2

Khi một name server tìm kiếm một tên và tìm thấy CNAME record thì nó sẽ thay thế tên đó bằng canonical name và tiếp tục tìm với tên mới. ví dụ. khi name server tìm www.linuxgroup.com, nó phát hiện một CNAME record trỏ đến dnsserver.linuxgroup.com, sau đó dnsserver.linuxgroup.com sẽ được tìm và kết quả trả về là cả 2. 6.7.1.4. MX (Mail Exchange) record

DNS dùng record MX trong việc vận chuyển mail trên mạng Internet. Ban đầu chức năng chuyển mail dựa trên 2 record: record MD (mail destination) và record MF (mail forwarder). MD chỉ ra đích cuối cùng của một thông điệp mail có tên miền cụ thể. MF chỉ ra máy chủ trung gian sẽ chuyển tiếp mail đến được máy chủ đích cuối cùng. Tuy nhiên việc tổ chức hoạt động này không tốt. Do đó, chúng được tích hợp
Khoa CNTT – 05CDTH2 Trang 197

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux lại thanh một record là MX. Khi nhận được mail, trình chuyển mail (mailer) sẽ dựa vào record MX để quyết định đường đi của mail. Record MX chỉ ra một mail exchanger cho một miền – mail exchanger là một máy chủ xử lý (chuyển mail đến mailbox cục bộ hay làm gateway chuyền sang một giao thức chuyển mail khác như UUCP) hoặc chuyển tiếp mail đến một mail exchanger khác (trung gian) gần với mình nhất để đến tới máy chủ đích cuối cùng hơn dùng giao thức SMTP (Simple Mail Transfer Protocol) - Để tránh việc gửi mail bị lặp lại, record MX có thêm 1 giá trị bổ sung ngoài tên miền của mail exchanger là 1 số thứ tự tham chiếu. Đây là giá trị nguyên không dấu 16-bit (0-65535) chỉ ra thứ tự ưu tiên của các mail exchanger - Khai báo cho mail, tất cả các mail sẽ được chuyển đi dựa vào MX record này. - Cú pháp: [ tên-domain ] - Ví dụ record MX sau: linuxgroup.com. linuxgroup.com. IN IN MX MX 0 5 mailserver.linuxgroup.com. mail.linuxgroup.com. IN MX [độ-ưu-tiên] [tên-mail-server]

- Các giá trị 0, 5 xác định độ ưu tiên của mail server. Giá trị càng nhỏ độ ưu tiên càng cao. 2 dòng trên có nghĩa sau: mail của miền linuxgroup.com sẽ được nhận bởi máy mailserver.linuxgroup.com và mail.linuxgroup.com trong đó máy mailserver.linuxgroup.com sẽ có độ ưu tiên hơn. Có nghĩa là mail sẽ được đưa về máy mailserver.linuxgroup.com, chỉ đưa về máy mail.linuxgroup.com khi mailserver.linuxgroup.com quá bận hay bị down.

Khoa CNTT – 05CDTH2

Trang 198

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux - Trình chuyển thư mailer sẽ thư phân phát thư đến mail exchanger có số thứ tự tham chiếu nhỏ nhất trước. Nuế không chuyển thư được thì mail exchanger với giá trị kế sau sẽ được chọn. Trong trường hợp có nhiều mail exchanger có cùng số tham chiếu thì mailer sẽ chọn ngẫu nhiên giữa chúng. 6.7.1.5. PTR (Pointer) record

Tiếp theo ta tạo ánh xạ address-to-name (từ địa chỉ vào tên) trong tập tin db.172.16.1 bằng cách dùng record PTR (pointer) - Cú pháp [địa-chỉ-IP] IN - Ví dụ: 1.100.168.192.in-addr.arpa. 2.100.168.192.in-addr.arpa. 3.100.168.192.in-addr.arpa. 4.100.168.192.in-addr.arpa. IN IN IN IN PTR dnsserver.linuxgroup.com. PTR server.linuxgroup.com. PTR mailserver.linuxgroup.com. PTR mail.linuxgroup.com PTR [tên-máy-tính]

6.7.2. Setting up a BIND configuration File Trước khi cấu hinh những Name Server chúng ta cần phải trải qua những bước sau: • Đăng kí một domain name • Tạo một danh sách những tên và địa chỉ IP tương ứng. • Tạo tập tin /etc/named.conf

Tạo những tập tin dữ liệu cho zone. Tập tin /etc/named.conf Sau khi tạo xong file cơ sở dữ liệu, name server cần phải được hướng dẫn để đọc

file dữ liệu đó bằng cách cấu hình file /etc/named.conf. Tập tin này chứa thong tin
Khoa CNTT – 05CDTH2 Trang 199

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux quan trọng được sử dụng bởi daemon named khi daemon này start. Nội dung tập tin này như sau: options { directory "/var/named"; // Place additional options here. forwarders { 192.168.100.1; };

}; • directory “/var/named” : Khai báo vị trí lưu các file cơ sở dữ liệu.

• forwarders : chỉ ra những địa chỉ IP của các name server mà nó sẽ gửi yêu cầu truy vấn khi có nhu cầu. zone "linuxgroup.com" in { type master; file "db.linuxgroup.com"; }; • type : loại name server • • master : nếu là primary name server. slave : nếu là secondary name server, server này lưu một bản

sao CSDL từ master. Nếu một tập tin được chỉ ra nó sẽ sao chép toàn bộ zone master về. •
Khoa CNTT – 05CDTH2

Stub : tương tự như slave nhưng chỉ sao chép record NS từ

Master chứ không phải toàn bộ dữ liệu.
Trang 200

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Hint : zone chỉ ra những root name server

• Master : chỉ ra địa chỉ IP của master name server • file : tên tập tin cơ sở dữ liệu

zone "." in { type hint; file "db.cache"; }; =>Dòng cấu hình để name server dùng cache 6.7.3. Cấu hình Primary Name Server Khi cấu hình Primary Name Server, bạn phải trải qua những bước sau:
• •

Định nghĩa zone trong tập tin /etc/named.conf. Tạo tập tin CSDL phân giải tên máy tính thành địa chỉ IP. Tạo tập tin CSDL phân giải tên địa chỉ IP thành tên máy tinh.

Sau đây là các bước tuần tự: • Tạo tập tin /etc/named.conf Ví dụ về tạo tập tin /etc/named.conf cho miền linuxgroup.com options { directory “/var/named”; }; zone “.” { type hint; file “named.ca”;
Khoa CNTT – 05CDTH2 Trang 201

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux }; zone “localhost” { type master; file “localhost.zone”; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" in { type master; file "named.local"; allow-update { none; }; }; zone "linuxgroup.com" in { type master; file "named.hosts"; }; zone "100.168.192.in-addr.arpa" in { type master; file “named.rev” }; • Tạo tập tin cơ sở dũ liệu chuyển đổi tên máy tính thành địa chỉ IP - Giả sử tập tin này có tên là named.host - Tập tin này lưu danh sách tất cả những máy tính trong miền. Nó được dùng để phân giải tên máy tính thành địa chỉ IP. Những record khác như : CNAME, MX cũng được định nghĩa trong tập tin này.
Khoa CNTT – 05CDTH2 Trang 202

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ví dụ: @ IN SOA dnsserver.linuxgroup.com. root.linuxgroup.com. (

2001112800; 10800; 1800; 36000; 86400 ) IN IN NS MX dnsserver.linuxgroup.com. 0 IN IN mailserver www

mailserver.linuxgroup.com. A A IN IN 192.168.100.1 192.168.100.2 A 192.168.100.3 server.linuxgroup.com.

dnsserver server

CNAME

Tạo tập tin CSDL chuyển đổi địa chỉ IP thành tên máy tính Giả sử tâp tin này có tên named.rev Tập tin này được sử dụng để phân giải địa chỉ IP thành tên máy Ví du về tập tin này: @ IN SOA dnsserver.linuxgroup.com. root.linuxgroup.com. (

2001112800; 10800; 1800; 36000; 86400 ) IN NS dnsserver.linuxgroup.com.
Trang 203

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux IN 1
2

MX

0

mailserver.linuxgroup.com.

IN
IN

PTR dnserver.linuxgroup.com.
PTR server.linuxgroup.com.

6.7.4. Cấu hình Secondary Name Server
Cấu hình Secondary Name Server tương tự như cấu hình Primary Name Server nhưng có một số điểm khác như sau: • Không tạo các tập tin CSDL cho zone. Những tập tin này sẽ tự động được sao chép từ Primary Name Server về lưu tại máy một bản. • Trong tập tin /etc/named.conf thay thế thuộc tính type là master thành slave. • Cung cấp địa chỉ IP của Primary Name Server Sau đây là ví dụ tập tin named.conf cấu hình Secondary Name Server. options { directory “/etc/DNS”; forwarders { 192.168.20.1 }; }; zone “.” { type hint; file “root.cache”; }; zone “localhost” { type master;
Khoa CNTT – 05CDTH2 Trang 204

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux file “localhost.zone”; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0"; notify yes; }; zone "linuxgroup.com" in { type master; file "named.hosts"; }; zone "100.168.192.in-addr.arpa" in { type master; file “named.rev” }; zone "secgroup.net" in { type slave; file "sec/secgroup.net "; masters { 192.168.100.1 }; };
Khoa CNTT – 05CDTH2 Trang 205

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux zone "100.168.172.in-addr.arpa" in { type slave; file “named.rev” master { 172.168.100.1 }; }; 6.7.5. Mọt số quy ước Field thứ 2 trong khai báo zone của file /etc/named (zone“dnsserver.linuxgroup.com” và zone "100.168.192.in-addr.arpa")có thể giúp ta một số khai báo nhanh chóng trong file cơ sở dữ liệu sau:
dnsserver.linuxgroup.com. có thể viết: dnsserver có thể viết 1 @ IN 1 10800 3600 SOA ; Serial ; Refresh after 3 hours ; Retry after 1 hour 86400 ) ; Minimum TTL of 1 day tương đương với: linuxgroup.com. IN 1 10800 3600 ; Serial ; Refresh after 3 hours ; Retry after 1 hour SOA dnsserver.linuxgroup.com. root.linuxgroup.com. ( IN PTR dnsserver.linuxgroup.com. root.linuxgroup.com. ( dnsserver.linuxgroup.com. IN A PTR 192.168.100.1 dnsserver.linuxgroup.com. 1.100.168.192.in-addr.arpa. IN IN A 192.168.100.1

604800 ; Expire after 1 week

604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 day

Khoa CNTT – 05CDTH2

Trang 206

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Nếu field đầu của một entry trong file cơ sở dữ liệu là các khoảng trắng hay spacebar thì nó sẽ lấy resource record ngay dòng trên của nó. Ví dụ:
server1 IN A IN 192.168.100.3 A 192.168.100.5

Tương đương với:
server1 server1 IN IN A A 192.168.100.3 192.168.100.5

6.7.6. Khởi động Domain Name Server Ta dùng script khởi động: # /etc/rc.d/init.d/named start

6.8.Sử dụng BIND configuration Tool
6.8.1. Giới thiệu BIND = Berkeley Internet Name Domain, đây là công cụ giúp ta cấu hình bind một cách dễ dàng mà không cần thông qua dòng lệnh. - Yêu cầu: Trước hết kiểm tra xem bind có cài được cài đặt trên máy tính chưa: rpm –q bind - Các tập tin cấu hình của bind Tập tin cấu hình named /etc/named.conf /etc/rndc.conf Tập tin cơ sở dữ liệu Zone /var/named/* - Khởi động system-config-bind Đăng nhập bằng tài khoản root.

Khoa CNTT – 05CDTH2

Trang 207

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Vào Desktop > System Settings > Server Settings > Domain Name Service Hoặc gọi lệnh : # system-config-bind 6.8.2. Cài đặt các cấu hình mặc định cho BIND Nếu bạn chưa cài đặt bất cứ tập tin cấu hình mặc định cho bind khi system-configbind thực thi, một hộp thoại xuất hiện nhắc nhở cho phép cài đặt các cấu hình khởi tạo cho bind. Click chọn OK để chấp nhận

Hình 6.6 Yêu cầu cài đặt mặc định

6.8.3. Cấu hình BIND Giao diện chính của Bind:

Khoa CNTT – 05CDTH2

Trang 208

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.7 Giao diện chính của Bind

- Cấu hình: Xét ví dụ, bạn sẽ phân giải địa chỉ IP (192.168.1.2) thành tên miền (www.linuxgroup.com). Thao tác làm như sau : a/ Tạo zone phân giải địa chỉ IP thành tên miền: Chọn New > Zone

Khoa CNTT – 05CDTH2

Trang 209

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 6.8 Tạo zone

Trong mục Class : chọn “IN Internet” • •

Origin Type : chọn Forward Zone Type : chọn Master Sau đó nhấp chọn nút OK bên dưới Class và Origin

Type:

Hình 6.9 Zone cần tạo

Trong ô textbox IN, bạn nhập địa chỉ muốn phân giải, lưu ý phải có dấu “.” ở cuối tên miền. Ví dụ : linuxgroup.com.

Sau đó nhấp chọn OK.

Khoa CNTT – 05CDTH2

Trang 210

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.10 Các thông số mở rộng zone thuận

• Responsible Person Email Address : nhập địa chỉ email của người quản trị website. • Nhập các tham số phù hợp với yêu cầu của bạn.

Sau đó nhấp chọn OK để tạo zone mới. b/ Tạo zone phân giải địa chỉ tên miền thành địa chỉ IP

Chọn New > Zone

Khoa CNTT – 05CDTH2

Trang 211

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.11 Tạo zone thuận

• Class : chọn “IN

Internet”

• Origin Type : chọn IPV4 Reverse • Zone Type : chọn master

Sau đó nhấp chọn nút OK ở dưới Class và Origin Type

Hình 6.12 Tạo zone ngược

Khoa CNTT – 05CDTH2

Trang 212

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.13 Tạo zone ngược

Mặc định là đường mạng thuộc lớp A (192.x.x.x), để thay đổi đường mạng, nhấn chọn nút Add. Ví dụ: ở đây ta chọn đườn mạng thuộc lớp C (192.168.1.x)

Sau đó nhấp chọn OK.

Hình 6.14 Các thông số mở rộng zone ngược

Khoa CNTT – 05CDTH2

Trang 213

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

- Responsible Person Email Address : nhập địa chỉ email của người quản trị website. • Nhập các tham số phù hợp với yêu cầu của bạn. - Sau đó nhấp chọn OK để tạo zone mới.

Sau khi tạo ra 2 zone như trên, giao diện bind sẽ như sau :

Hình 6.15 Sau khi tạo các zone thành công

• Bạn thấy sẽ xuất hiện zone mới là 192.168.1 và linuxgroup.com c / Tạo record PTR: • Bạn tạo record PTR để ánh xạ một địa chỉ IP cụ thể trong đường mạng 192.168.1.x thành tên miền.

Khoa CNTT – 05CDTH2

Trang 214

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Click chọn zone 192.168.1, sau đó nhấp chọn New > PTR Reverse Address Mapping

• Ở mục Domain Name, chọn địa chỉ IP để phân giải thành tên miền. (vd: 192.168.1.2) • Ở mục Host Name: nhập tên miền cần ánh xạ tới Ví dụ : linuxgroup.com. =>> Lưu ý : kết thúc bằng dấu chấm “.”

Sau đó nhấp chọn OK để tạo record

Hình 6.16 Tạo Record PTR

• Record sau khi được tạo sẽ như sau :

Khoa CNTT – 05CDTH2

Trang 215

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.17 Sau khi tạo Record PTR

d. / Tạo ánh xạ từ tên vào địa chỉ

Nhấp chọn zone linuxgroup.com, sau đó chọn New > A IPv4 Address

• Domain Name : nhập tên miền cần ánh xạ (lưu ý : kết thúc bằng dấu “.”) ví dụ : www.linuxgroup.com. • Ipv4 Address : chọn địa chỉ IP cần ánh xạ tới. Ví dụ : 192.168.1.2

Sau đó nhấp chọn OK để tạo record.

Khoa CNTT – 05CDTH2

Trang 216

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 6.18 Tạo record A

Record A sau khi được tạo sẽ như sau :

Hình 6.19 Sau khi Tạo record A

e / Tạo record MX

Nhấp chọn zone linuxgroup.com , sau đó chọn New > MX Mail Exchange

• Domain Name : nhập tên domain • Priority: chọn độ ưu tiên cho mail server. • Mail Server Name : nhập tên của máy tính làm mail server Ví dụ : mail.linuxgroup.com.

Sau đó nhấp chọn OK để tạo record mới.

Khoa CNTT – 05CDTH2

Trang 217

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.20 Tạo record MX

• Sau đó, bạn tạo tiếp record A để phân giải tên mail server thành địa chỉ IP cụ thể.

Hình 6.21 Tạo record A phân giải tên mail server thành địa chỉ IP cụ thể

• Domain name : nhập tên miền cần phân giải. • Ipv4 Address : nhập địa chỉ IP của máy tính làm mail server.
• •

Sau đó chọn OK để tạo record mới. Kết quả sau khi tạo record MX và record A như sau :
Trang 218

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 6.22 Sau khi cấu hình hoàn thành

- Chọn File > Save để lưu lại cấu hình của Bind. -Sau khi cấu hình xong, bạn phải khởi động lại dịch vụ bind để nạp lại cấu hình mới sử dụng được. # /etc/init.d/named restart - Sau khi khởi động lại dịch vụ bind, dùng chương trình nslookup để kiểm tra.

6.9.Chương trình NSLOOKUP
Nslookup là chương trình thường được dùng để kiểm tra dịch vụ dns xem cấu hình có đúng hay không. Ở chế độ dòng lệnh, gọi lệnh: # nslookup Tiếp theo đó, gõ các tên miền hay địa chỉ IP để xem chúng có được phân giải hay không.
Khoa CNTT – 05CDTH2 Trang 219

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ví dụ: kiểm tra các tên miền và địa chỉ IP mà ta đã cấu hình ở phía trên.

Hình 6.23 Test DNS server tại máy cục bộ bằng nslookup

7.

Dịch Vụ FTP Server (File Tranfer Protocol)
7.1.Giới thiệu
- VSFTP là 1 dịch vụ FTP server, chúng ta sẽ dùng hệ thống VSFTP để có thể chia sẻ tài liệu (tài nguyên) cho người khác.

- FTP là FTP server chạy trên môi trường Linux. - VSFTP sẽ phân quyền dựa trên cấu hình và File Permisson (đã được trình bày ở trên). Hoạt động ở chế độ Active:
Khoa CNTT – 05CDTH2 Trang 220

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ở chế độ này, máy khách dùng 1 cổng ngẫu nhiên (cổng N>1024) kết nối vào cổng 21 của FTP server. Sau đó, máy khách lắng nghe trên cổng N+1 và gửi lệnh đến FTP serrver và từ cổng dữ liệu của m ình, FTP server kết nối lại với cổng dữ liệu của máy khách đã khai báo trước đó. Khi FTP server hoạt động ở chế độ chủ động, client không tạo kết nối thật sự vào cổng dữ liệu của FTP server, mà chỉ đơn giản là thông báo cho FTP server biết rằng nó đang lắng nghe trên cổng nào và Server phải kết nối ngược vào cổng đó. Ở khía cạnh Firewall, để FTP hổ trợ chế độ active các kênh truyền phải mở : • Cổng 21 của FTP server phải được mở cho bất cứ nguồn gửi nào ( để client khởi tạo kết nối • Cho kết nối từ cổng 20 của FTP server đến các cổng >1024 (server khởi tạo kết nối vào cổng dữ liệu của client) • Nhận kết nối đến cổng 20 của FTP server từ các cổng >1024 .

Sơ đồ kết nối Active:

Bước 1: Client khởi tạo kết nối vào cổng 21 của server và gửi lệnh PORT 1027.
Khoa CNTT – 05CDTH2 Trang 221

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bước 2: server gửi xác nhận ACK về cổng lệnh của client. Bước 3: server khởi tạo kết nối từ cổng 20 của mình đến cổng dữ liệu mà client đã khai báo trước đó. Bước 4: client gửi ACK phản hồi cho server. Hoạt động ở chế độ Passive Ở chế độ thụ động, FTP client tạo kết nối đến server, tránh vấn đề firewall lọc kết nối đến cổng của máy bên trong từ server. Khi kết nối FTP được mở, client sẽ mở 2 cổng dành riêng (>1024), cổng thứ nhất dùng để liên lạc với cổng 21 của FTP server, nhưng thay v ì gửi lệnh PORT và sau đó là server kết nối ngược trở lại , thì lệnh PASS được phát ra. Kết quả là server sẽ mở một cổng bất kỳ (>1024) và gửi lệnh PORT P ngược trở lại cho client . Sau đó client tự kết nối từ cổng thứ hai vào cổng P trên server để truyền dữ liệu. Để hổ trợ cho FTP ở chế độ passive, các kênh truyền cần phải được mở là: • Cổng 21 của FTP server nhận kết nối từ bất cứ nguồn nào (cho client tự khởi tạo kết nối) • Cho phép trả lời từ cổng 21 của FTP server tới bất cứ cổng nào (>1024) • Nhận kết nối trên cổng FTP server >1024 từ bất cứ nguồn nào (client kết nối để truyền dữ liệu đến cổng ngẫu nhiên mà server đ ã chỉ ra). • Cho phép trả lời từ cổng FTP server >1024 đến các cổng >1024 của client

Sơ đồ kết nối passive:

Khoa CNTT – 05CDTH2

Trang 222

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Bước 1: client gửi yêu cầu. Bước 2: server trả lời bằng lệnh PORT 2024, cho client biêt cổng 2024 đang được mở để nhận kết nối dữ liệu. Bước 3: client tạo kết nối truyền dữ liệu từ cổng dữ liệu của nó đến cổng dữ liệu 2024 của server. Bước 4: server trả lời bằng xác nhận ACK về cho cổng dữ liệu của client. Chú ý: Đối với FTP thụ động, cổng mà lệnh PORT mô tả chính là cổng sẽ được mở trên server. Còn đối với FTP chủ động cổng này sẽ được mở ở client

7.2.FTP Server
FTP server là máy chủ lưu trữ những tài nguyên và hổ trợ giao thức FTP để giao tiếp với những máy khác cho phép truyền dữ liệu trên internet.

7.3.FTP Client
Máy có thể giao tiếp được với FTP server gọi là FTP client. Khi mở một phiên làm việc FTP server và FTP client điều dùng giao thức FTP. Để thiết lập được một phiên làm việc ta cần phải có tài khoản trên FTP servers.  Một số dòng lệnh dùng trong FTP.
Khoa CNTT – 05CDTH2 Trang 223

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Dòng lệnh help [command] cd [directory] create [filename] debug version dir echo get lcd [directory] lls lookup host lpage filename lpwd mkdir directory name mode mode open [option] hostname Chức năng Liệt kê tất cả các dòng lệnh trong FTP Thay đổi thư mục làm việc trên máy chủ FTP Tạo một file rỗng trên máy từ xa, bạn có thể sử dụng file này như một tin nhắn. Bậc chế độ bắt lỗi on hoặc off Hiển thị version của phần mềm FTP Hiển thị tất cả các thư mục trên FTP Hiển thị một chuỗi, sử dụng macros Download một file từ máy chủ FTP về máy đang làm việc. Chuyển đổi thư mục làm việc trên máy cục bộ Lắng nghe tất cả các flie trên thư mục của máy đang làm việc. HIển thị danh sách những máy trạm Hiển thị nội dung của file trên máy cục bộ, mỗi lần một trang Hiển thị các máy khách đang làm việc. Tạo một thư mục trên máy FTP server Chuyển đổi chế độ (b for block mode, s for stream mode) Kết nối tới một FTP server. Một số option có thể chọn khi thực hiện lệnh open: -a: login bằng tài khoản anonymous -u: login với một user và password -r : kết nối tự động -d: Hiển thị thời gian trì hoãn trước khi quay số; sử dụng với tham số -r -g: Hiển thị số max của quay số, sử dụng với tham số -r page filename pdir
Khoa CNTT – 05CDTH2

-p: sử dụng port khi kết nối Hiển thị nội dung của một file trên máy từ xa. Giống như lệnh dir
Trang 224

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux pls redir predir Giống như lệnh ls, nhưng có thể xuất ra một trang. Được sử dụng trên giao diện dòng lệnh. Không hiển thị thư mục cuối khi lắ ng nghe. Không hiển thị thư mục cuối khi dùng lệnh dir và xuất ra một trang nếu đang làm việc trên giao diện dòng lệnh. put filename Uploads một file lên FTP server pwd Hiển thị thư mục đang làm việc trên máy từ xa rename orig-name new-name Thay đổi tên của một file trên máy từ xa. quit Thoát khỏi FTP server quote Gửi một giao thức FTP đến server. rhelp [command] Gửi một yêu cầu giúp đỡ đến máy từ xa. rm filenames Xóa một file trên máy từ xa. rmdir directories Xóa một thư mục. site command Thực hiện lệnh cụ thể. type type Thay đổi kiểu (ASCII, binary, image) ! command Escapes to the shell and executes the following shell command or script Thoát để và thực hiện a. Download từ FTP server về máy cục bộ: Dùng dòng lệnh get [option] Option: Command -G -R directory -f filenames -C -z remote-file local-file -n num Chức năng Bậc chế độTurns wildcard matching cho các file là on hoặc off Downloads một thư mục và tất cả các thư mục con. Tốc độ của tất cả các file đặc biệt Tốc độ bắt đầu lại của download từ nơi đã được ngắt. Thay đổi tên của một file khi download file này từ máy chủ về máy khách. Downloads tất cả các file trước một ngày cụ thể.

Khoa CNTT – 05CDTH2

Trang 225

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux khi bạn download một file không thành bạn có thể sử dụng lại dòng lệnh mget để download lại file này. b. Upload một file lên FTP server:
Dùng lệnh Put

7.4.Các bước để thực hiện cài đặt
Có 2 cách để cài đặt: Trước hệt chúng ta nên kiểm tra xem Linux đang xài đã có hổ trợ VsFTP hay chưa. Kiểm tra bằng cách vào Server  FTP Server Cách thứ 1: Nếu Linux có hổ trợ sẵn dịch vụ VSFTP. - Kiểm tra xem VsFTP đã được cài trước sẵn trong máy chưa : Kiểm tra bằng cách vào thư mục /etc nếu đã có VsFTP thì sẽ tìm được 1 thư mục là vsftp. - Nếu thư mục vsftp chưa có thì chúng ta sẽ tiến hành cài đặt bằng cách vào Add/Remove program và Add them vào Service VsFTP. Cách thứ 2: Nếu Linux không có hỗ trợ sẵn VsFTP thì: Truy cập lên địa chỉ ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/vsftpd-2.0.31.i386.rpm để down load file vsftpd-2.0.3-1.i386.rpm về máy File này thực chất chỉ là 1 file nén nhưng khi double click vào thì nó có chức năng tương tự như file . exe bên Windown, nó sẽ tự động bung cho mình những file cần thiết vào đúng những chỗ cần thiết. Sau khi chạy xong file này thì VsFTP đã được cài đặt thành công. “System Setting”  “ Add/Remove Application” 

7.4.1. Cấu hình 1 Server VSFTPD
Sau khi cài đặt xong thì thư mục chính của VsFTP là /etc/vsftp. Bên trong thư mục này sẽ có 1 file cấu hình chính là vsftpd.conf . File này dạng file text.
Khoa CNTT – 05CDTH2 Trang 226

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bên cạnh đó còn 1 file text quan trong nữa là file user_list , chức năng của 2 file này sẽ được trình bày tiếp theo sau: File vsftpd.conf Có 3 dạng biến được sử dụng trong file này để thay đổi các OPTION trong cấu hình. Dạng 1: BOOLEAN OPTION <tên option>=YES hay <tên option>=NO Vd: no_log_lock =NO Dạng 2: NUMERIC OPTION <tên option>=<1 số> Vd: accept_timeout = 60 Dạng 3: STRING OPTION <tên option>=<chuỗi>
Vd: banner_email_file=/etc/banner

7.4.2. User của Server VSFTPD VsFTP dùng chung user với user do linux quản lý. Khi tạo bên Linux 1 user mới với tên và password đầy đủ  thư mục của user đó sẽ là thư mục chính khi user đó đăng nhập vào hệ thống. Chúng ta có thể phân quyền trên thư mục đó để phân quyền người dùng đó trên Server

7.4.3. Một số Option quan trọng
BOOLEAN + listen : Đây là 1 option rât quan trọng dùng để bật tắt chế độ Standalone, mặc định Option này là NO. Tuy nhiên đối với tất cả các máy chạy VsFTP đơn lẻ nhất thiết phải thiết lấp option listen=YES , nếu không thiết lập Server VsFTP sẽ không khởi động được.
Khoa CNTT – 05CDTH2 Trang 227

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux + anomymous : option này nếu =YES thì cho phép đăng nhập vào server với vai trò anomynous. Default =YES. Nếu server FTP người dùng muốn xây dựng và không cho sự xâm nhập của người lạ thì nên set anomynous=NO. + local_enable : có cho phép user hiện đang ở trên local host truy xuất đến Server FTP đang chạy local. Default = NO + write_enable : cho phép user có được ghi lên server hay không. Đây là 1 option quan trọng nó cũng 1 phần quyết định và FTP server ở dạng nào : chỉ đọc, có thể ghi, vvv. Default = NO. + anon_upload_enable : cho phép user anonumous có được upload file hay không. option này phải được cấu hình chun với option write_enable ở phía trên. Nếu muốn user upload file được thì đồng thời bật 2 option này bằng YES. Default = NO + anon_mkdir_enable : cho phép user anonymous tạo được thư mục trên server, nếu bật YES thì write_enable cũng phải bật YES. + download_enable : cho phép User download file hay không. Nếu =NO, tất cả các yêu cầu download đều bị từ chối hết. Default = YES. + userlist_deny: NO cho phép các user trong danh sách trong File user_list được phép truy cập vào FTP (file user_list nằm cùng thư mục với File cấu hình). Nếu YES thì ngược lại. NUMERIC + max_client : khi chết độ standalone được bật tức listen=YES thì max_client này quy định số kết nối tối đa của Client vào Server. Default = 0 . nếu =0 tức là không giới hạn số kết nối. + connect_timeout: quy định thời gian timeout cho 1 connection, được tính bằng giây. Default = 60 + data_connection_timeout : quy định thời gian tối đa để thực hiện việc truyền dữ liệu, quá thời gian này sẽ bị cắt khi truyền . tính bằng giây. Mặc định là 300. Để bảo đảm việc truyền dữ liệu thì chúng ta cũng nên để option này có 1 giá trị cao. + file_open_mode : umask của file sẽ được user upload (nếu server cho phép upload) . Default = 0666
Khoa CNTT – 05CDTH2 Trang 228

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Tham khảo thêm các Option tại địa chỉ : http://vsftpd.beasts.org/vsftpd_conf.html STRING +listren_address: khi server ở chế độ StandAlone địa chỉ lắng nghe mặc định sẽ được thay bằng địa chỉ này. +vsftpd_log_file: tên file log mà server sẽ ghi log xuống + ftp_username: đây là tên user mình sẽ sử dụng để quản lý cho các anonymous user. Default : ftp 7.4.4. Khởi động Sau khi chúng ta cấu hình xong thì công việc tiếp theo đó là cần phải khởi động server . Server có 3 lệnh chính là start, top, restart. Để gọi thực hiện 3 lệnh này thì có 2 cách. Cách 1: lệnh /etc/init.d/vsftpd start /etc/init.d/vsftpd stop /etc/init.d/vsftpd restart Cách 2: là cách để khởi động chung cho các server service vsftpd start service vsftpd stop service vsftpd restar Để có thể mặc định mỗi lần khởi động máy thì VsFTP được khởi động theo: + dùng cho dòng Redhat/ Fedora:
+ dùng cho dòng ubuntu/ debian:

chkconfig vsftpd on sysv-rc-conf on

7.4.5. Testing VSFTPD Sau đây là cách để kiểm tra xem VsFTP có đang hoạt động hay không
Khoa CNTT – 05CDTH2 Trang 229

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Cách 1: vào System Monitor Cách 2: Đánh lệnh sau đây: netstat –a | grep ftp Ý nghĩa của lệnh là hiện ra tất cả các tiến trình đang chạy nền với bộ lọc là các tiến trình FTP Kết quả sau đây ta có được khi VsFTP đã được khởi động: tcp Ví dụ 1 cấu hình 1 Server FTP cho anonymous, có 2 thư mục 1 thư mục B có thể ghi và 1 thư mục A chỉ đọc,có thể download và không ghi được. Bước 1: vào user & group tạo 1 group và user có tên là ftp Sau khi tạo xong thì có 1 thư mục /home/ftp . thư mục này là thư mục chính của user ftp Bước2: vào trong /home/ftp tạo 2 thư mục A và B bằng lệnh: mkdir mkdir A mkdir B Bước 3: Cấu hình Permission cho 2 thư mục Đầu tiên chúng ta nên chuyển quyền sở hữu cho 1 user khác. Nên là user Admin Chuyển quyền sở hữu bằng lệnh chmod 774 A thư mục B cho phép đọc và ghi vơi Anonymous:
Khoa CNTT – 05CDTH2 Trang 230

0

0

*:ftp

*:*

LISTEN

chown

thư mục A chỉ cho phép đọc đối với Anonymous:

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux chmod 776 B Bước 4 Cấu hình lại File vsftpd.conf Các cấu hình cần thiết trong File bây giờ là: listen=YES anonymous=YES write_enable=YES anon_upload_enable=YES download_enable=YES Bước 5: Khởi động VsFTP service vsftpd start Ví dụ 2 Cấu hình 1 server FTP không cho anonymous đăng nhập.có nhiều thư mục, tất cả các user có thể thấy và đọc tất cả các thư mục và chỉ có thư mục của mình là có thể ghi được. Bước 1: Tạo 1 group chung có tên bất kỳ (ở đây lấy tên là xam) Tạo các user thuộc group đó và lấy thư mục chung đó làm thư mục gốc luôn Như vây thư mục đó là /home/xam Bước2: Tạo các thư mục cho các user và phân quyền. Phân quyền 744 cho tất cả các thư mục Bước 3: Cấu hình lại File vsftpd.conf Các cấu hình cần thiết trong File bây giờ là: listen=YES anonymous=NO
Khoa CNTT – 05CDTH2 Trang 231

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux write_enable=YES anon_upload_enable=NO download_enable=YES Bước 4: Khởi động VsFTP service vsftpd start 7.4.6. Thiết lập máy ảo Máy ảo là máy khác các máy trạm truy nhập trên địa chỉ IP khác (địa chỉ IP ảo) và nhận được chuyển hướng tới site FTP khác. Để thiết lập máy ảo, thực hiện các bước sau: Bước 1: thiết lập địa chỉ IP ảo Tạo thêm cho máy tính một địa chỉ IP dùng để phục vụ cho các kết nối FTP. Thí dụ, hiện tại máy tính có một địa chỉ là 192.168.1.2, người dùng tạo thêm địa chỉ 192.168.1.10. Bước 2: tạo tài khoản người dùng và vị trí cho site ảo mới. Để tạo tài khoản người dùng và thư mục chứa nội dung cho site, thực hiện cán lệnh sau: # useradd –d /var/ftp_site2 ftp_site2 # chown root.root /var/ftp_site2 # chmod a+rx /var/ftp_site2 # umask 022 # mkdir /var/ftp_site2/pub # echo “test” > /var/ftp_site2/pud/content Bước 3: thay đổi nội dung site hiện có để trả lời cho địa chỉ IP chính Sửa tập tin /etc/xinetd.d/vsftpd, và bổ sung theo dòng sau:
Khoa CNTT – 05CDTH2 Trang 232

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bind = 192.168.1.2 Bước 4: tạo một site mới, để trả lời cho địa chỉ IP ảo  Tạo một tập tin cấu hình mới # cp /etc/xinetd.d/vsftpd /etc/xinetd.d/vsftpd2  Sửa vsftpd2 như sau: - Sửa dòng bind thành bind = 192.168.1.10 - Bổ sung thêm dòng server_args = /etc/vsftpd_site2.conf, để gọi thi hành site FTP này với tập tin cấu hình vsftpd khác.  Tạo tập tin cấu hình cho vsftpd # cp /etc/vsftpd.conf /etc/vsftpd_site2.conf Bổ sung thêm hai dòng: ftp_username=ftp_site2 ftpd_banner=this is the alternative FTP site Bước 5: khởi động lại xinetd và kiểm tra Khởi động lại xinetd # /etc/rc.d/init.d/xinetd restart Kiểm tra truy nhập $ ftp 192.168.1.2 Connected to 192.168.1.2 (192.168.1.2). 220 ready,dude (vsFTPd 1.1.0: beat me, break me) Name (192.168.1.2:chris): 530 this FTP server is anonymous only. Login failed.
Khoa CNTT – 05CDTH2 Trang 233

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ftp> quit 221 Goodbye $ ftp 192.168.1.10 Connected to 192.168.1.10 (192.168.1.10). 220 this is the alternative FTP site. Name (192.168.1.10: chris): 530 this FTP server is anonymous only. Login failed ftp> 7.4.7. Kết nối tới FTP Server Để kết nối tới FTP ta có thể dùng nhiều cách khác nhau như trình duyệt web hay phần mềm. Đây là cách truy cập bằng trình duyệt Sử dụng bằng trình duyệt IE:

Hình 7.3 Kết nối FTP Server bằng trình duyệt IE

Khoa CNTT – 05CDTH2

Trang 234

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux FTP server yêu cầu bạn nhập username và password (nếu có)

Hình 7.4 Nhập thông tin tài khoản

Giao diện sau khi đăng nhập thành công

Hình 7.5 Sau khi login thành công

8.

Dịch Vụ Web Server (WWW)
Trang 235

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

8.1.Giới thiệu
Apache: web server phổ biến nhất, chiếm 2/3 tổng số web server hiện nay (theo thống kê của Netcraft, http://www.netcraft.com). Apache là một phần mềm có hiều tính năng mạnh và linh hoạt dùng để làm Webserver. Hỗ trợ đầy đủ những giao thức HTT trước đây như HTTP/1.1. Có thể cấu hình và mở rông với những module cảu công ty thứ 3. Cung cấp source code đầy đủ với license không hạn chế. Chạy trên nhiều hệ điều hành như Windows NT/9x, Netware 5.x, OS/2 và trên hầu hết các hệ điều hành Unix. Để sử dụng Fedora Core như một web server, bạn thực hiện theo các bước sau:

Cài đặt Apache. Cài đặt công cụ system-config-httpd để cấu

• hình Apache web server • web server khi khởi động hệ thống. • đổi các yêu cầu của web

Cấu hình Linux để tự động khởi động Apache

Cấu hình firewall của Linux để cho phép trao

8.2.Cài đặt và cấu hình bằng giao diện
Ta có thể download apache từ website chính sau: http://www.apache.org 8.2.1. Cài Đặt Dùng công cụ Package Management để cài đặt. Chọn Desktop > System Settings > Add/ Remove Applications.
Khoa CNTT – 05CDTH2 Trang 236

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Kéo thanh trượt xuống, check vào Web Server.

Hình 8.1 Sử dụng công cụ cài đặt Apache bằng giao diện đồ họa

Tiếp theo cài đặt công cụ system-config-tool trong mục Server configuration tools Chọn mục Detail ở phía bên phải của Server Configuration Tools

Khoa CNTT – 05CDTH2

Trang 237

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 8.2 Cài đặt công cụ cấu hình Apache bằng giao diện

Tiếp theo chọn vào dòng system-config-tool – Apache configuration tool, sau đó chọn Close.

Hình 8.3 Chọn gói system-config-httpd để cài đặt

 Cuối cùng chọn click vào nút Update để cài đặt các gói đã chọn.

8.2.2. Cấu Hình HTTP Configuration Tool cho phép tập tin cấu hình /etc/httpd/conf/httpd.conf của Apache HTTP Server bằng giao diện

Khoa CNTT – 05CDTH2

Trang 238

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để gọi chương trình, vào Main Menu Button => System Settings => Server Settings => HTTP hay gọi lệnh # system-config-httpd. Sử dụng HTTP Configuration Tool để cấu hình Apache HTTP Server thường gồm những bước sau :
• • • • • • •

Cấu hình những cài đặt cơ bản trong thẻ Main Chọn thẻ Virtual Host và cấu hình những cài đặt mặc định. Cấu hình Virtual Host mặc định. Cấu hình các cài đặt cho server trong thẻ Server. Cấu hình các cài đặt của các kết nối trong thẻ Performance Tuning. Sao chép tất cả các tập tin cần thiết đến thư mục DocumentRoot và cgi-bin. Thoát khỏi ứng dụng và lưu những cài đặt lại. • Thẻ Main

Khoa CNTT – 05CDTH2

Trang 239

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 8.4 Giao diện httpd

• • •

Server Name : nhập tên máy server. Webmaster email address : địa chỉ email của người quản trị web server. Available address : chỉ định các port mà server chấp nhận khi có yêu cầu

gửi đến, Chọn add để thêm port vào.

Hình 8.5 Chọn địa chỉ Ip cho phép kết nối đến Apache

• • •

Listen to all addresses : chấp nhận tất cả các port kết nối tới. Address :nhập địa chỉ IP cho phép kết nối. Port : chọn port tương ứng với địa chỉ IP trên.

Chọn Edit để hiệu chỉnh thông tin của port kết nối. Thẻ Virtual Hosts :

Khoa CNTT – 05CDTH2

Trang 240

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.6 Thẻ virtual host

Click vào nút Edit Default Settings để chỉnh sửa lại cấu hình mặc định. • Thẻ Page Options:

Khoa CNTT – 05CDTH2

Trang 241

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.7 Thẻ Page Option

• Directory Page Search List : danh sách các trang sẽ được gọi khi có yêu cầu Chọn Add để thêm tập tin sẽ được tìm kiếm khi có yêu cầu.

Khoa CNTT – 05CDTH2

Trang 242

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.8 Nhập tên tập tin

Error pages : các trang thông tin lỗi. => Các giá trị mặc định của Directory Page Search List và Error pages đã làm việc

tương thích với hầu hết các server. Bạn cũng có thể chỉnh sửa theo ý mình. Default Error Page Footer : trang Footer lỗi mặc định. • Show footer with email address : hiển thị footer ở cuối của tất cả các trang bị lỗi kèm với địa chỉ email. • Show footer : chỉ hiển thị footer ở cuối trang bị lỗi. • No footer : không hiển thị footer • Thẻ logging:

Khoa CNTT – 05CDTH2

Trang 243

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.9 Thẻ login

Transfer log : chứa danh sách tất cả các kết nối tới web server. Nó ghi lại địa chỉ IP của máy client kết nối tới, thời gian kết nối, và các tập tin trên web server mà client đã lấy về. Error log : chứa tất cả các lỗi xảy ra khi client kết nối tới. =>Mặc định, server sẽ ghi thông tin truy cập vào trong tập tin log /var/log/httpd/access_log và ghi các lỗi vào trong log /var/log/httpd/error_log • Log to file : ghi thông tin log vào tập tin được chỉ định.

Khoa CNTT – 05CDTH2

Trang 244

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Log to program : ghi thông tin log vào chương trình được chỉ định. • Use system log : sử dụng tập tin log của hệ thống. -Log Level : chọn cấp độ log. Các cấp độ có thể chọn là emerg, alert, crit, error, warn, notice, info hoặc debug. -Reverse DNS Lookup : chọn chế độ tìm kiếm tên miền theo hostname. + No Reverse Lookup : tắt. + Reverse Lookup : bật. + Double Reverse Lookup : bật chế độ phân giải tên miền 2 lần. • Thẻ Environment Thỉnh thoảng chúng ta cũng cần phải hiệu chỉnh các biến môi trường để thực hiện được các mã kịch bản CGI và hay các trang SSI (server-side include). Apache HTTP Server có thể sử dụng module mod_env để cấu hình các biến môi trường này.

Hình 8.10 Thẻ Environment

Khoa CNTT – 05CDTH2

Trang 245

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Set for CGI Scripts : đưa biến môi trường để có thể thực thi CGI scripts và các trang SSI. VD: để đưa biến môi trường MAXNUM có giá trị là 50 vào, ta chọn Add , trong phần Environment Variable gõ MAXNUM, phần Value gõ 50.

Hình 8.11 Biến môi trường

Pass to CGI Scripts: đưa vào giá trị của các biến môi trường để server có thể thực thi được các CGI script. Unset for CGI Scripts: đưa vào tên của biến môi trường không cho phép thực thi các CGI script hoặc các trang SSI.

Hình 8.12 Biến môi trường

• Thẻ Performance

Khoa CNTT – 05CDTH2

Trang 246

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.13 Thẻ Performance

Nhấp chọn nút Edit ở góc phải để cấu hình các tuỳ chọn mặc định cho tất cả các thư mục ngoại trừ các thư mục trong mục Directory.

Khoa CNTT – 05CDTH2

Trang 247

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.14 Các tùy chọn mặc định cho thư mục

• ExecCGI: cho phép thực thi các CGI script. • FollowSymLinks: cho phép các liên kết đi kèm • Includes: cho phép thực thi các trang SSI (server-side includes) • IncludesNOEXEC: cho phép thực thi các trang SSI nhưng tắt các dòng lệnh #exec và #include trong CGI script. • Indexes: trình bày nội dung thư mục theo khuôn mẫu nếu DirectoryIndex (vd : index.html) không có trong thư mục được yêu cầu.
• •

Multiview : bật tính năng hỗ trợ xem đa chiều (mặc định: tắt tính năng này) SymLinksIfOwnerMatch: chỉ cho phép các liên kết kèm theo nếu tập tin hay

thư mục nguồn cũng có các liên kết giống như vậy. Để cấu hình tuỳ chọn cho một thư mục cụ thể, nhấp chọn nút Add trong mục Directory.

Khoa CNTT – 05CDTH2

Trang 248

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.15 Các cài đặt của thư mục mặc định

 Order • Let all host access this directory: cho phép tất cả các máy khách truy cập thư mục này • Process Deny list before Allow list: xử lý mục Deny list trước mục Allow list. • Process Allow list before Deny list: xử lý mục Allow list trước mục Deny list.  Deny list • Deny access from all hosts: cấm tất cả các máy khác truy cập. • Deny hosts from: cấm truy cập từ máy 

Allow list Allow access from all hosts: cho phép tất cả các máy khác truy cập.
Trang 249

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Allow hosts from: cho phép truy cập từ máy.

Các giá trị hợp lệ trong mục Deny hosts from và Allow hosts from Ví dụ Ý nghĩa all Tất cả kết nối tới 192.168.1.148 Từ một địa chỉ IP cụ thể 192.168.1.0/255.255.255.0 Một đường mạng Một định tuyến liên miền lớp (classless interdomain 10.3.0.0/16 routing) Let .htaccess files override directory options : các chỉ thị cấu hình trong tập tin .htcacess theo một thứ tự trước sau. Cấu hình virtual hosts (máy ảo) Virtual hosts cho phép chạy các server khác nhau dựa vào các địa chỉ IP khác nhau, hoặc tên khác nhau hoặc dựa vào các port (cổng) khác nhau trên cùng một máy server. Có 2 kiểu virtual host: "IP-based" (mỗi IP cho một web-site) và "name-based" (nhiều web-site trên một IP). Cần hiểu rõ đặc điểm của mỗi loại (xem http://httpd.apache.org/docs-2.0/vhosts/), tùy vào điều kiện hiện có (số IP) và những yêu cầu cụ thể (mô hình dịch vụ) để chọn cách thích hợp.

Thêm hoặc chỉnh sửa máy ảo (virtual host) Nhấp chọn nút Add để thêm một máy ảo. Nhấp chọn nút Edit chỉnh sửa lại một máy ảo đã có sẵn.

 Mục General Options: các cài đặt trong mục này chỉ có hiệu lực với virtual host

đang cấu hình. Basic Setup • Virtual Host Name: đặt tên cho máy ảo. • Document Root Directory: đường dẫn tới thư mục chứa trang chủ (vd: index.html)
Khoa CNTT – 05CDTH2 Trang 250

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Webmaster email address: địa chỉ email của người quản trị web server. Host information : thông tin về các máy client.
• IP based Virtual Host: mỗi IP cho mỗi web-site

Hình 8.16 Thẻ virtual hosts

IP address: nhập địa chỉ IP. Để chỉ định nhiều địa chỉ IP, mỗi địa chỉ IP cách

nhau khoảng trắng. Để cấu hình một port, sử dụng cú pháp IP Address:Port . Để cấu hình tất cả các port cho địa chỉ IP, sử dụng IP Address:* • Server Host Name : chỉ định tên máy ảo.

Name based Virtual Host : nhiều web-site trên một IP dựa vào tên ảo.
Khoa CNTT – 05CDTH2 Trang 251

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Cái điểm yếu của việc sử dụng tên ảo dựa vào tên là bạn không thể xài SSL (https://) cho tất cả các tên vì SSL yêu cầu mỗi tên phải có riêng một IP trong khi sử dụng tên ảo dựa vào tên thì bạn chỉ có một IP duy nhất cho nhiều tên khác nhau.

Hình 8.17 Thẻ virtual hosts

• IP address: chỉ định địa chỉ IP. • Server Host Name: chỉ định tên máy ảo. • Trong mục Alias, nhấp chọn Add để thêm một bí danh (alias) cho máy. Default Virtual Host: các cài đặt của máy ảo mặc định được sử dụng khi yêu cầu của địa chỉ IP không có trong các máy ảo khác. Nếu máy ảo mặc định không xác

Khoa CNTT – 05CDTH2

Trang 252

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux định được thì những cài đặt trong Main server được sử dụng. (nên chỉ có một máy ảo mặc định).

Hình 8.18 Default Virtual Host

All request on port: đáp ứng tất cả các yêu cầu đến từ port.

Thẻ SSL: Trong hơn mười năm, giao thức SSL đã được sử dụng rộng rãi nhằm vào mục đích

đảm bảo an toàn cho các giao dịch web qua internet. Bạn có thể tưởng tượng mỗi ngày có hàng triệu, hàng tỉ đô la giao dịch trên mạng dùng SSL. Tuy nhiên, sự thật giản dị là chúng ta đã dùng SSL một cách không thực sự cần thiết. Các thông tin được gửi qua giao thức này vẫn đảm bảo an toàn. Cách mã hoá yếu, không kiểm chứng
Khoa CNTT – 05CDTH2 Trang 253

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux được các certificate (chứng chỉ) của web servers (trên máy chủ), những lỗ hổng an ninh, cùng nhiều kiểu tấn công khác có thể cho phép những kẻ xâm nhập truy cập thông tin nhạy cảm, bất chấp sự thật rằng nó đang được gửi qua SSL. Giới thiệu về SSL Secure Sockets Layer (SSL) là giao thức được biết đến nhiều nhất về khả năng bảo mật và độ tin cậy trong giao dịch khách - chủ (client-server) trên mạng internet. Bản thân SSL được dựa trên các khái niệm khá đơn giản. Nó sắp xếp các thuật toán mã hoá và khoá giữa 2 lần gửi - nhận của một giao dịch. Sau đó thiết lập một đưòng dẫn ảo mã hoá thông qua các giao thức khác (như HTTP). SSL cũng có thể thẩm định cả hai chiều của giao dịch thông qua việc dùng các “chứng chỉ” (certificate). SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau: * Giao thức SSL Handshake * Giao thức SSL Change Cipher Spec * Giao thức SSL Alert * SSL Record Layer Vị trí của các giao thức trên, tương ứng với mô hình TCP/IP được minh hoạ theo biểu đồ sau: http://img115.imageshack.us/img115/2848/ssl01ms0.jpg Biểu đồ 1. Các giao thức con của SSL trong mô hình TCP/IP Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP. Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP. Điều này mang lại cho SSL sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP Security Protocol). Vì giao thức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCP/IP. SSL cũng có thể dễ dàng vượt qua tường lửa và proxy, cũng như NAT (Network Address Translation) mà không cần nguồn cung cấp.
Khoa CNTT – 05CDTH2 Trang 254

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux SSL hoạt động như thế nào? Biểu đồ dưới đây sẽ chỉ ra một cách đơn giản với từng bước quá trình thiết lập kết nối SSL giữa máy khách (client – dùng một đường dẫn web browser) và máy chủ (server – dùng một SSL web server) Như bạn thấy trên hình, quá trình thiết lập kết nối SSL bắt đầu bằng việc trao đổi các tham số mã hoá và sau đó xác nhận các server một cách tuỳ ý (dùng gia thức SSL Handshake). Nếu “bắt tay” (Handshake) thành công, cả hai chiều đều chấp nhận bộ mã hoá chung và các khoá mã hoá, thì dữ liệu ở tầng ứng dụng (thông thường dùng HTTP, nhưng cũng có thể là một giao thức khác) có thể được gửi thông qua đường hầm (tunnel) mã hoá (dùng SSL Record Layer). Trong thực tế, tiến trình trên còn phức tạp hơn một chút. Để tránh những cái “bắt tay” không cần thiết, một số tham số mã hoá được giữ lại. Các thông báo được gửi đi. Bộ mã hoá cũng có thể được thay đổi. Tuy nhiên, bất chấp các đặc điểm kĩ thuật đó, cách thức phổ biến nhất của tiến trình này làm việc thực sự như trên SSL, PCT, TLS và WTLS (nhưng không có SSH) - SSL v2.0 Phiên bản này được tạo ra bởi Netscape Communications năm 1994. Mục đích chính của giao thức này là cung cấp an toàn cho các giao dịch trên World Wide Web. Thật không may, nhanh chóng sau đó người ta thấy con số yếu kém về an toàn trong phiên bản đầu của giao thức SSL này. Do đó làm cho nó kém tin cậy hơn với cách dùng mang tính chất thương mại. * Cấu trúc của MAC yếu. * Có khả năng để các nhóm bắt buộc dùng bộ mã hoá yếu * Không bảo vệ quá trình “bắt tay” * Có khả năng những kẻ tấn công dùng kiểu cắt xén (truncation attack) - PCT v1.0

Khoa CNTT – 05CDTH2

Trang 255

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Được phát triển bởi Microsoft vào năm 1995. PCT (Privacy Communication Technology ) v1.0 địa chỉ hoá một số điểm yếu của SSL 2.0 và đặt ra mục tiêu là thay thế SSL. Tuy nhiên giao thức này đã không bao giờ thu được kết quả phổ biến như là SSL v3.0. - SSL v3.0 Được phát hành vào năm 1996 bởi Netscape Communications. SSL v3.0 giải quyết hầu hết các vấn đề của SSL v2.0 và kết hợp rất nhiều thành phần của PCT. Nhanh chóng sau đó nó trở thành giao thức phổ biến nhất cho an toàn truyền thông trên World Wide Web. - TLS v1.0 (được biết đến như là SSL v3.1) Được đưa ra bởi IETF vào năm 1999 (RFC 2246). Giao thức này dựa trên SSL v3.0 và PCT. Nó cân bằng cả hai cách thức của Netscape và Microsoft. Cũng cần chú ý rằng, mặc dù TLS dựa trên SSL, nhưng nó không phải là phiên bản sau tương thích 100% với các bản trước nó. IETF đã thực hiện môt số cải tiến về an toàn. Chẳng hạn như dùng HMAC thay vì MAC, dùng phép tính toán khác trong bảo mật của máy chủ và tài liệu khoá (key), thêm các bộ chỉnh sửa, không hỗ trợ bộ mã hoá Fortezza, v.v… Kết quả của những nâng cấp này là các giao thức không hoạt động được một cách đầy đủ. Cuối cùng TLS cũng rơi vào lãng quên so với SSL v3.0. -WTLS Phiên bản “di động và không dây” của giao thức TLS, sử dụng giao thức UDP như là một hãng truyền thông. WTLS được thiết kế và tối ưu cho các băng thông thấp hơn, các tiến trình nhỏ hơn với các thiết bị di động cho phép dùng WAP. WTLS đưa ra cùng giao thức WAP 1.1 bởi WAP Forum. Tuy nhiên, sau khi giao thức WAP 2.0 được giới thiệu, WTLS bị thay thế bởi một phiên bản nguyên trạng của TLS với mức an toàn cao hơn. Nó không cần phải giải mã hay mã hoá lại lưu lượng tại cổng vào của WAP. - Vì sao giao thức SSH lại không được dùng cho mục đích đảm bảo an ninh khi truy cập WWW?
Khoa CNTT – 05CDTH2 Trang 256

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux + Có một vài lí do! Đầu tiên, ngay từ khi bắt đầu, TLS và SSL đã được thiết kế cho các phiên an ninh mạng (HTTP), trong khi SSH được lùi lại để thay thế cho Telnet và FTP. SSL không làm gì hơn là “bắt tay” và thiết lập các “đường hầm mã hoá” . Và tại cùng thời gian đó, SSH đưa ra cách đăng nhập giữa người - máy, truyền tải các file an toàn, hỗ trợ cho nhiều bước kiểm tra quyền (bao gồm mật khẩu, các khoá chung, Kerberos…). Mặt khác SSL/TLS dựa trên các chứng chỉ X.509v3 và PKT, các chứng chỉ này tạo nên sự phân phối và quản lí khả năng thẩm định quyền hạn dễ dàng hơn nhiều. Với những lí do này và một số lí do khác nữa làm cho SSL/TLS ngày càng phù hợp hơn an toàn truy cập WWW và các kiểu khác tương tự trong truyền thông, bao gồm SMTP, LDAP… trong khi SSH ngày càng thuận tiện cho việc quản lí các hệ thống từ xa. =>Nói tóm lại, mặc dù trong thực tế có nhiều giao thức “an toàn” nhưng ta chỉ nên dùng hai giao thức giao dịch web (ít nhất tại thời điểm này) là: TLS v1.0 và SSL v3.0. Cả hai đều được nhấn mạnh với cái tên đơn giản là SSL/TLS. Bởi những điểm yếu kém đã được biết đến của SSL v2.0 và “lỗ hổng WAP” nổi tiếng của WTLS, chúng ta nên tránh dùng các giao thức này, hoặc ít nhất là hạn chế ở mức thấp nhất.

Khoa CNTT – 05CDTH2

Trang 257

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.19 Thẻ SSL

server.key – khoá private của web server server.crt - chứng chỉ mã hoá PEM bao gồm cả khoá public của web browser Lưu ý : bạn không thể sử dụng máy ảo dựa vào tên cùng với giao thức SSL Enable SSL support : kích hoạt SSL. Nếu một Apache HTTP Server không cấu hình bật tính năng SSL thì giao tiếp giữa Apache HTTP Server và client không được mã hóa.

Khoa CNTT – 05CDTH2

Trang 258

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Thẻ Server Settings:

Hình 8.20 Thẻ Server

Thường các giá trị mặc định đã tương thích với mọi hoàn cảnh, tuy nhiên bạn có thể chỉnh sửa lại cho phù hợp với nhu cầu. • Lock File: tập tin chứa các đường dẫn đến các tập tin chỉ được phép đọc bởi tài khoản root. • PID File: tập tin mà server ghi vào định danh tiến trình của nó.

Core Dump Directory: là thư mục mà Apache HTTP Server sẽ

chuyển vào trước khi bị hệ thống bị dump. • User: tài khoản mà máy client dùng để kết nối tới web server (mặc định là apache)

Khoa CNTT – 05CDTH2

Trang 259

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Group : nhóm người cho phép kết nối tới web server (mặc định là apache) • Thẻ Perfomance Tuning:

Hình 8.21 Thẻ Perfomance Tuning

• •

Max Number of Connections : số lượng tối đa kết nối tới. Connection Timeout: khoảng thời gian server sẽ đợi để nhận và truyền dữ liệu suốt kết nối (mặc định : 300 giây)

Max requests per connection: số lượng tối đa các yêu cầu của mỗi kết nối (mặc định là 100)

Allow unlimited requests per connection: cho phép mỗi kết nối có thể gửi yêu cầu không giới hạn.

Allow Persistent Connections: cho phép các kết nối ổn định

Khoa CNTT – 05CDTH2

Trang 260

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Timeout for next Connection: số giây để server đợi một yêu cầu tiếp theo sau một yêu cầu đã được đáp ứng, trước khi nó đóng kết nối. =>> cuối cùng chọn Cancel để không save cấu hình của Apache HTTP Server. Chọn Yes để lưu lại những cài đặt này vào trong tập tin /etc/httpd/conf/httpd.conf Khởi động lại web server để các cài đặt có hiệu lực bằng lệnh: #service httpd restart • Sử dụng: Mở trình duyệt web Applications > Internet > FireFox Web Browser Tại thanh address : nhập http://localhost Nếu thấy trang Test Page thì bạn đã thành công.

Hình 8.22 Test hoạt động của web apache

Khoa CNTT – 05CDTH2

Trang 261

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Tiếp theo, bạn chép những website muốn truy cập vào /var/www/html để thực thi. Giả sử ta có tập tin hello.html và hello.asp trong thư mục /var/www/html.

Hình 8.23 Các tập tin trong thư mục /var/www/html

Chạy trang hello.html trên apache web server bằng cách nhập vào địa chỉ : http://192.168.100.1/hello.html

Hình 8.24 Gọi trang hello.html

8.3.Cài đặt và cấu hình bằng dòng lệnh
8.3.1. Cài Đặt • Cài đặt
Khoa CNTT – 05CDTH2 Trang 262

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux cd ../apache_1.3.22 ./configure --prefix=/usr/local/apache --enable-module=most --enablehared=max make make install File cấu hình chính của Apache được lưu trữ trong /etc/httpd/conf/httpd.conf Cấu hình được lưu trữ trong /etc/httpd/conf.d/ Đầu tiên tốt nhất là backup lại file cấu hình bằng dòng lệnh: # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup-1 • Khởi động Apache. Mặc định thì dịch vụ Apache chưa được kích hoạt. Để khởi động, sử dụng công cụ hoặc dùng dòng lệnh: # service httpd start Để chắc chắn là Apache sẽ khởi động mỗi lần hệ thống boot, hãy enable dịch vụ Apache. Khi thay đổi cấu hình của Apache, bạn phải reload lại Apache bằng dòng lệnh: # service httpd reload • Kiểm tra Apache:

Dùng trình duyệt web có sẵn trong Linux như Firefox, truy cập vào địa chỉ http://localhost, bạn sẽ thấy trang web hiện ra như sau:

Khoa CNTT – 05CDTH2

Trang 263

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.25 Kiểm tra hoạt động của apache

Bạn có thể truy cập vào trang web trên server từ xa thông qua địa chỉ IP của server (ví dụ như http://192.168.1.1/ ), hoặc nếu như dịch vụ DNS có hổ trợ thì bạn có thể truy cập thông qua hostname của server (ví dụ như http://linuxgroup.com/) 8.3.2. Cấu Hình a. Các tham số chủ yếu trong tập tin cấu hình httpd.conf: ***Global Environment +ServerRoot : nơi đặt tập tin cấu hình Cú pháp : ServerRoot vd: <đường_dẫn_thư_mục>

ServerRoot “/etc/httpd”

Khoa CNTT – 05CDTH2

Trang 264

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux +Listen : quy định địa chỉ IP hoặc cổng mà web server nhận kết nối từclient. Cú pháp: Listen <IP:port> #cổng 80 ở tất cả các card mạng. #công 8080 của 1 card mạng

Ví dụ : Listen 8080

Listen 192.168.5.6:8080

TimeOut <time> : qui định thời gian sống của một kết nối (tính bằng giây). Ví du: TimeOut 300

KeepAlive <On/Off> : cho phép hoặc không cho phép client gửi được nhiều yêu cầu dựa trên một kết nối với web server

Ví du: KeepAlive On

MaxKeepAliveRequest <số_request> : số tối đa của request trên một kết nối (nếu cho phép nhiều Request trên một kết nối)

Ví du: MaxKeepAliveRequest 100

KeepAliveTimeOut <time> : qui định thời gian để chờ cho một Request kế tiếp từ cùng một client trên cùng một kết nối (được tinh bằng giây) Ví dụ: KeepAliveTimeOut 15

MaxClients <number> : qui định số yêu cầu tối đa từ các client gửi đồng thời đến server

Ví du : MaxClients 256

BindAddress <IP/*> : qui định địa chỉ card mạng để chạy Apache trên server. Sử dụng dấu “ * ” để có thể sử dụng tất cả các địa chỉ có trên máy.

Ví dụ BindAddress 192.168.5.5 Mặc định là : BindAddress * ***Main' server configuration

Khoa CNTT – 05CDTH2

Trang 265

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
• • •

User Group

apache apache

ServerAdmin < email> : địa chỉ email của người quản trị website root@linuxgroup.com

Ví dụ : ServerAdmin

ServerName <name/IP> tên hoặc địa chỉ của

Ví du: ServerName www.linuxgroup.com

DocumentRoot <path>: nơi đặt dữ liệu web

Ví dụ : DocumentRoot /var/www/html # cấu hình server mặc định (xem DocumentRoot) <directory></directory>var/www/html"> Options Indexes FollowSymLinks AllowOverride AuthConfig Limit # cho phép mọi người xem trang web chính Order allow,deny Allow from all

Homepage cá nhân kiều http://www.domain.com/~user

<ifmodule> # không sử dụng UserDir disable # trường hợp sử dụng: chỉ định nơi đặt dữ liệu # UserDir public_html </ifmodule>

ServerSignature Off : không hiển thị thông tin về server
Trang 266

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

AddDefaultCharset UTF-8 : bộ mã mặc định

DirectoryIndex <danh_sách_tập_tin> : các tập tin mặc định khi truy cập tên website Ví dụ : DirectoryIndex index.html index.html index.php index.cgi

ErrorLog <vị_trí_tập_tin_log> : chỉ định tập tin để server ghi vào bất kỳ những lỗi mà nó gặp phải.

Ví dụ : ErrorLog logs/error_log Nếu đường dẫn không có dấu / thì vị trí tập tin log liên quan đến ServerRoot

Alias <đường_dẫn_http> <đường_dẫn_cục_bộ> : ánh xạ đường dẫn cục bộ (không nằm trong DocumentRoot) thành đường dẫn http

Ví dụ : Alias /manual

/var/www/manual

Để giới hạn việc truy cập củangười dùng, ta có thể kết hợp với các khai báo Directory như ví dụ sau: Alias /manual <Directory AuthType /var/www/manual /var/www/manual> Basic /etc/httpd/passwd

AuthName intranet AuthUserFile Require user tien phuoc sau phi Allow from linuxgroup.com </Directory>

UserDir : cho phép người dùng tạo Homepage của minh lên server

Ví dụ : UserDir www

Khoa CNTT – 05CDTH2

Trang 267

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux <Directory /home/mimi/www>

Order deny,allow Allow from all </Directory> =>> trong thư mục home directory của người dùng mimi tạo thư mục www. Khi đó cú pháp truy cập từ web browser là http://www.linuxgroup.com/~mimi ***Virtual Hosts : là tinh năng của Apache giúp ta duy trì nhiều hơn một web server trên một máy tính. + Named-based Virtual Hosts : server dựa vào HTTP header của client để biết được hostname. Sử dụng kỹ thuật này một địa chỉ IP có thể có nhiều tên miền khác nhau. Ví dụ: bạn tạo ra 2 web server www.domain1.linuxgroup.com và www.domain2.linuxgroup.com trên một máy tính có IP 192.168.5.5 như sau: # cho http (cổng 8080) NameVirtualHost *:8080 <virtualhost 192.168.5.5> ServerName www.domain1.linuxgroup.com DocumentRoot /var/www/domain1 ServerAdmin domain1@linuxgroup.com ErrorLog /var/log/httpd/A/error_log CustomLog /var/log/httpd/A/access_log combined <directory></directory>var/www/domain1"> AllowOverride AuthConfig Limit </virtualhost> <virtualhost 192.168.5.5>
Khoa CNTT – 05CDTH2 Trang 268

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ServerName www.domain2.linuxgroup.com # gõ http://domain2.linuxgroup.com sẽ chuyển đến

http://www.domain2.linuxgroup.com ServerAlias domain2.linuxgroup.com *.domain2.linuxgroup.com DocumentRoot /var/www/domain2 ServerAdmin domain2@linuxgroup.com ErrorLog /var/log/httpd/B/error_log CustomLog /var/log/httpd/B/access_log combined <directory></directory>var/www/domain2"> AllowOverride AuthConfig FileInfo Limit Options </virtualhost> =>> lưu ý: bạn phải cấu hình DNS phân giải 2 tên miền www.domain1.linuxgroup.com và www.domain2.linuxgroup.com về cùng một địa chỉ 192.168.5.5 Cấu hình SSL/TLS +Tiếp theo, khai báo IP và port trong httpd.conf # cho https (cổng 443) NameVirtualHost 192.168.5.15:443 # trang web https://www.A-domain.name # tham khảo file /etc/httpd/conf.d/ssl.conf <virtualhost> ServerName www.A-domain.name DocumentRoot /var/www/html

Khoa CNTT – 05CDTH2

Trang 269

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ServerAdmin webmaster@A-domain.name ErrorLog /var/log/httpd/A/error_log CustomLog /var/log/httpd/access_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA: +HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL <files> SSLOptions +StdEnvVars </files> <directory></directory>var/www/cgi-bin"> SSLOptions +StdEnvVars SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key </virtualhost> b. Định cấu hình truy cập Apache sử dụng đường dẫn thư mục để kiểm soát sự truy cập vào thư mục trên hệ thống máy tình của bạn. Thư mục root được cấu hình đầu tiên: <Directory /> Options FollowSymLinks AllowOverride None </Directory>

Khoa CNTT – 05CDTH2

Trang 270

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Chỉ dẫn Option gồm các trạng thái: nó chỉ rõ quền của các thư mục này. Trong trường hợp này, tất cả các sự truy cập vào thư mục root và các thư mục con, toàn bộ hệ thống ngăn cấm truy cập vào các đường dẫn. Thư mục chứa trong thư mục /var/www/html và các thư mục con của nó: <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order Allow,Deny Allow from all </Directory> Các giá trị của Option được lựa chọn trong danh sách sau: • • • All: Mặc định, cho phép mọi sự truy cập cho Multiview. ExecCGI: Cho phép thực thi các đoạn Script. FollowSymLinks, SymLinksIfOwnerMatch: Nếu FollowSynLinks

đuợc định nghĩa Apache sẽ theo ký hiệu lêin kết dẫn tới hoặc từ thư mục nào. Nếu SymLinksIfOwnerMatch đựơc định nghĩa, các liên kết và các đường phải thuộc vào cùng user.

Includes, IncludesNoExec: Một file có thế bao gồm (Includes) một

file khác, có hoặc không có khả năng (Includes và IncludesNoExec, theo thứ tự) để thực thi các file khác. Các file sử dụng đặc điểm này phải có tên file với phần mở rộng là .shtml và có thể bao gồm các chỉ dẫn ví dụ như <!--#include virtual="footer.html" --> hoặc <!--#exec cmd="/usr/bin/cal" --> để thêm file footer.html hoặc xuất ra dòng lệnh, theo thứ tự. • Indexes : Một trang Index.html thường được đáp ứng như một chỉ

mục cho thư mục.
Khoa CNTT – 05CDTH2 Trang 271

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux c. Cài đặt Mysql và php: Bạn đưa đĩa cd cài đặt Fedora vào ổ cd Mount đĩa cd bằng lệnh : mount /dev/cdrom /mnt/cdrom/ Chuyển vào thư mục chứa các gói rpm trong đĩa cài đặt: mount /mnt/cdrom/Fedora/RPMs Sử dụng lệnh rpm cài đặt các gói sau: • Cài đặt mysql rpm -ivh mysql-bench-4.11.1-2.rpm rpm -ivh mysql-4.11.1-2.rpm rpm -ivh mysqlclient10-3.23.58-6.rpm rpm -ivh mysql-server-4.11.1-2.rpm • Cài đặt php rpm -ivh php-mysql-5.0.4-10.rpm rpm -ivh php-5.0.4-10.rpm rpm -ivh php-ldap-5.0.4-10.rpm rpm -ivh php-pear-5.0.4-10.rpm  Cấu hình mysql Tạo nhóm (nhóm này có tên là mysql) groupadd mysql Tạo tài khoản người dùng useradd -g mysql mysql Cấp quyền cho người dùng mysql chown -R root /usr/local/mysql
Khoa CNTT – 05CDTH2 Trang 272

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux chown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql Đến đây việc cài Mysql đã hoàn tất . Chạy tiếp để test MySQL Gọi lệnh để khởi động /tắt/khởi động lại dịch vụ mysqld /etc/init.d/mysqld start/stop/restart Gọi lệnh "mysqladmin version" để kiểm tra số phiên bản

Hình 8.26 Kiểm tra số phiên bản

Chú ý : Kiểm tra file mysql.sock có thể nó không tồn tại Kiểm tra file /etc/my.cnf và thay đổi đường dẫn chứa file mysql.sock Để tạo password mới (ví dụ như root) mysqladmin -u root password root Nếu bạn sử dụng trên domain thì có thể sử dụng mysqladmin -u root -h linuxgroup.com root linuxgroupadmin
Khoa CNTT – 05CDTH2 Trang 273

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ( linuxgroup.com là domain sử dụng, linuxgroupadmin là password mới ) Bây giờ bạn hãy truy cập vào mysql thử xem bằng tài khoản root như sau:

Hình 8.27 Truy cập vào Mysql

 Cấu hình PHP

Mở tập tin cấu hình webserver /etc/httpd/conf/httpd.conf tìm dòng AddModule, thêm vào dòng sau: AddModule mod_php5.c Tìm dòng LoadModule, thêm vào LoadModule php5_module libexec/libphp5.so Tìm dòng <IfModule mod_dir.c> thay đổi nó thành <IfModule mod_dir.c> DirectoryIndex index.php default.php index.html index.htm </IfModule> Tạo tập tin default.php trong thư mục /var/www/html và chạy thử như sau : echo "<html><body><?hello world ?></body></html>" > "/var/www/html/index.php”

Khoa CNTT – 05CDTH2

Trang 274

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 8.28 Gọi trang default.php

Tập tin cấu hình chính của PHP là /etc/php.ini
9.

Dịch vụ Mail Server
9.1.Khái niệm
Thư điện tử, Electronic mail, Email, là dịch vụ có thể nói là quan trọng nhất đối với người sử dụng Internet. Do tính phổ cập của email, việc cấu hình tốt Mail server, tạo điều kiện cho người sử dụng có thể trao đổi Email là công việc đầu tiên và quan trọng nhất của người quản trị. Một cấu hình sai email có thể dẫn đấn tình trạng không gửi hoặc nhận được thư, hoặc tệ hơn là mất thư mà không có phản hồi. Hoạt động của dịch vụ mail gắn rất chặt chẽ với cầu hình của DNS.

9.2.Những giao thức Mail
 Hệ thống Mail được xây dụng dụa trên một số giao thức sau : • SMTP ( Simple Mail Transfer Protocol ) • POP ( Post Office Protocol )
Khoa CNTT – 05CDTH2 Trang 275

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • MIME (Multipurpose Internet Mail Extensions)

• IMAP (Interactive Mail Access Protocol) 9.3.Giới thiệu hệ thống Mail
Một hệ thống mail yêu cầu phải có ít nhất hai thành phần, nó có thể định vị trên 2 hệ thống khác nhau hoặc trên cùng một hệ thống, mail server và mail client. Ngoài ra, nó còn có các thành phẩn khác như Mail Host, mail gateway.
• Mail gateway.

Một mail gateway là máy kết nối giữa các mạng dùng các giao thức truyền thông khác nhau dùng chung giao thức. Ví dụ một mail gateway có thể kết nối một mạng TCP/IP với một mạng chạy bộ giao thức System Network Architeture (SNA). Một mail gateway đơn giản nhất dùng để kết nối 2 mạng dùng chung giao thức họăc mailer. Khi đó mail gateway chuyển mail giữa domain nội bộ và các domain bên ngoài.
• Mail Host.

Một Mail Host là máy giữ vai trò máy chủ mail chính trong hệ thống mạng. Nó dùng như thành phần trung gian để chuyển mail giữa các vị trí không kết nối trực tiếp được với nhau. Mail Host phân giải địa chỉ người nhận để chuyển giữa các mail server hoặc chuyển đến mail gateway. Một ví dụ về Mail Host là máy trong mạng cục bộ LAN có modem được thiết lập lêin kết PPP hoặc UUCP dùng đường dây thoại. Mail hosst cũng có thề là máy chủ đóng vai trò router giữa mạng nội bộ và mạng Internet.
• Mail Server.

Mail server chứa mailbox của người dùng. Mail server nhận mail từ client gửi đến và đưa vào hàng đợi đề gửi đến Mail Host. Mail server nhận mail từ Mail Host gửi đến và đưa vào mauilbox của người dùng.
Khoa CNTT – 05CDTH2 Trang 276

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Người dùng sử dụng NFS (Network File System) đề mount thu mục chứa mailbox trên Mail Server để đọc. Nếu NFS không được hỗ trợ thì người dùng phải login vào Mail Server đề nhận thư. Trong trường hợp Mail Client hỗ trợ POP/IMAP và trên Mail Server cũng hỗ trợ POP/IMAP thì người dùng có thể đọc thư bằng POP/IMAP.
• Mail Client.

Là những chương trình hỗ trợ chức nắng đọc và soạn thảo thư, Mail Client tích hợp 2 giao thức SMTP và POP, SMTP hỗ trợ tính năng chuyển thư từ Client đến Mail Server, POP hỗ trợ nhân thư từ Mail Server về Mail Client. Ngoài việc tích hợp giao thức POP Mail Client còn tích hợp giao thức IMAP, HTTP đề hỗ trợ chức năng nhận mail cho Client. Các chương trình Mail Clinet thường sử dụng như Microsoft Outlook Express, Microsoft Office Outlook, Eudora,…
• Một số hệ thống mail thường dùng. • Hệ thống mail cục bộ.

Cấu hình hệ thống mail đơn giản gồm một hoặc nhiều trạm làm việc kết nối vào một Mail Server. Tất cả các mail đều chuyển cục bộ.
• Hệ thống mail cục bộ có kết nối ra ngoài.

Hệ thống mail trong một mạng nhỏ gồm một Mail Server, một Mail Host và một Mail Gateway kết nối với một hệ thống bên ngoài. Không cần DNS Server.

9.4.Cài đặt và cấu hình Mail Server – SendMail 9.4.1. Cài đặt
• •

Cài đặt Sendmail trong quá trình cài đặt hệ điều hành. Cài đặt từ các Package sau :
• •

Sendmail-x-x.rpm. Sendmail-cf-x-x.rpm.
Trang 277

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

M4-x-x.rpm.

9.4.2. Cấu hình • Các tập tin và thư mục cấu hình của Sendmail :
/etc/mail/sendmail.cf /etc/aliases /etc/mail/access /var/spool/mail  Tấp tin /etc/mail/sendmail.cf : đây là tập tin cấu hình chính của sendmail. Nội dung của tập tin được chia thành 3 nhóm thong tin cấu hình chính : + Môi trường hoạt động của Sendmail. + Định nghĩa cách hoạt động của Sendmail. + Mô tả các luật(rule set) mà người dung có thể dung định nghĩa lại cách sử lý của Sendmail.  Cấu hình Mail Server vói Sendmail

Khi cấu hình Mail Server với Sendmail, ta cần quan tâm đến các thong số cấu hình quan trọng trong file : /etc/mail/sendmail.cf sau : - Cwlocalhost <domain> : cấu hình Sendmail nhận mail cho miền. - O MaxRecipientsPerMessage=<n> : giới hạn số người nhận thư. - O MaxMessageSize= <size> : giới hạn kích thước của thư.

Tập tin /etc/mail/access : chỉnh sửa nội dung tập tin này như sau o < Domain > o <Địa chỉ đường mạng > RELAY RELAY

Khoa CNTT – 05CDTH2

Trang 278

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Thực hiện các lệnh sau : để chuyển tập tin này từ dạng text sang dạng chuẩn để Sendmail có thể đọc được.

o #cd /etc/mail o #makemap hash access < access
• Khởi động lại Sendmail

o

#/etc/init.d/sendmail restart

Sử dụng : dung trình tiện ích Mail để gửi và nhận Mail giửa những người dung. o Cú pháp : #mail –v <Địa chỉ Email> o Ví dụ : # mail –v duyvu@linuxgroup.com

9.5.Cài đặt - cấu hình Pop Server và Imap Server
- Để cho người dung có thể gửi và nhận Mail từ các chương trình Client Mail như : Outlook Express, Eudora, Netscape… ta phải cài đặt và cấu hình Imap Server hoặc Pop Server. - Có hai cách cài đặt POP Server: Cách 1: Ta cần phải cài đặt gói tin imap-2002d-3.i386.rpm vì trong package này có chứa POP Server, trong các đĩa CDROM của Fedora chưa có package này do đó ta phải download từ site: http://rpmfind.net. Khởi động POP Server ta dùng lệnh sau: #chkconfig pop3 on #service xinetd restart Hoặc sau khi ta cài đặt IMAP package xong ta dùng lệnh setup ->System Services -> IPOP3, sau đó dùng lệnh #/etc/init.d/xinetd restart.
Khoa CNTT – 05CDTH2 Trang 279

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Cách 2: Cài đặt gói dovecot-0.99.10.5-0.FC4.rpm từ CDROM Fedora Core 4, sau đó ta mở file cấu hình /etc/dovecot.conf để thay đổi các thông số sau:
 protocols = imap imaps pop3 pop3s ; chỉ định các protocol sử dụng  imap_listen = * card mạng cho IMAP  pop3_listen = * card mạng cho POP3 ; chỉ định trạng thái listen trên ; chỉ định trạng thái listen trên

- sau đó thực thi lệnh : #chkconfig dovecot on #service dovecot restart

9.6.Cấu hình máy khách sử dụng được Mail Server
9.6.1. Máy khách là máy Linux Trên linux các client đều có hỗ trợ sẵn tiện ích Kmail, để cấu hình client nhận mail từ mail server ta tiến hành các bước sau: Truy cập theo đương dẩn như hình bên dưới để khởi động Kmail.

Hình 9.1 Khởi động Kmail

Sau đó giao diện kế tiếp xuất hiện như sau:
Khoa CNTT – 05CDTH2 Trang 280

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 9.2: Màn hình chào mừng

Để cấu hình nhận thư cho một tài khoản ta thực chiện các bước : Setting=>configue kmail giao diện kế tiếp xuất hiện như sau:

Hình 9.3: Giao diện cấu hình

Khoa CNTT – 05CDTH2

Trang 281

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Quan sát giao diện trên ta thấy các thẻ khác nhau, để cấu hình nhận mail từ server ta chọn vào thẻ account như hình bên dưới, trong thẻ account co 2 mục để ta cấu hình là receiving và sending:

Hình 9.4: Cấu hình

Để nhận mail ta chọn mục receiving, trên giao diện receiving ta chọn add giao diện kế tiêp như sau:

Hình 9.5 Chọn Pop

Khoa CNTT – 05CDTH2

Trang 282

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ta có thể chọn 1 trong 2 giao thức IMAP/POP3 để nhận thư, ở đây ta chọn giao thức POP3, giao diện kế tiếp như sau:

Hình 9.6 Giao thiết kế

Ta điền đầy đủ thông tin về tài khoản và địa chỉ mail server, ở ví dụ này ta se cấu hình nhận thư cho tai khoản testmail và server 192.168.100.1 như hình bên dưới:

Khoa CNTT – 05CDTH2

Trang 283

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 9.7 Điền thông tin account

Sau khi nhập đầy đủ thông tin ta chọn OK, sau khi hoàn tất qua trình cấu hình ta sẽ thấy giao diện như sau:

Khoa CNTT – 05CDTH2

Trang 284

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 9.8 Giao diện hoàn thành

Sau khi đã hoàn tất ta chọn OK để hoàn tất việc cấu hình 9.6.2. Máy khách là máy Windows • Có nhiều phần mềm dùng để gửi và nhận Mail trên Windows. Nhưng ở đây tôi xin trình bày cách cấu hình Outlook Express. Cụ thể gồm các bước như sau : + Khởi động Outlook Express. Sau đó ta chọn thẻ Tool  Accounts.

Khoa CNTT – 05CDTH2

Trang 285

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 9.9 Chọn tài khoản

+ Tiếp tục chọn tab Mail  Add

Hình 9.10 Add tài khoản

+ Ở màn hình Your Name ta điền vào tên hiển thị khi kêt nối .

Khoa CNTT – 05CDTH2

Trang 286

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 9.11 Điền tên tài khoản

+ Ở màn hình Internet Email Address ta điền vào địa chỉ Email khi kết nối.

Hình 9.12 Điền Email của tài khoản

Khoa CNTT – 05CDTH2

Trang 287

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux + Ở màn hình Email Server Name ta điền vào địa chỉ của Pop3 Server Và SMTP Server.

Hình 9.13 Tên Email server

+ Ở màn hình Internet Mail Logon ta nhập vào tên User và password kết nối.

Hình 9.14 Điền tên và mật khẩu

Khoa CNTT – 05CDTH2

Trang 288

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux + Click Finish để kết thúc

9.7.Cài đặt và cấu hình WebMail – OpenWebMail 9.7.1. Cài đặt và cấu hình từ file nhị phân *.rpm 9.7.1.1. Cài đặt
Bước 1: Ta dùng lệnh rpm -ivh package*.rpm Đối với Fedora Core ta cần các package sau: perl-Compress-Zlib-1.33-6.i386.rpm perl-suidperl-5.8.3-18.1.i386.rpm perl-Text-Iconv-1.2-fc1.i386.rpm openwebmail-2.51-1.i386.rpm

Đối với phiên bản trước của Linux thì ta cần tham khảo thêm Website http://openwebmail.org/openwebmail/download/ để biết rõ hơn. Bước 2: Đối với Fedora Core yêu cầu phải có MIME-Base64-3.0 cho nên ta cần cài thêm phần mềm này:
#tar xzvf MIME-Base64-3.00.tar.gz #cd MIME-Base64-3.00/ #perl Makefile.PL #make #make install

Bước 3: Thực thi lệnh # /var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init Bước 4: Sau đó Open Webmail yêu cầu thay đổi thông tin trong file /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
dbm_ext .db dbmopen_ext .db dbmopen_haslock no

Bước 5: Thực thi lại lệnh # /var/www/cgi-bin/openwebmail/openwebmailtool.pl --init

Khoa CNTT – 05CDTH2

Trang 289

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Bước 6: Truy cập vào địa chỉ http://server/cgi-bin/openwebmail/openwebmail.pl để truy xuất vào Webmail Server để sử dụng

Hình 9.15 Màn hình đăng nhập

Bước 7: Login và sử dụng OpenWebmail

Hình 9.16 Đăng nhập sử dụng

9.7.1.2. Cấu hình
Mọi thông tin cấu hình của Open Webmail nằm trong file /var/www/cgibin/openwebmail/etc/openwebmail.conf. Ta cần tham khảo các thông tin cấu hình sau: releasedate 20050228 #ngày cuối cập nhật phiên bản domainnames hcm.vn #chỉ định tên domain auth_module auth_unix.pl mailspooldir /var/spool/mail # chỉ định spool mail cho
Trang 290

user.

Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux ow_cgidir ow_cgiurl ow_htmldir ow_htmlurl logfile /var/www/cgi-bin/openwebmail /cgi-bin/openwebmail /var/www/data/openwebmail /data/openwebmail /var/log/openwebmail.log

9.7.2. Cài đặt OpenWebmail từ Source Code
Ta download phần mềm sau từ địa chỉ http://openwebmail.org/openwebmail/download/packages/. Apache Web server cho phép thực thi chương trình cgi. - Perl 5.005 or later - CGI.pm-3.05.tar.gz - MIME-Base64-3.01.tar.gz - libnet-1.19.tar.gz - Digest-1.08.tar.gz - Digest-MD5-2.33.tar.gz - Text-Iconv-1.2.tar.gz - Libiconv-1.9.1.tar.gz (required nếu hệ thống không hỗ trợ iconv) - Openwebmail-2.51.tar.gz Tuy nhiên ta cần tham khảo địa chỉ sau để cập nhật thông tin cho hợp lệ để chọn các gói trên tại địa chỉ: http://openwebmail.org/openwebmail/doc/readme.txt. Sau khi ta download xong các phần mềm trên ta thực hiện các bước như sau: Bước 1: Cài phần mềm CGI.pm cd /tmp tar -zxvfCGI.pm-3.05.tar.gz cd CGI.pm-3.05
Khoa CNTT – 05CDTH2 Trang 291

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux perl Makefile.PL make make install Bước 2: Cài phần mềm MIME-Base64 cd /tmp tar -zxvf MIME-Base64-3.01.tar.gz cd MIME-Base64-3.01 perl Makefile.PL make make install Bước 3: Cài phần mềm libnet cd /tmp tar -zxvf libnet-1.19.tar.gz cd libnet-1.19 perl Makefile.PL (ans 'no' if asked to update configuration) make make install Bước 4: cài phần mềm Text-Iconv-1.2 cd /tmp tar -zxvf libiconv-1.9.1.tar.gz cd libiconv-1.9.1 ./configure Qmake make install cd /tmp tar -zxvf Text-Iconv-1.2.tar.gz cd Text-Iconv-1.2
Khoa CNTT – 05CDTH2 Trang 292

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux perl Makefile.PL make make test make install Bước 5: cài đặt OPENWEBMAIL Phiên bản mới nhất của Open Webmail được cung cấp tại Website: http://openwebmail.org/openwebmail/ 1. cd /var/www tar -zxvBpf openwebmail-X.XX.tar.gz mv data/openwebmail html/ rmdir data 2. cd /var/www/cgi-bin/openwebmail/etc Thay đổi auth_unix.conf từ defaults/auth_unix.conf a. set passwdfile_encrypted to '/etc/shadow' b set passwdmkdb to 'none' Thay đổi openwebmail.conf Đặt mailspooldir thành '/var/spool/mail' Đặt ow_htmldir thành '/var/www/html/openwebmail' Đặt ow_cgidir thành '/var/www/cgi-bin/openwebmail' Đặt spellcheck thành /usr/bin/ispell -a -S -w "-" -d

@@@DICTIONARY@@@ -p @@@PDICNAME@@@' 3. Thêm thông tin /var/log/openwebmail.log { postrotate /usr/bin/killall -HUP syslogd endscript
Khoa CNTT – 05CDTH2 Trang 293

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux } Tới file /etc/logrotate.d/syslog để ghi nhận log của openwebmail.log 4. Thực thi lệnh /var/www/cgi-bin/openwebmail/openwebmail-tool.pl -init
10.

Dịch Vụ DHCP Server

10.1. Giới thiệu
Mỗi thiết bị trên mạng có dùng bộ giao thức TCP/IP đều phải có một địa chỉ IP hợp lệ, phân biệt. Để hỗ trợ cho vấn đề theo dõi và cấp phát các địa chỉ IP được chính xác, tổ chức IETF (Internet Engineering Task Force) đã phát triển ra giao thức DHCP (Dynamic Host Configuration Protocol).Giao thức này được mô tả trong các RFC 1533, 1534, 1541, 1542. Bạn có thể tìm thấy các RFC này tại địa chỉ http:// ww.ieft. org/rfc.html. Để làm một DHCP server trên linux, máy tính cài hệ điều hành Linux phải đáp ứng các điều kiện sau: • Đã cài dịch vụ DHCP • Mỗi interface phải được cấu hình bằng một địa chỉ IP tĩnh. • Đã chuẩn bị sẵn danh sách các địa chỉ IP định cấp phát cho các máy client. Dịch vụ DHCP này cho phép chúng ta cấp động các thông số cấu hình mạng cho các máy trạm (client). CÁc hệ điều hành của Microsoft và các hệ điều hành khác như Unix, Linux, hoặc Macintosh đề hỗ trợ cơ chế nhân các thông số động, có nghĩa là trên các hệ điều hành này phỉa có môt DHCP client. Cơ chế sử dụng các thông số mạng được cấp phát động có ưu điểm hơn so với cơ chế khai báo tĩnh các thông số mạng như: • Khắc phục được tình trangj đụng địa chỉ IP và giảm chi phí quản trị cho hệ thống mạng. • Giúp cho các nhà cung cấp dịch vụ (ISP) tiết kiệm được số lượng địa chỉ IP thật (public IP).
Khoa CNTT – 05CDTH2 Trang 294

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux • Phù hợp với máy tính thường xuyên di chuyển qua lại giữa các mạng. • Kết hợp với hệ thống mạng không dây (wireless) cung cấp các điểm Hotspot như : nhà ga, sân bay, trường học… Tự thu hồi lại địa chỉ IP khi client ngắt kết nối

10.2. Nguyên tắc hoạt động
Giao thức DHCP làm việc theo mô hình client/server. Theo đó, quá trình tương tác giữa DHCP clent và server diễn ra theo các bước sau: • Khi máy client khởi động, máy sẽ gửi broadcast gói tin DHCPDISCOVER , yêu cầu một server phục vụ cho mình. Gói tin này cũng chứa địa chỉ MAC của máy client. • Các máy server trên mạng khi nhận được gói tin yêu cầu đó, nếu còn khả năng cung cấp địa chỉ IP, đều gửi lại cho máy client gói tin DHCPOFFER, đề nghị cho thuê một địa chỉ IP trong một khoản thời gian nhất định, kèm theo là một subnet mask và địa chỉ của server. Server sẽ khong cấp phát địa chỉ IP vừa đề nghị cho những client khác trong suốt quá trình thương thuyết. • Máy client sẽ lựa một trong những lời đề nghị (DHCPOFFER) và gửi broadcast lại gói tin DHCPREQUEST chấp nhận lời đề nghị đó. Điều này cho phép các lời đề nghị không được chấp nhân sẽ được các server rút lại và dùng để cấp phát cho client khác. • Máy server được client chấp nhận sẽ gửi ngược lại một gói tin DHCPACK như là một lời xác nhận, cho biết là địa chỉ IP đó, subnet mask đó và thời hạn cho sử dụng đó sẽ chính thức được áp dụng. Ngoài ra server còn gửi kèm theo những thông tin cấu hình bổ sung như địa chỉ gateway mặc định, địa chỉ DNS server

10.3. Cài đặt gói DHCP
Bạn đưa đĩa cài đặt Fedora Core 4 vào ổ cd. Sau đó chuyển đến thư mục RPMs chứa các gói cài đặt. Cuối cùng là gọi lệnh rpm để cài đặt gói dhcp
Khoa CNTT – 05CDTH2 Trang 295

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux rpm –ivh dhcp-3.0.1rc14-1.i386.rpm

10.4. Tìm hiểu tập tin cấu hình dhcp.conf
Khi DHCP khởi động, dhcp server sẽ đọc tập tin cấu hình /etc/dhcpd.confg. Khi cài gói rpm của DHCP, nó không tự động tạo ra tập tin /etc/dhcpd.conf, nhưng bạn có thể lấy tập tin /etc/dhcpd.conf mẫu kèm theo hướng dẫn trong thư mục sau : /usr/share/doc/dhcp-<version-number>/dhcpd.conf.sample Bạn chép tập tin dhcpd.conf mẫu này vào thư mục /etc, sau đó hiệu chỉnh nó lại cho phù hợp. cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf Nội dung tập tin /etc/dhcpd.conf sau khi được cấu hình sẽ như sau: ddns-update-style interim ignore client-updates #chỉ định đường mạng cấp phát subnet 192.168.100.0 netmask 255.255.255.0 { # chỉ định dãy địa chỉ IP cấp phát cho client range 192.168.100.10 192.168.100.20; # lượng thời gian sử dụng IP mà server cung cấp cho client. default-lease-time 86400; max-lease-time 86400; # đặt gateway mặc định cho client option routers 192.168.100.252; # Don't forward DHCP requests from this # NIC interface to any other NIC

Khoa CNTT – 05CDTH2

Trang 296

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux # interfaces option ip-forwarding off; # địa chỉ broadcast của đường mạng option broadcast-address 192.168.100.255; option subnet-mask 255.255.255.0; # chỉ định địa chỉ DNS server cho các client option domain-name-servers 192.168.100.1; # chỉ định nntp server cho client option nntp-server 192.168.100.100; # chỉ định địa chỉ WINS server cho client option netbios-name-servers 192.168.1.100; # chỉ định địa chỉ IP tĩnh cho một client # ví dụ, chỉ định địa chỉ IP của máy có gắn máy in host laser-printer { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.100.222; } } # # List an unused interface here # subnet 192.168.2.0 netmask 255.255.255.0 { }
Khoa CNTT – 05CDTH2 Trang 297

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ngoài ra còn rất nhiều câu lệnh và tùy chọn cấu hình DHCP, bạn có thể tham khảo các tùy chọn đó bằng lệnh: man dhcp-options Lưu ý : Máy in cần được gán địa chỉ tĩnh để các user có thể in tài liệu.

10.5. Kích hoạt
Bước 1: Trước tiên, kiểm tra xem tập tin /var/lib/dhcp/dhcpd.leases có tồn tại không, nếu không tồn tại thì dùng lệnh touch để tạo tập tin này: touch /var/lib/dhcp/dhcpd.leases Bước 2: Sử dụng lệnh chkconfig để cấu hình DHCP có thể khởi động cùng với lúc hệ thống khởi động. chkconfig dhcpd on Bước 3: Sử dụng lệnh service để khởi động/dừng/khởi động lại dịch vụ dhcp service dhcpd start service dhcpd stop service dhcpd restart Nếu dhcp không khởi động được (failed), bạn sử dụng lệnh dhcp cùng với card mạng trên máy tính như sau: dhcp eth0 Bước 4: Luôn khởi động lại tiến trình dhcp mỗi khi bạn thay đổi tập tin cấu hình của dịch vụ dhcp này. Bước 5:Cuối cùng, bạn phải nhớ đặt máy tính ở chế độ lấy địa chỉ IP bằng dịch vụ DHCP.

10.6. Cấu hình Linux Client sử dụng DHCP

Khoa CNTT – 05CDTH2

Trang 298

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Để có thể cấu hình card mạng trên linux sử dụng DHCP, bạn co thể dùng công cụ soạn thảo bất kỳ để hiệu chỉnh tập tin cấu hình /etc/sysconfig/network-scripts/ifcfgethx (với x là số thứ tự card mạng, bắt đầu từ 0) theo mẫu sau: Getting the IP Address Using DHCP [root@linuxgroup ~]# cd /etc/sysconfig/network-scripts [root@ linuxgroup network-scripts]# cat ifcfg-eth0 # # File: ifcfg-eth0 # DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes [root@ linuxgroup network-scripts]#
Hình 10.1 Cấu hình Linux client sử dụng DHCP

10.7. Cấu hình Windows Client sử dụng DHCP
Right click vào biểu tượng My Network Places > chọn Properties Double click vào biểu tượng card mạng Local Area Connection Chọn Internet Protocol, sau đó nhấp chọn Properties

Khoa CNTT – 05CDTH2

Trang 299

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 10.2 Phương thức kết nối

Tại thẻ General, chọn Obtain an IP address automatically

Khoa CNTT – 05CDTH2

Trang 300

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 10.3 Cấu hình địa chỉ Ip động

Sau nhấn chọn OK hai lần để hoàn tất.
11.

Cấu hình toàn diện Server Linux thông qua công cụ Webmin

11.1. Giới thiệu
Là ứng dụng Web hỗ trợ cho công tác quản trị hệ thống Unix/Linux qua Web, hầu hết các chương trình ứng dụng của Webmin được Jamie Cameron phát triển. Thông qua Webmin người dùng có thể logon vào hệ thống Unix/Linux để thực hiện các thao tác quản trị hệ thống một cách bình thường. Webmin cho phép người quản trị có thể: - Tổ chức tài khoản người dùng. - Tổ chức và cài đặt các dịch vụ như: apache, DNS, Mail, … - Cập nhật các thông số cấu hình cho hệ thống.
Khoa CNTT – 05CDTH2 Trang 301

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux - Cấu hình mạng. - Cấu hình hardware. - Cấu hình Cluster. - Thực thi lệnh trên SHELL. - Quản trị hệ thống từ xa qua telnet/ssh. - Quản lý hệ thống tập tin và thư mục.

11.2. Cài Đặt 11.2.1..........................................................................Cài đặt từ file nhị phân
Webmin được cung cấp miễn phí tại Website http://www.webmin.com. Ta download package webmin-1.190-1.noarch.rpm. sau đó thực hiện lệnh: rpm -ivh webmin-1.190-1.noarch.rpm

11.2.2...............................................................Cài đặt từ file nguồn *.tar.gz.
# tar zxvf webmin-0.87.tar.gz [root@delilah webmin-1.050]# ./setup.sh … Web server port (default 10000): Login name (default admin): root Login password: Password again: The Perl SSLeay library is not installed. SSL not available. Start Webmin at boot time (y/n): n Sau khi cài đặt hoàn tất Webmin ta truy xuất Server theo địa chỉ: http://delilah.swell:10000

11.3. Đăng nhập WebMin

Khoa CNTT – 05CDTH2

Trang 302

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Sau khi cài xong Webmin ta có thể dùng Web Browser để truy xuất vào Webmin Server thông qua địa chỉ http://server:10000/

Hình 11.1 Đăng nhập Webmin

Nhập username : root và mật khẩu tương ứng để logon vào hệ thống

Hình 11.2 Màn hình đăng nhập

11.4. Cấu hình
Thay đổi mật khẩu cho Webmin Password bằng dòng lệnh: #/usr/libexec/webmin/changepass.pl /etc/webmin root 123456 Restart Webmin bằng dòng lệnh: #/etc/webmin/stop #/etc/webmin/start
Khoa CNTT – 05CDTH2 Trang 303

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Tìm hiểu file cấu hình Webmin /etc/webmin/miniserv.conf cho phép ta thay đổi một số thông tin cấu hình Webmin Server #chỉ định port number port=10000 root=/usr/libexec/webmin #chỉ định Webmin Type mimetypes=/usr/libexec/webmin/mime.types addtype_cgi=internal/cgi realm=Webmin Server #chỉ định logfile lưu trữ log cho Webmin logfile=/var/webmin/miniserv.log #lưu trữ error log errorlog=/var/webmin/miniserv.error #chỉ định pid file pidfile=/var/webmin/miniserv.pid logtime=168 ppath= ssl=1 #khai báo biến môi trường lưu trữ thông tin cấu hình Webmin env_WEBMIN_CONFIG=/etc/webmin env_WEBMIN_VAR=/var/webmin atboot=0 logout=/etc/webmin/logout-flag #listen port listen=10000 denyfile=\.pl$ log=1 blockhost_failures=5 blockhost_time=60 syslog=1 session=1
Khoa CNTT – 05CDTH2 Trang 304

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux #chỉ file lưu trữ Webmin User userfile=/etc/webmin/miniserv.users keyfile=/etc/webmin/miniserv.pem passwd_file=/etc/shadow passwd_uindex=0 passwd_pindex=1 passwd_cindex=2 passwd_mindex=4 passwd_mode=0 passdelay=1 preroot=mscstyle3 11.4.1.Thẻ WebMin – Cấu hình cơ bản cho WebMin Sau khi đăng nhập vào Webmin Server ta chọn biểu tượng Webmin configuration

Hình 11.3 Cấu hình webmin.

Cho phép hay cấm truy xuất Webmin từ host nào đó trên mạng thông qua IP Access Control

Khoa CNTT – 05CDTH2

Trang 305

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 11.4 Tùy chọn điều khiển truy cập.

Allow from all addresses: cho phép tất cả các host khác truy xuất Webmin. Only allow from listed addresses: Chỉ cho phép các host trong ListBox mới được sử dụng Webmin(ta có thể mô tả địa chỉ như sau 172.29.1.0/255.255.255.0 để chỉ định cho network address) Deny from listed addresses: cho phép tất cả các host khác được truy xuất Webmin nhưng cấm các host nằm trong ListBox. Save: Lưu trữ lại những gì ta thay đổi. Port and Addresses: Cho phép hiệu chỉnh Webmin hoạt động trên địa chỉ IP và Port, nếu ta muốn Webmin hoạt động trên cổng khác thì ta có thể vào mục này để hiệu chỉnh lại cho phù hợp

Hình 11.5 Cổng và địa chỉ.

Bind to IP address và Listen on port chỉ định Webmin listen 10000 tại địa chỉ IP(mặc định Webmin listen port 10000 trên tất cả các IP của Server) Operating System and Environment: Chỉ định loại hệ điều hành và một số đường dẫn chương trình
Khoa CNTT – 05CDTH2 Trang 306

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 11.6 HDH và môi trường.

Index Page Options: Hiệu chỉnh màn hình chính của thực đơn Webmin

Hình 11.7 Hiệu chỉnh thực đơn.

Chọn ngôn ngữ sử dụng cho Webmin

Hình 11.8 Chọn ngôn ngữ.

Chọn Webmin Themes để hiệu chỉnh giao diện sử dụng cho Webmin như icons, colours, background, và cách trình bày Web page cho Webmin.

Khoa CNTT – 05CDTH2

Trang 307

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 11.9 Hiệu chỉnh thêm 1 số đối tượng.

11.4.2.WebMin cho USER

Hình 11.10 Chọn User.

Tạo Webmin User thông qua mục Create a new Webmin user.

Hình 11.11 Tạo mới user.

Khoa CNTT – 05CDTH2

Trang 308

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux Ta nhập username, password, và đặt một số quyền hạn cho User…. 11.4.3.Thẻ Systems – Cấu hình hệ thống Thông qua Webmin ta có thể cấu hình các thông tin trong hệ thống như: shutdown/reboot, disk quota, NFS, User/Groups….

Hình 11.12 Cấu hình hệ thống.

Trong màn hình trên là một số các biểu tượng để ta có thể sử dụng và cấu hình hệ thống tương ứng qua Webmin

Công cụ
Backup Configuration Files Bootup and Shutdown Change Passwords Disk Quotas Disk and Network Filesystems Filesystem Backup LDAP Users and Groups Log File Rotation PAM Authentication Khoa CNTT – 05CDTH2

Chức năng
Hỗ trợ backup và restore thông tin cấu hình hệ thống Cho phép hiệu chỉnh quá trình khởi động và tắt máy Thay đổi mật khẩu cho từng USER Thiết lập hạn ngạch cho người dùng Hỗ trợ việc mount và umount filesystem Backup hệ thống tập tin Quản lý LDAP user và group Hỗ trợ việc quản lý và chuyển đổi log file Hỗ Trang 309 n

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
trợ quản lý các thông Chứng thực cho dịch vụ hệ thống Running Processes Scheduled Commands Scheduled Cron Jobs Security Sentries Software Packages SysV Init Configuration System Documentation System Logs Users and Groups Theo dõi và quản lý các tiến trình hoạt động trong hệ thống Đặt lịch biểu thực thi lệnh Thiết lập và quản lý cron jobs Thiết lập một số thông tin bảo mật hệ thống Hỗ trợ cài đặt, nâng cấp và quản lý phần mềm Tạo một script thực thi cho từng runlevel Tìm kiếm một số tài liệu trợ giúp có sẳn trong hệ thống Quản lý system log file Quản lý người dùng và nhóm

11.4.4.Thẻ Server – Cấu hình Server và DaeMon Công cụ Server trên Webmin cho phép quản trị Server và một số ứng dụng đang chạy trong hệ thống.

Hình 11.13 Cấu hình Server và Daemon.

Trong màn hình trên là một số các biểu tượng để ta có thể sử dụng và cấu hình Server tương ứng qua Webmin :
Khoa CNTT – 05CDTH2 Trang 310

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Công cụ
Apache Webserver BIND DNS Server CVS Server DHCP Server Fetchmail Mail Retrieval Frox FTP Proxy Jabber IM Server Majordomo List Manager MySQL Database Server OpenSLP Server

Chức năng
Quản lý và cấu hình WebServer Quản lý và cấu hình DNS Server Quản lý version cho hệ thống Quản lý DHCP Server Hỗ trợ việc nhận mail từ Remote mail server thông qua ạng TCP/IP Cấu hình Frox FTP proxy Thiết lập và quản lý IM Server để hỗ trợ cho người dùngsử ụng dịch vụ Chat(one-to-one hat, multi-user chat) Quản lý Internet Mailing list Quản lý hệ quản trị cơ sở dữ liệu MySQL Cấu hình máy chủ Service Location Protocol hỗ trợ xác định sự tồn tại, vị trí và cấu hình dịch vụ mạng hình dịch vụ mạng trong định sự tồn tại, vị trí và cấu hình dịch vụ mạng trong enterprise

Postfix Configuration PostgreSQL Database Server ProFTPD Server

Cấu hình Postfix mail server Cấu hình hệ quản trị cơ sở dữ liệu Cấu hình FTP server sử dụng Phần mềm ProFTPD Server Thiết lập bộ lọc thư cho các hệ thống mail Cấu hình QMail Server Hỗ trợ việc đọc thư cho người dùng trong hệ thống Thiết lập Server SSH để quản trị hệ thống từ xa Trang 311

Procmail Mail Filter QMail Configuration Read User Mail SSH Server Khoa CNTT – 05CDTH2

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Samba Windows File Sharing Sendmail Configuration SpamAssassin Mail Filter Squid Analysis Report Generator Squid Proxy Server WU-FTP Server Webalizer Logfile Analysis Quản lý SAMBA Service Cấu hình Sendmail làm Mail Server Thiết lập cơ chế chống spam thư Theo dõi và quản lý Internet connection qua Proxy Cấu hình Proxy Server Cấu hình FTP Server sử dụng hần mềm WU-FTP Quản lý và theo dõi Web log

11.4.5.Thẻ NetWorking – Cấu hình mạng Công cụ Networking trên Webmin hỗ trợ quản lý và cấu hình mạng trên hệ thống Unix/Linux.

Hình 11.14 Cấu hình mạng

Công cụ
ADSL Client Bandwidth Monitoring Extended Internet Services IPsec VPN Configuration Khoa CNTT – 05CDTH2

Chức năng
Cấu hình ADSL Client Quản lý và theo dõi băng thông sử dụng trên hệ thống Quản lý và theo dõi Internet Services Cấu hình IPsec VPN Trang 312

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Kerberos5 Linux Firewall NFS Exports NIS Client and Server Network Configuration PPP Dialin Server PPP Dialup Client SSL Tunnels Shorewall Firewall

Cấu hình chứng thực Kerberos5 Cầu hình Linux Firewall dùng IPtable Export NFS Server Cấu hình NIS Server Cấu hình mạng(thêm card mang, Ip address) Thiết lập RAS Server Thiết lập RAS Client Thiết lập đường ống SSL Là một high-level Security tool hỗ trợ cấu hình Firewall trong hệ thống. hệ thống Cấu hình NFSV4 server và Client Thiết lập VPN Client Thiết lập VPN Server

idmapd daemon PPTP VPN Client PPTP VPN Server

c

11.4.6.Thẻ HardWare – Cấu hình phần cứng Cung cấp một số công cụ hỗ trợ việc cài đặt quản lý thông tin cấu hình phần cứng trên hệ thống Unix/Linux

Hình 11.15 Cấu hình phần cứng.

Khoa CNTT – 05CDTH2

Trang 313

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Công cụ
CD Burner GRUB Boot Loader Linux Bootup Configuration Linux RAID Logical Volume Management Partitions on Local Disks Printer Administration SMART Drive Status System Time Voicemail Server

Chức năng
Hỗ trợ ghi dữ liệu vào CDROM Hiểu chỉnh và cấu hình grub loader

Cấu hình Lilo boot loader Thiết lập RAID trên Linux Quản lý logic Volume Quản lý các phân vùng đĩa Quản lý máy in Theo dõi SMART Drive Thiết lập và quản lý timer cho hệ thống.

Thiết lập Voicemail Server

11.4.7.Thẻ Cluster – Linux Cluster Clustering là một công nghệ máy chủ với khả năng chịu lỗi cao cung cấp những tính năng như: tính sẵn sàng và khả năng mở rộng. Công nghệ này nhóm các server và tài nguyên chung thành một hệ thống đơn có khả năng miễn dịch lỗi và tăng hiệu năng hoạt động. Các máy trạm tương tác với nhóm các server như thể nhóm các server này là một hệ thống đơn. Nếu một server trong nhóm bị hư, các server khác sẽ đảm trách phần việc của nó. Tham khảo các chức năng cấu hình Linux Cluster

Khoa CNTT – 05CDTH2

Trang 314

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 11.16 Thẻ Cluster.

Công cụ
Cluster Change Passw Cluster Copy File

Chức năng
Thay đổi mật khẩu trên Cluster Server Thực thi cơ chế sao chép file gửa các Cluster Server server Tạo Cron Jobs cho các cluster Server Thực thi Shell Commands trên Cluster Server Quản lý package trên các cluster server Quản lý User và group trên Clusterr Quản lý Cluster Webmin Server Cấu hình một engine cho Cluster Theo dõi đồng bộ giữa các Server

Cluster Cron Jobs Cluster Shell Commands Cluster Software Packages Cluster Users and Groups Cluster Webmin Servers Configuration Engine Heartbeat Monitor

s r

11.4.8.Thẻ Others – Các thành phần khác Các thành phần Others trên Webmin hỗ trợ một số tính năng như : Thực thi lệnh trên Shell, điều chỉnh lệnh, Quản lý file, bảo vệ thư mục Web,…

Khoa CNTT – 05CDTH2

Trang 315

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Hình 11.17 Các thành phần khác.

Công cụ
Command Shell. Custom Commands. File Manager. Perl Modules. Protected Web Directories. SSH/Telnet Login. System and Server Status. Upload and Download.

Chức năng
Cho phép thực thi lệnh. Điều chỉnh và thêm một số lệnh mới trên. Webmin Quản lý file. Quản lý perl. Bảo vệ thư mục Web data. Login qua từ xa bằng SSH, Telnet. Quản lý và theo dõi trạng thái của Server. Cho phép upload và download file. .

12.

Phụ Lục

12.1. Khắc phục mất Boot Linux khi cài lại Windows
o Đưa CD1 vào máy (cấu hình firt boot từ CD)

o Gỏ lệnh : linux rescue
o Gỏ grub
Khoa CNTT – 05CDTH2 Trang 316

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux o Gỏ root (hdo,5)

 Hdo : là ổ đĩa thứ nhất
 5 : là phân vùng thứ 5

o Gỏ setup (hd0)
o Quit  Như vậy chúng ta đã cài đặt thành công lại phần boot bị mất  Nếu không nhớ phân vùng boot của mình thi ta có thể dùng lệnh sau để kiểm tra : Find /boot/grub/stage1 (*) lưu ý : với ổ IDE thì có chử HD, ổ SCSI có chử SD

12.2. Đọc phân vùng Linux trên Windows
- Một phần không thể thiếu trong hệ thông Linux là đứng trên windows ta có thể đọc được các phân vùng của Linux. Có rất nhiều phần mềm hổ trợ việc này ở đây chúng tôi dùng công cụ rât gọn nhe là : explore2fs  Giao diện chương trình như hình dưới:

Khoa CNTT – 05CDTH2

Trang 317

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
Hình 12.1 Giao diện phần mềm Explorer2fs

- Chúng ta có thể đọc ghi phân vùng linux thoải mái như trên môi trường Windows

12.3. Khắc phục mất Password User Root
Trong trường hợp ta để mất mật khẩu của user quản trị(root user), lúc có nhiều cách để phục hồi mật khẩu cho user này: + Ta có thể dùng lệnh đĩa mềm khởi động Ta thực hiện điển hình cách 2(dựa vào grub boot loader) như sau: + Khởi động máy. + Khi GRUB Screen hiển thị ta chọn phím e để edit boot loader(nếu ta có đặt mật khẩu cho GRUB thì nhập mật khẩu vào).

Hình 12.2 Chỉnh sửa Grub

+ Chọn mục kernel /boot…. Sau đó bấm phím e để edit mục này và thêm từ khóa -s để vào runlevel 1 sau đó bẩm phím enter + Sau khi thực thi bước 3 ta bấm phím b để boot hệ thống vào runlevel 1 và thực hiện lệnh passwd để thay đổi mật khẩu của user root.

Hình 12.3 Chỉnh sửa thành công

+ dùng lệnh init 6 để reboot hệ thống
Khoa CNTT – 05CDTH2 Trang 318

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux
13.

Kết luận và hướng phát triển

13.1. So sánh kết quả
Nhìn chung, mặc dù rất cố gắng nhưng nhóm chưa hoàn thành được yêu cầu là xây dựng được các dịch vụ mạng như đề tài đã đặt ra. Cụ thể hơn, nhóm mới chỉ tìm hiểu và nghiên cứu được một số dịch vụ như đã trình bày ở trên, còn một số dịch vụ vẫn chưa làm được. Những dịch vụ đã làm được nhưng tìm hiểu vẫn chưa thật sâu như: Web server…. Những dịch vụ chưa tìm hiểu được kỉ: Mail Server, SSH ….

13.2. Các ưu nhược điểm
• Ưu điểm: - Hệ thống nhỏ gọn, dung lượng tối ưu. - Phát triển các dịch vụ theo hướng nguồn mở (open source) hoàn toàn miễn phí. - Tích hợp gần như đầy đủ dịch vụ cho việc quản trị hệ thống. - Hệ thống chạy ổn định, không sinh lỗi và không ăn bộ nhớ. • Nhược điểm: - Không cung cấp kĩ hướng dẫn cách sử dụng các lệnh trong hệ thống. - Một số dịch vụ còn khó triển khai - Còn ít tiện ích hỗ trợ.

13.3. Hướng phát triển
• Đưa các dịch vụ triển khai thực tế. • Tìm hiểu thêm các dịch vụ còn lại. • Triển khai bảo mật các dịch vụ mạng.

Khoa CNTT – 05CDTH2

Trang 319

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

TÀI LIỆU THAM KHẢO
Các cuốn sách tham khảo :
[1] Trần Thạch Tùng, Bảo mật và Tối ưu trong Red Hat Linux, 2003 [2] Tiêu Đông Nhơn, Giáo trình hệ điều hành Linux, NXB ĐH QG TP.HCM [3] Tiêu Đông Nhơn, Giáo trình dịch vụ mạng Linux, NXB ĐH QG TP.HCM [4] Tham khảo đề tài 04CDTH.
Khoa CNTT – 05CDTH2 Trang 320

Đề tài: Nghiên cứu & phát triển các dịch vụ mạng trên môi trường Linux

Các địa chỉ Website tham khảo :
[1] www.diendanlinux.org [2] www.quantrimang.com [3] một số website liên quan khá

Khoa CNTT – 05CDTH2

Trang 321