You are on page 1of 321

Đề 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.


Khoa CNTT – 05CDTH2 Trang 4
Đề 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 2 GB 4 TB


file lớn nhất

Kích thước file lớn 64 MB 2 GB 2 GB


nhất

Chiều dài tối đa tên 30 ký tự 255 ký 255 ký


file tự tự

Kích thước block tuỳ Không Không Có


biến

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

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

userdel cntp -r

3.2.1.3. Chỉnh sửa tài khoản trong hệ thống

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 Tên nhóm cần xóa

Ví dụ:

Xóa nhóm có tên linux. Ta thực hiện dòng lệnh sau:

groupdel linux

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.

• /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
lưu trong thư mục /opt

• /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
khởi động lại.

• /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 quota
phiên bản 1.55
ấn bản 4
cấu trúc máy tính i386
phần mở rộng .rpm
rpm –i: Cài đặt một gói 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 Mô tả
-q tên Cung cấp tên, phiên bản và số phát hành của gói phần mềm.
-qa Liệt kê tất cả các gói phần mềm đã cài đặt trên hệ.
-qf tệp Tìm gói phần mềm liên kết với tệp.
-qp Tìm gói_phần_mềm.
gói_phần_mềm
-qi Cung cấp tên, mô tả, bản phát hành, kích cỡ, ngày tạo ra, ngày

Khoa CNTT – 05CDTH2 Trang 113


Đề 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 cài đặt và các thông tin khác về gói phần mềm.

-ql Liệt kê tất cả các tệp liên kết với gói phần mềm.
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.

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ã Ý nghĩa
c Tệp này là tệp cấu hình
5 Tệp này không qua được thử nghiệm tổng kiểm MD5
S Kích cỡ tệp đã thay đổi sau thời điểm cài đặt
L Có vấn đề với các mối liên kết tượng trưng
T Thời gian chỉnh sửa tệp không trùng với nguyên thuỷ
D Thuộc tính thiết bị
U Các thiết lập cho user đã thay đổi
G Các thiết lập cho nhóm đã thay đổi
M 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à
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.

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: df <–option>

option:

-k: hiển thị theo đơn vị KB (mặc định)

-m: hiển thị theo đơn vị MB

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 Mô tả
c
h

n
-f Làm cho mọi thứ diễn ra "như thật", song chỉ là thao tác giả
-v Cung cấp thêm thông tin về những gì mà mount sẽ thực hiện
-w Mount hệ thống tệp với các quyền hạn đọc và ghi
-r Mount hệ thống tệp với quyền hạn chỉ đọc mà thôi
-n Mount hệ thống tệp nhưng không ghi mục nào vào tệp /etc/mtab
-t Xác định loại hệ tệp được mount
[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ách- dấu phẩy, mount sẽ áp dụng các tuỳ chọn ấy vào hệ thống tệp đang
các-tuỳ- được mount. Muốn có danh sách đầy đủ các tuỳ chọn bạn hãy xem
chọn 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).

Khoa CNTT – 05CDTH2 Trang 123


Đề 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 vào thư mục
/root/hda5 như sau:

mount –t vfat /dev/hda5 /root/hda5

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.

# 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.11-
1.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.22-


0.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 fuse-
2.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 = REUSE
socket_type = stream
wait = no
user = root
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 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote
qotd 17/udp quote
msp 18/tcp# message send protocol
msp 18/udp# message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp-data 20/udp
Khoa CNTT – 05CDTH2 Trang 141
Đề 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 21/tcp
ftp 21/udp fsp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp # SSH Remote Login Protocol
telnet 23/tcp
telnet 23/udp
# 24 - private mail system
smtp 25/tcp mail
smtp 25/udp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/tcp resource # resource location
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
nameserver 42/udp name # IEN 116
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 = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
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 0 0 *:telnet *:* LISTEN

Khoa CNTT – 05CDTH2 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 = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
port = 7777
}
- 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:* LISTEN
- Bước 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 = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
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 2:quocchien 3:vanduan"


VNCSERVERARGS[1]="-geometry 1024x768 -depth 16"
VNCSERVERARGS[2]="-geometry 800x600 -depth 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 openssh-
server.*.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.

• nmbd : tên server (NETBIOS),giúp cho các client tìm kiếm các máy
server.

• nmblookup : dòng lệnh trả về địa chỉ IP của PC Windows qua tên
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.

• smbcontrol :chương trình gửi các thông điệp tới smbd,nmbd hay
winbindd.

• smbd : đây là SMB server cho phép các kết nối từ Windows client và
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.

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

Khoa CNTT – 05CDTH2 Trang 160


Đề 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.

• smbumount: chương trình unmount một thư mục chia sẻ SMB đã được
mount.

• testparm: chương trình dùng để kiểm tra tập tin cấu hình Samba có chính
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


Khoa CNTT – 05CDTH2 Trang 161
Đề 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 -Uvh Samba-common-2.0.7-8.i386.rpm

# rpm -Uvh Samba-2.0.7-8.i386.rpm

# 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] Chứa các tham số sử dụng cho việc cấu hình


máy in.

[homes] Chỉ định SMB chia sẻ thư mục home directory của
user.

[netlogon] Chia sẻ logon script.

4.3.2.1. Đoạn [global]

Đ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 Ý nghĩa
%S Tên của dịch vụ hiện hành, nếu có.
%P Thư mục gốc của dịch vụ hiện hành, nếu có.
%u Tên user của dịch vụ hiện hành, nếu có.
%g Tên của nhóm chính của %u.
%U Tên phiên làm việc của user
%G Tên của nhóm chính của %U.
%H Thư mục gốc của user (%u)
%v Phiên bản của Samba.
%h Tên của host mà samba đang chạy.
Khoa CNTT – 05CDTH2 Trang 169
Đề 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ên NetBIOS của máy client (rất thường dùng)


%L Tên NtBIOS của máy chủ.
%M Tên Internet của máy client.
%N Tên của máy chủ NIS.
%p Đườ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
%R 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.
%d Chỉ số (ID) của tiến trình máy chủ hiện hành.
%I Địa chỉ IP của máy client.
%a 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à
"UNKNOWN".
%T 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 Tham số Mô tả
? hoặc help [lệnh] 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
thì cho thông báo trợ giúp tổng quát.
! [lệnh dạng shell] Thực thi lệnh shell hoặc đưa user về dấu
nhắc shell.
cd [thư mục] 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
hiện hành.
lcd [thư mục] 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ẽ
báo thư mục hiện hành trên máy tại chỗ.
del [các tệp] 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
tác này. Có thể dùng ký tự wildcard.
dir hoặc ls [các tệp] 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.
exit hoặc quit không có Thoát khỏi chương trình smbclient.
get [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.
mget [các tệp] Sao chép mọi tệp được xác định vào máy tại
chỗ.
md hoặc [thư mục] Tạo thư mục trên máy từ xa.
mkdir
rd hoặc rmdir [thư mục] Xoá thư mục trên máy từ xa.
put [tệp] Sao chép tệp từ máy tại chỗ vào server.

Khoa CNTT – 05CDTH2 Trang 177


Đề 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 [các tệp] Sao chép mọi tệp từ máy tại chỗ vào server.
print [tệp] In tệp trên máy từ xa.
queue không có 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.7-
2.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ẻ non-
guest 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 901/TCP Sửa lại thành :

Swat 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 second-
level 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 in-
addr.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 : Indicates authority for this zone data.

• NS record : Lists a name server for this zone

• Other records : Data about hosts in this zone

• A: Ánh xạ tên thành địa chỉ

• PTR : Ánh xạ địa chỉ thành tên.

CNAME : Canonical name (for aliases

6.7.1.1. 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 ; Serial

10800 ; Refresh after 3 hours

3600 ; 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. IN NS dnsserver.linuxgroup.com.

linuxgroup.com. IN NS 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 A 127.0.0.1

dnsserver.linuxgroup.com. IN A 192.168.100.1

server.linuxgroup.com. IN A 192.168.100.2

; Multi-homed hosts

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

; Aliases

server.linuxgroup.com. IN CNAME phong101.linuxgroup.com.

server.linuxgroup.com IN CNAME www.linuxgroup.com.

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 ] IN MX [độ-ưu-tiên] [tên-mail-server]

- Ví dụ record MX sau:

linuxgroup.com. IN MX 0 mailserver.linuxgroup.com.

linuxgroup.com. IN MX 5 mail.linuxgroup.com.

- 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 PTR [tên-máy-tính]

- Ví dụ:

1.100.168.192.in-addr.arpa. IN PTR dnsserver.linuxgroup.com.

2.100.168.192.in-addr.arpa. IN PTR server.linuxgroup.com.

3.100.168.192.in-addr.arpa. IN PTR mailserver.linuxgroup.com.

4.100.168.192.in-addr.arpa. IN PTR mail.linuxgroup.com

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ề.

• 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.
Khoa CNTT – 05CDTH2 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 NS dnsserver.linuxgroup.com.

IN MX 0 mailserver.linuxgroup.com.

dnsserver IN A 192.168.100.1

server IN A 192.168.100.2

mailserver IN A 192.168.100.3

www IN CNAME server.linuxgroup.com.

• 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.

Khoa CNTT – 05CDTH2 Trang 203


Đề 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 MX 0 mailserver.linuxgroup.com.

1 IN PTR dnserver.linuxgroup.com.

2 IN 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. IN A 192.168.100.1
có thể viết:
dnsserver IN A 192.168.100.1
1.100.168.192.in-addr.arpa. IN PTR dnsserver.linuxgroup.com.
có thể viết
1 IN PTR dnsserver.linuxgroup.com.
@ IN SOA dnsserver.linuxgroup.com. root.linuxgroup.com. (
1 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
tương đương với:
linuxgroup.com. IN SOA dnsserver.linuxgroup.com. root.linuxgroup.com. (
1 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
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 192.168.100.3
IN A 192.168.100.5
Tương đương với:

server1 IN A 192.168.100.3
server1 IN A 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-config-
bind 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 :

Khoa CNTT – 05CDTH2 Trang 218


Đề 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 Chức năng


help [command] Liệt kê tất cả các dòng lệnh trong FTP
cd [directory] Thay đổi thư mục làm việc trên máy chủ FTP
create [filename] 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.
debug Bậc chế độ bắt lỗi on hoặc off
version Hiển thị version của phần mềm FTP
dir Hiển thị tất cả các thư mục trên FTP
echo Hiển thị một chuỗi, sử dụng macros
get Download một file từ máy chủ FTP về máy
đang làm việc.
lcd [directory] Chuyển đổi thư mục làm việc trên máy cục bộ
lls Lắng nghe tất cả các flie trên thư mục của máy
đang làm việc.
lookup host HIển thị danh sách những máy trạm
lpage filename Hiển thị nội dung của file trên máy cục bộ, mỗi
lần một trang
lpwd Hiển thị các máy khách đang làm việc.
mkdir directory name Tạo một thư mục trên máy FTP server
mode mode Chuyển đổi chế độ (b for block mode, s for
stream mode)
open [option] hostname 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
-p: sử dụng port khi kết nối
page filename Hiển thị nội dung của một file trên máy từ xa.
pdir Giống như lệnh dir

Khoa CNTT – 05CDTH2 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 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.
redir Không hiển thị thư mục cuối khi lắ ng nghe.
predir 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 Chức năng


-G Bậc chế độTurns wildcard matching cho
các file là on hoặc off
-R directory Downloads một thư mục và tất cả các thư
mục con.
-f filenames Tốc độ của tất cả các file đặc biệt
-C Tốc độ bắt đầu lại của download từ nơi đã
được ngắt.
-z remote-file local-file Thay đổi tên của một file khi download file
này từ máy chủ về máy khách.
-n num 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 “System Setting”  “ Add/Remove Application” 
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.3-
1.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.

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: chkconfig vsftpd on
+ dùng cho dòng ubuntu/ debian: 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 0 0 *:ftp *:* LISTEN

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 chown
thư mục A chỉ cho phép đọc đối với Anonymous:
chmod 774 A
thư mục B cho phép đọc và ghi vơi Anonymous:

Khoa CNTT – 05CDTH2 Trang 230


Đề 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)


Khoa CNTT – 05CDTH2 Trang 235
Đề 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

• Cấu hình Linux để tự động khởi động Apache


web server khi khởi động hệ thống.

• Cấu hình firewall của Linux để cho phép trao


đổi các yêu cầu của web

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.
Khoa CNTT – 05CDTH2 Trang 249
Đề 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 --enable-

hared=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 <đường_dẫn_thư_mục>

vd: 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>

Ví dụ : Listen 8080 #cổng 80 ở tất cả các card mạng.

Listen 192.168.5.6:8080 #công 8080 của 1 card mạng

• 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 apache

• Group apache

• ServerAdmin < email> : địa chỉ email của người quản trị website

Ví dụ : ServerAdmin root@linuxgroup.com

• 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

Khoa CNTT – 05CDTH2 Trang 266


Đề 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 /var/www/manual


<Directory /var/www/manual>
AuthType Basic
AuthName intranet
AuthUserFile /etc/httpd/passwd
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.

Khoa CNTT – 05CDTH2 Trang 277


Đề 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 > RELAY

o <Địa chỉ đường mạng > 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 = * ; chỉ định trạng thái listen trên
card mạng cho IMAP
 pop3_listen = * ; chỉ định trạng thái listen trên
card mạng cho POP3
- 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/openwebmail-
tool.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
user.
Khoa CNTT – 05CDTH2 Trang 290
Đề 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 /var/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /var/www/data/openwebmail
ow_htmlurl /data/openwebmail
logfile /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/ifcfg-
ethx (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ụ Chức năng


Backup Configuration Files Hỗ trợ backup và restore thông tin cấu hình
hệ thống
Bootup and Shutdown Cho phép hiệu chỉnh quá trình khởi động và
tắt máy

Change Passwords Thay đổi mật khẩu cho từng USER


n
Disk Quotas Thiết lập hạn ngạch cho người dùng

Disk and Network Filesystems Hỗ trợ việc mount và umount filesystem

Filesystem Backup Backup hệ thống tập tin

LDAP Users and Groups Quản lý LDAP user và group

Log File Rotation Hỗ trợ việc quản lý và chuyển đổi log file

PAM Authentication
Hỗ

Khoa CNTT – 05CDTH2 Trang 309


Đề 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 Theo dõi và quản lý các tiến trình hoạt động
trong hệ thống
Scheduled Commands Đặt lịch biểu thực thi lệnh

Scheduled Cron Jobs Thiết lập và quản lý cron jobs

Security Sentries Thiết lập một số thông tin bảo mật hệ thống

Software Packages 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
SysV Init Configuration

System Documentation Tìm kiếm một số tài liệu trợ giúp có sẳn
trong hệ thống
System Logs Quản lý system log file

Users and Groups 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ụ Chức năng


Apache Webserver Quản lý và cấu hình WebServer

BIND DNS Server Quản lý và cấu hình DNS Server

CVS Server Quản lý version cho hệ thống

DHCP Server Quản lý DHCP Server

Fetchmail Mail Retrieval Hỗ trợ việc nhận mail từ Remote mail server
thông qua
ạng TCP/IP
Frox FTP Proxy Cấu hình Frox FTP proxy

Jabber IM Server 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)
Majordomo List Manager Quản lý Internet Mailing list

MySQL Database Server Quản lý hệ quản trị cơ sở dữ liệu MySQL

OpenSLP Server 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 Cấu hình Postfix mail server

PostgreSQL Database Server Cấu hình hệ quản trị cơ sở dữ liệu

ProFTPD Server
Cấu hình FTP server sử
dụng
Phần mềm ProFTPD Server
Procmail Mail Filter Thiết lập bộ lọc thư cho các hệ thống mail

QMail Configuration Cấu hình QMail Server

Read User Mail Hỗ trợ việc đọc thư cho người dùng trong hệ
thống
SSH Server Thiết lập Server SSH để quản trị hệ thống từ
xa
Khoa CNTT – 05CDTH2 Trang 311
Đề 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 Quản lý SAMBA Service

Sendmail Configuration Cấu hình Sendmail làm Mail Server

SpamAssassin Mail Filter Thiết lập cơ chế chống spam thư

Squid Analysis Report Theo dõi và quản lý Internet

Generator connection qua Proxy

Squid Proxy Server Cấu hình Proxy Server

WU-FTP Server Cấu hình FTP Server sử dụng hần mềm


WU-FTP
Webalizer Logfile Analysis 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ụ Chức năng


ADSL Client Cấu hình ADSL Client

Bandwidth Monitoring 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
Extended Internet Services

IPsec VPN Configuration Cấu hình IPsec VPN

Khoa CNTT – 05CDTH2 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 Cấu hình chứng thực Kerberos5

Linux Firewall Cầu hình Linux Firewall dùng IPtable

NFS Exports Export NFS Server

NIS Client and Server Cấu hình NIS Server

Network Configuration Cấu hình mạng(thêm card mang, Ip address)

PPP Dialin Server Thiết lập RAS Server

PPP Dialup Client Thiết lập RAS Client

SSL Tunnels Thiết lập đường ống SSL

Shorewall Firewall Là một high-level Security tool hỗ trợ cấu


hình Firewall trong hệ thống.

hệ thống
idmapd daemon Cấu hình NFSV4 server và Client
c
PPTP VPN Client Thiết lập VPN Client

PPTP VPN Server Thiết lập VPN Server

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ụ Chức năng


CD Burner Hỗ trợ ghi dữ liệu vào CDROM

GRUB Boot Loader Hiểu chỉnh và cấu hình grub loader

Linux Bootup Configuration Cấu hình Lilo boot loader

Linux RAID Thiết lập RAID trên Linux

Logical Volume Management Quản lý logic Volume

Partitions on Local Disks Quản lý các phân vùng đĩa

Printer Administration Quản lý máy in

SMART Drive Status Theo dõi SMART Drive

System Time Thiết lập và quản lý timer cho hệ thống.

Voicemail Server 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ụ Chức năng


Cluster Change Passw Thay đổi mật khẩu trên Cluster Server

Cluster Copy File Thực thi cơ chế sao chép file gửa các
Cluster Server server

Cluster Cron Jobs Tạo Cron Jobs cho các cluster Server
s
Cluster Shell Commands Thực thi Shell Commands trên Cluster
Server
r
Cluster Software Packages Quản lý package trên các cluster server
Cluster Users and Groups Quản lý User và group trên Clusterr
Cluster Webmin Servers Quản lý Cluster Webmin Server
Configuration Engine Cấu hình một engine cho Cluster
Heartbeat Monitor Theo dõi đồng bộ giữa các Server

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ụ Chức năng


Command Shell. Cho phép thực thi lệnh.

Custom Commands. Điều chỉnh và thêm một số lệnh mới trên.


Webmin
File Manager. Quản lý file.

Perl Modules. Quản lý perl.

Protected Web Directories. Bảo vệ thư mục Web data.

SSH/Telnet Login. Login qua từ xa bằng SSH, Telnet.


.
System and Server Status. Quản lý và theo dõi trạng thái của Server.

Upload and Download. 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

You might also like