Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởMasterCode.vn Giới thiệu về hệ điều hành mã nguồn mở
UNIX/Linux
So sánh các đặc điểm giữa hệ điều hành mã
nguồn mở và hệ điều hành thương mại dành
cho server
Giới thiệu các bộ ứng dụng văn phòng và tiện
ích mã nguồn mở
Hướng dẫn cách chạy các ứng dụng Windows
trên Linux
Giới thiệu một số loại phần mềm xử lý nghiệp vụ
khác
Mục tiêu bài học
Giới thiệu về hệ điều hành mã nguồn mở
UNIX/Linux
So sánh các đặc điểm giữa hệ điều hành mã
nguồn mở và hệ điều hành thương mại dành
cho server
Giới thiệu các bộ ứng dụng văn phòng và tiện
ích mã nguồn mở
Hướng dẫn cách chạy các ứng dụng Windows
trên Linux
Giới thiệu một số loại phần mềm xử lý nghiệp vụ
khác
MICE Trường Anh ngữ IU Cebu Brochure 2025.pdfDu học MICE - Du học tiếng Anhhttps://tienganhtaiphi.com/truong-anh-ngu-iu-cebu/
IU English Academy cam kết mang đến một chương trình học tiếng Anh toàn diện dành cho học viên chuẩn bị du học hoặc làm việc quốc tế. Bên cạnh việc rèn luyện ngôn ngữ, IU đặc biệt chú trọng đến các hoạt động ngoại khóa, bao gồm các lớp thể thao fitness như Yoga, Kickboxing và nhảy Zumba. Những hoạt động này không chỉ nâng cao sức khỏe mà còn giúp phát triển kỹ năng làm việc nhóm và tinh thần thể thao, giúp học viên sẵn sàng cho mọi thử thách trong tương lai.
==== Du học MICE - Du học tiếng Anh ====
🏡 Công ty TNHH tư vấn MICE
📱 Hotline/Zalo/Viber: 0904137471
📧 info@tienganhtaiphi.com
🖱️ http://tienganhtaiphi.com
🖱️ Nhóm học TA online 1 kèm 1: https://www.facebook.com/groups/2157125567720037
📬 39/15 Đường 102, P. Tăng Nhơn Phú A, TP. Thủ Đức (Q9), TP.HCM
2. MỤC LỤC
Chương 1. Giới Thiệu chung về hê điều hành Linux......................3
I. Lịch sử phát triển của Linux......................................................3
II. Ưu – nhược điểm của hệ điều hành Linux...............................4
1. Ưu điểm:.....................................................................................4
2. Nhược điểm:...............................................................................6
Chương 2. Dịch vụ mạng trên Linux................................................8
I. Dịch vụ DNS.................................................................................8
1. Giới thiệu về dịch vụ DNS..........................................................8
2. Hệ thông tên miền DNS..............................................................9
3. Hoạt động của DNS server trong Linux.....................................9
4. Cài đặt và cấu hình dịch vụ DNS server..................................11
II. Dịch vụ DHCP..........................................................................14
1. Giới thiệu dịch vụ DHCP.........................................................14
2. Nguyên tắc hoạt động...............................................................15
3. Các thông số trong cấu hình DHCP.........................................16
4. Cài đặt và cấu hình dịch vụ DHCP..........................................16
III. Dịch vụ SAMBA.....................................................................17
1. Giới thiệu SAMBA....................................................................17
2. Cài đặt và cấu hình..................................................................18
3. Quản trị tài khoản Samba........................................................23
4. Sử dụng dịch vụ Samba............................................................25
2
3. Chương 1. Giới Thiệu chung về hê điều hành Linux.
I. Lịch sử phát triển của Linux.
Linux là một HĐH dạng UNIX (Unix-like Operating System) chạy trên máy
PC với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý
trung tâm tương thích AMD, Cyrix. Linux ngày nay còn có thể chạy trên các
máy Macintosh hoặc SUN Sparc. Linux được viết lại toàn bộ từ con số không,
tức là không sử dụng một dòng lệnh nào của Unix để tránh vấn đề bản quyền
của Unix. Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ
điều hành Unix. Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX.
Giữa các hệ thống Unix sự khác nhau cũng không kém gì giữa Unix và Linux.
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan,
bắt đầu xem xét Minix, một phiên bản của Unix làm ra với mục đích nghiên cứu
cách tạo ra một hệ điều hành Unix chạy trên máy PC với bộ vi xử lý Intel 80386.
Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của
Internet về dự định của mình về Linux. Tháng 01/1992, Linus cho ra version
0.12 với shell và C compiler. Linus không cần Minix nữa để recompile HDH
của mình. Linus đặt tên HDH của mình là Linux.Năm 1994, phiên bản chính
thức 1.0 được phát hành. Quá trình phát triển của Linux được tăng tốc bởi sự
giúp đỡ của chương trình GNU (GNU s Not Unix), đó là chương trình phát triển
‟
các Unix có khả năng chạy trên nhiều platform. Phiên bản mới nhất của Linux
kernel là 2.6.25, có khả năng điều khiển các máy đa bộ vi xử lý (hiện tại Linux
hỗ trợ máy tính có tối đa 16 CPUs). Linux kernel 2.6.25 cũng đồng thời nâng
cấp hệ thống file Ext4 (phiên bản cũ là Ext3), giúp hỗ trợ dung lượng block lớn
hơn - từ 4K lên 64K và rất nhiều các tính năng khác (có thể download tại
(http://www.kernel.org).
Các phiên bản của Hệ điều hành Linux được xác định bởi hệ thống số dạng
X.YY.ZZ. Nếu YY là số chẵn phiên bản ổn định, YY là số lẻ phiên bản thử
nghiệm.
3
4. II. Ưu – nhược điểm của hệ điều hành Linux.
1. Ưu điểm:
Kinh tế
Đó là một đặc điểm không thể bỏ qua của Linux. Tuy nhiên đối với Linux
đó vẫn chưa là tất cả. Hệ điều hành này còn rất nhiều ưu điểm khác mà không
một hệ điều hành nào có. Chính những đặc điểm này mới là nguyên nhân khiến
cho Linux ngày càng trở nên phổ biến không chỉ ở Việt Nam mà cả ở trên thế
giới.
Linh hoạt, uyển chuyển
Linux là một Hệ điều hành mã nguồn mở nên chúng ta có thể tùy ý sửa
chữa theo như mình thích (tất nhiên là trong khả năng kiến thức của mỗi người).
Chúng ta có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với
mình nhất. Mặt khác do Linux được một cộng đồng rất lớn những người làm
phần mềm cùng phát triển trên các môi trường, hoàn cảnh khác nhau nên tìm
một phiên bản phù hợp với yêu cầu của mỗi người sẽ không phải là một vấn đề
quá khó khăn. Tính linh hoạt của Linux còn được thể hiện ở chỗ nó tương thích
được với rất nhiều môi trường. Hiện tại, ngoài Linux dành cho server, PC…nhân
Linux còn được nhúng vào các thiết bị điều khiển như máy tính palm, robot…
Phạm vi ứng dụng của Linux được xem là rất rộng rãi.
Độ an toàn cao
Trước hết, trong Linux có một cơ cấu phân quyền hết sức rõ ràng. Chỉ có
"root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống. Ngoài ra
Linux cũng có cơ chế để một người dùng bình thường có thể tạm thời chuyển
sang quyền "root" để thực hiện một số thao tác. Điều này giúp cho hệ thống có
thể chạy ổn định và tránh phải những sai sót dẫn đến đổ vỡ hệ thống (trong
những phiên bản Windows gần đây, cơ chế phân quyền này cũng đã bước đầu
được áp dụng, nhưng so với Linux thì vẫn kém chặt chẽ hơn).
4
5. Ngoài ra chính tính chất "mở" cũng tạo nên sự an toàn của Linux. Nếu
như một lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng
mã nguồn mở cùng sửa và thường thì chỉ sau 24h sẽ có thể cho ra bản sửa lỗi.
Mặt khác đối với những Hệ điều hành mã nguồn đóng như Windows, chúng ta
không thể biết được người ta viết gì, và viết ra sao mà chỉ biết được chúng chạy
như thế nào. Vì vậy nếu như Windows có chứa những đoạn mã cho phép tạo
những "back door" để xâm nhập vào hệ thống của chúng ta thì chúng ta cũng
không thể biết được. Đối với người dùng bình thường như chúng ta vấn đề này
có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống
quốc phòng thì vấn đề như thế này lại mang tính sống còn. Các nhân viên an
ninh không được phép để lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan đến
an ninh của cả một quốc gia. Và một lần nữa các phần mềm mã nguồn mở nói
chung và Linux nói riêng lại là sự lựa chọn số 1. Trong Linux mọi thứ đều công
khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành. Điều đó
cũng có nghĩa là độ an toàn được nâng cao.
Thích hợp cho quản trị mạng
Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là
một hệ điều hành mạng rất giá trị. Nếu như Windows tỏ ra là một Hệ điều hành
thích hợp với máy tính Desktop thì Linux lại là hệ điều hành thống trị đối với
các Server. Đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ
điều hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên
tốt…..Giao thức TCP/IP mà chúng ta vẫn thấy ngày nay chính là một giao thức
truyền tin của Linux (sau này mới được đưa vào Windows).
Chạy thống nhất trên các hệ thống phần cứng
Dù cho có rất nhiều phiên bản Linux được các nhà phân phối khác nhau
ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ
Intel 486 đến những máy Core 2 Duo, từ những máy có dung lượng RAM chỉ
5
6. 4MB đến những máy có cấu hình cực mạnh (tất nhiên là tốc độ sẽ khác nhau
nhưng về nguyên tắc vẫn có thể chạy được). Nguyên nhân là Linux được rất
nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển (không như
Windows chỉ do Microsoft phát triển) và chúng ta sẽ bắt gặp nhiều người có
"cùng cảnh ngộ" như mình và dễ dàng tìm được các driver tương ứng với thiết
bị của mình. Tính chất này hoàn toàn trái ngược với Windows. Mỗi khi có một
phiên bản Windows mới ra đời thì bao giờ kèm theo đó cũng là một cơn khát về
phần cứng vì hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ.
2. Nhược điểm:
Dù cho hiện nay Linux đang có tốc độ phát triển nhanh hơn hẳn Windows
nhưng khách quan mà nói so với Windows, Linux vẫn chưa thể đến với người
sử dụng cuối. Đó là do Linux vẫn còn có những nhược điểm cố hữu:
Đòi hỏi người dùng phải thành thạo.
Trước kia việc sử dụng và cấu hình Linux được xem là một công việc chỉ
dành cho những kĩ thuật viên CNTT. Hầu như mọi công việc đều thực hiện trên
các dòng lệnh và phải cấu hình nhờ sửa trực tiếp các file. Mặc dù trong những
phiên bản gần đây, các Hệ điều hành Linux đã có những cải tiến đáng kể, nhưng
so với Windows tính thân thiện của Linux vẫn còn là một vấn đề lớn. Đây là một
trong những nguyên nhân chủ yếu khiến Linux mặc dù có rất nhiều đặc tính kỹ
thuật tốt nhưng vẫn chưa đến được với người dùng cuối.
Tính tiêu chuẩn hóa.
Linux được phát hành miễn phí nên bất cứ ai cũng có thể tự mình đóng
gói, phân phối theo những cách riêng. Hiện tại có khá nhiều bản Linux phát triển
từ một nhân ban đầu cùng tồn tại như: RedHat, SuSE, Knoppix….. Người dùng
phải tự so sánh xem bản nào là phù hợp với mình. Điều này có thể gây khó khăn
cho người dùng, nhất là những người còn có kiến thức về tin học hạn chế.
Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế.
Mặc dù Windows có sản phẩm nào thì Linux cũng gần như có phần mềm
tương tự, (VD: OpenOffice trên Linux tương tự như MSOffice, hay GIMP tương
6
7. tự như Photoshop...). Tuy nhiên chất lượng những sản phẩm này là chưa thể so
sánh được với các sản phẩm viết cho Windows.
Phần cứng.
Một số nhà sản xuất phần cứng không có driver hỗ trợ Linux: Do hiện nay
Linux chưa phổ biến bằng Windows nên nhiều nhà sản xuất không hỗ trợ các
driver chạy trên Linux. Tuy nhiên chúng ta vẫn có thể tìm thấy các driver này
trên internet do cộng đồng mã nguồn mở viết. Trên cơ sở nhìn nhận một cách
khách quan các ưu, nhược điểm của Hệ điều hành Linux cũng như xem xét xu
hướng phát triển tin học ở nước ta có thể thấy, Đối với người dùng thông thường
việc chuyển từ Windows sang Linux trong ngày một ngày hai là chưa thể. Tuy
nhiên đối với những người làm tin học, đặc biệt là đối với sinh viên, việc tìm
hiểu và nghiên cứu Linux và phần mềm mã nguồn mở là một điều kiện rất tốt để
nâng cao hiểu biết của mình. Linux dẫu sao vẫn là một hệ điều hành rất có giá
trị: chi phí thấp, linh hoạt, ổn đinh, và bảo mật cao.
7
8. Chương 2. Dịch vụ mạng trên Linux.
I. Dịch vụ DNS.
1. Giới thiệu về dịch vụ DNS.
Mỗi máy tính trên mạng muốn trao đổi thông tin với nhau thì cần phải
biết rõ địa chỉ Ip của nhau.
Mỗi máy tính ngoài địa chỉ Ip còn có một tên (HOSTNAME). Để liên lạc
thì việc ghi nhớ địa chỉ Ip của nhau là việc rất khó khăn, đặc biệt là việc địa chỉ
IPV4 càng ngày càng không thể cung cấp đủ số lượng nhu cầu thì việc chuyển
sang dùng IPV6 là điều tất yếu và việc phải nhớ một dãy số hexa 32 số là việc
không tưởng.
Do những khó khăn trên người ta đã nghĩ ra việc làm sao để ánh xạ địa
chỉ ip của mỗi máy thành hostname của nó và ngược lại. Để khi trao đổi với
nhau người ta chỉ cần nhớ tên ban đầu của máy tính bên kia. Ban đầu do quy mô
mạng ARPA NET (tiền thân của mạng internet) còn nhỏ, nên chỉ có một tập tin
HOST.TXT lưu thông tin và ánh xạ tên máy thành địa chỉ Ip. Trong đó, tên máy
chỉ là chuỗi văn bản không phân cấp (plat name). Tệp tin này được duy trì tại
một máy chủ và các máy chủ khác lưu giữ bản sao của nó. Tuy nhiên khi mô
hình mạng lớn hơn, việc sử dụng tập tin HOST.TXT có các nhược điểm sau:
- Lưu lượng mạng và máy chủ duy trì tập tin HOST.TXT bị quá tải.
- Xung đột tên: do tên máy không phân cấp và không có cơ quan quản lý
tập tin nên có nguy cơ bị xung đột tên.
- Không đảm bảo sự toàn vẹn: việc duy trì tập tin trên một mạng lớn rất
khó khăn. Ví dụ: khi tập tin HOST.TXT vừa cập nhật chưa kịp chuyển đến máy
chủ ở xa thì đã có sự thay đổi địa chỉ trên mạng rồi.
- Tóm lại, việc sử dụng tập tin HOST.TXT không phù hợp cho mạng lớn
vì thiếu cơ chế phân tán và mở rộng. Do đó dịch vụ DNS ra đời nhằm khắc phục
các nhược điểm này.
8
9. 2. Hệ thông tên miền DNS
DNS hoạt động theo mô hình client – server. Máy chủ server chứa các
thông tin CSDL. Phía client là trình phân giải tên resolver, nó chỉ là các hàm thư
viện dùng để tạo các query và gởi chúng đến máy chủ DNS server.
DNS hoạt động như một giao thức tầng application trong mạng ICP/IP
DNS là một cơ sở dữ liệu phân tán. Có nhiệm vụ chuyển đổi tên miền
sang địa chỉ IP và ngược lại. Hệ thống DNS ra đời nhằm mục đích giúp người sử
dụng một tên dễ nhớ, dễ sử dụng. Nguyên tắc làm việc của DNS: - Mỗi nhà
cung cấp dịch vụ vận hành và duy trì DNS server của riêng mình. Khi có yêu
cầu tìm kiếm một website nào đó, thì DNS server phân giải tên website này phải
là DNS server của chính tổ chức quản lý website đó.
- INTERNIC – Internet Network Information Center chịu trách nhiệm
quản lý các tên miền và DNS server tương ứng.
- DNS server có khả năng truy vấn các DNS server khác. Ngoài việc phân
giải tên miền cho các máy trong nội bộ thì nó cũng hỗ trợ các truy vấn từ các
máy ngoài mạng internet vào bên trong.
- DNS server cũng có khả năng nhớ lại các tên vừa phân giải, để dùng cho
những lần truy vấn lần sau. Số lượng tên miền được lưu lại phụ thuộc vào quy
mô của từng DNS server
3. Hoạt động của DNS server trong Linux
Phân loại DNS server:
- Primary name server: Nguồn xác thực thông tin chính thức cho các
domain mà nó được phép quản lý.
- Secondary name server: server dự phòng cho primary server.
- Caching name server: lưu lại các lần truy vấn của client, giúp cho các
lần truy vấn sau được nhanh chóng và giảm tải cho server.
9
10. DNS zone là tập hợp các ánh xạ từ Host đến địa chỉ IP và từ IP tới Host
trong một phần lien tục trong một nhánh của Domain. Thông tin DNS Zone là
những Record gồm tên Host và địa chỉ IP được lưu trong DNS server.
DNS server quản lý và trả lời yêu cầu này từ Client liên quan đến DNS
server này. Hệ thống tên miền cho phép phân chia tên miền để quản lý và chia
hệ thống tên miền thành Zone và trong Zone quản lý tên miền được phân chia
đó. Zone file lưu thông tin Zone ở dạng text hoặc trong Active Directory.
Zone thuận và Zone nghịch:
- Zone thuận – Forward Lookup Zone để phân giải tên máy thành địa chỉ
IP.
- Zone nghịch.
– Reverse Lookup Zone để phân giải địa chỉ IP thành tên máy.
Các loại truy vấn:
- Truy vấn đệ quy (Recursive query): khi name server 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. Name server không thể tham chiếu truy vấn
đến một name server khác. Name server có thể gửi truy vấn dạng đệ quy hoặc
tương tác đến name server 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 name server 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 đó. Bản
thân name server 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 dữ liệu từ dữ liệu cục bộ (kể cả cahe). Trong trường hợp
name server 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 name server gần nhất mà nó biết.
Các file cấu hình chính:
- Host.conf: là tệp điều khiển hoạt động của rersolver, nó quy định các
dịch vụ sử dụng của resolver và thứ tự sử dụng của chúng.
10
11. - Resolver (bộ giải): khi một chương trình cần giải một tên host thì cần sử
dụng một cơ chế gọi là bộ giải. Bộ giải đầu tiên sẽ tra cứu file /etc/host.conf và
xác định phương thức nào sẽ được sử dụng để giải quyết các tên host (local file,
name server NIS hay ldap server).
- File named.conf: file cấu hình chính của DNS.
- Các tệp cơ sở dữ liệu DNS – các file phận giải thuận, phân giải nghịch.
Thành phần cơ bản là bản ghi nguồn RR (Resource Record). Mỗi bản ghi có một
kiểu dữ liệu, bao gồm:
SOA (Start of Authority): trong mỗi tập tin cơ sở dữ liệu 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.
NS (Name server): tên server.
MX (Mail Exchange): chuyển mail trên mạng Internet.
A (Address): ánh xạ tên máy (hostname) vào địa chỉ IP.
CNAME (canonical name): tên bí danh của server. PTR: dùng để ánh
xạ địa chỉ IP thành hostname.
4. Cài đặt và cấu hình dịch vụ DNS server
Cài đặt :
Cần download và cài đặt gói BIND trên máy linux. Thường thì tên file
cài đặt BIND bắt đầu là bind, sau đó là version.
- Nếu không biết version nào, gõ bind*
- Thông thường có 2 cách cài đặt BIND là cài từ gói compile sẵn (RPM –
Redhat Package Manager):
+ Cài từ gói rpm: rpm –ivh bind-9.7.3-8.P3.el6.x86_64.rpm, nếu có
internet thì cài bằng lênh yum –y install bind*
+ Cài từ source: mount thư mục chứa gói cài đặt DNS vào máy chủ
centos: #mount /dev/cdrom/medi
Cấu hình DNS
11
12. Định nghĩa những cấu hình toàn cục cho DNS server:
Cú pháp:
Options [
(directory path_name)
(forwarders [in_addr1; inaddr2;…]
(allow_query [address_match_list]
(notify yes/no (also – notify [ip_addr1, ip_addr2…;]
(also – update [ip_addr1, ip_addr2…;]
Directory <đường dẫn thư mục chứa các file CSDL của DNS>
Forwarders: danh sách địa chỉ Ip của các name server mà nó sẽ gửi yêu
cầu truy vấn khi cần.
Allow-query: danh sách địa chỉ Ip được phép truy vấn CSDL DNS
Notifi: mặc định được set là “yes”, khi có sự thay đổi trên CSDL thì name
server sẽ gửi thông báo về sự thay đổi này cho các name server được khai báo
trong danh sách name server được liệt kê trong record NS và các name server
được khai báo trong tùy chọn also-notify.
+ Cấu hình master DNS, ta vào file vi /etc/named.conf:
Ta tiến hành cấu hình phân giải ngược như sau: tạo file theo đường dẫn
sau vi /var/named/doan.nghich.
12
13. Hình 1: Cấu hình zone nghịch
+ Ta tiến hành cấu hình phân giải thuận như sau: tạo file theo đường dẫn
sau vi /var/named/doan.thuan.
Hình 2: Cấu hình zone thuận.
13
14. Sau khi cấu hình xong file này và ping thành công 2 máy thì restart lại
dịch vụ. Kiểm tra dịch vụ DNS phân giải trong nslookup
Hình 3: Kiểm tra dịch vụ DNS
II. Dịch vụ DHCP
1. Giới thiệu dịch vụ DHCP
Hệ thống cần cung cấp IP mỗi máy tính để các máy này có thể liên lạc
với nhau. Với mô hình mạng tương đối nhỏ, việc cấp IP tương đối dễ dàng.
Nhưng với một mô hình mạng lớn thì việc cung cấp IP trở nên khó khăn. Vì vậy
cần phải có một dịch vụ cung cấp IP tự động cho các máy client trong hệ thống
mạng.
- DHCP là một dịch vụ cung cấp IP tự động cho các client.
- Hoạt động theo mô hình Client – server
- Ngoài ra DHCP còn có nhiều tính năng khác cho client như: cung cấp
địa chỉ của máy tính dùng để giải quyết tên miền DNS, địa chỉ của một Gateway
router…
14
15. 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 trạng đụ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). - 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
Hostpot như: nhà ga, sân bay, trường học…
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 client 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ảng thời gian nhấp định, kèm theo
là một subnet mask và địa chỉ của server. Server sẽ không 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 chọn 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 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.
15
16. 3. Các thông số trong cấu hình DHCP
- Option: Dùng để cung cấp các yếu tố cho phía client như địa chỉ IP, địa
chỉ subnet mask, địa chỉ Gateway, địa chỉ DNS…
- Scope: một đoạn địa chỉ được quy định trước trên DHCP server dùng
để gán cho các máy client.
- Reservation: là những đoạn địa chỉ dùng để đành trong một số scope đã
được quy định ở trên.
- Lease: thời gian “cho thuê” địa chỉ IP đối với mỗi client.
4. Cài đặt và cấu hình dịch vụ DHCP.
Để cấu hình dịch vụ DHCP, bạn cần phải cài đặt gói dịch vụ DHCP. Có
2 cách cài đặt.
- Cách 1: cài đặt từ đĩa cd #rpm –ivh dhcp-*.rpm (với * là phiên bản
của gói dịch vụ).
- Cách 2: cài đặt bằng cách tải trên mạng #yum –y install dhcp Kiểm tra
gói cài đặt:
# rpm –qa|grep dhcp. Sau khi cài đặt, ta cấu hình như sau:
Hình 4: Cấu hình DHCP
16
17. Sau khi cấu hình file dhcpd.conf, thực hiện lệnh service dhcpd start
để bật dịch vụ. Để kiểm tra dịch vụ đã cấp phát ip thành công hay chưa, ta
sang máy Xp gõ lênh ipconfig để kiểm tra.
Hình 5: Máy client đã được cấp phát địa chỉ Ip.
III. Dịch vụ SAMBA.
1. Giới thiệu SAMBA
Các hệ thống Linux sử dụng giao thức TCP/IP trong kết nối mạng,
trong khi đó hệ điều hành của Microsoft sử dụng một giao thức kết nối
mạng khác – giao thức Server Message Block (SMB), giao thức này sử
dụng NETBIOS để cho phép các máy tính chạy Windows chia sẻ các tài
nguyên với nhau trong mạng cục bộ. Để kết nối tới các mạng bao gồm cả
những hệ thống Unix, Microsoft phát triển Common Internet File System
(CIFS), CIFS vẫn sử dụng SMB và NETBIOS cho mạng Windows. Có
một số phiên bản của SMB được gọi là Samba. Samba được tạo ra bởi
Andrew Tridgell 1991, được phát triển dựa trên giao thức SMB và CIFS.
Samba là giao thức dùng để giao tiếp giữa Linux và windowvới một số
17
18. chức năng như: chia sẻ file, chia sẻ thư mục, quản lý printer, printer
setting tập trung, chứng thực client login vào window domain, cung caaos
Windows Internet Name Service (WINS). Có thể thấy rằng, người dùng
trên mạng có thể dùng chung các tập tin và máy in. Người dùng có thể
điều khiển truy nhập tới những dịch vụ này bằng cách yêu cầu người dùng
phải nhập mật mã truy nhập, điều khiển truy nhập có thể thực hiện ở 2 chế
độ: chế độ dùng chung (share mode) và chế độ người dùng (user mode).
Chế độ dùng chung sử dụng một mật mã truy nhập tài nguyên dùng chung
cho nhiều người. Chế độ người dùng cung cấp cho mỗi tài khoản người
dùng mật mã truy nhập tài nguyên khác nhau. Vì lý do phải quản lý mật
mã truy nhập, samba có sử dụng tập tin /etc/samba/smbpassword để lưu
trữ các mật mã truy nhập người dùng.
Để cấu hình và truy nhập một hệ thống Samba và Linux, người
dùng cần thực hiện các thủ tục chính sau:
- Cấu hình dịch vụ và khởi động dịch vụ Samba.
- Khia báo tài khoản sử dụng Samba
- Truy nhập dịch vụ Samba. Các tập tin cấu hình dịch vụ:
/etc/samba/smb.conf : tập tin cấu hình của Samba
/etc/samba/smbpassword : chứa mật mã truy nhập của người dùng
/etc/samba/smbusers : chứa tên hiệu cho các tài khoản của samba.
smbpasswd –a: tạo tài khoản Samba.
smbpasswd: thay đổi thông tin tài khoản Samba.
smbclient: truy nhập dịch vụ SBM
smbstatus: theo dõi tình trạng kết nối hiện hành.
2. Cài đặt và cấu hình
Gói phần mềm Samba có thể lấy từ đĩa CD hoặc download từ mạng. Các
bước cài đặt như sau:
18
19. - Kiểm tra dịch vụ Samba đã được cài đặt hay chưa: rpm –qa
| grep samba
- Cài đặt nếu chưa cài đặt: thực hiện cài đặt như sau:
Hình 6: Cài đặt Samba.
Daemon của dịch vụ Samba sử dụng tập tin cấu hình /etc/samba/smb.conf. Tập
tin này được chia thành hai phần chính:
- Golbal setting: phần dành cho những lựa chọn toàn cục của dịch vụ.
- Sharing setting: phần dành cho khai báo tài nguyên được đưa lên mạng
dùng chung.
Nhóm [global]: các tham số trong nhóm này được áp dung một cách toàn
cục cho toàn dịch vụ, đồng thời, một số tham số trong nhóm này cũng là các
tham số mặc định của các nhóm không khai báo tường minh. Nhóm này phải
được đặt tại phần đầu trong tập tin cấu hình /etc/samba/smb.conf
Một số tham số cơ bản trong nhóm [global] cần được cấu hình bao gồm:
- Workgroup: chỉ ra tên của nhóm (workgroup) muốn hiển thị trên mạng.
Trên windows, tên này được hiển thị trong cửa sổ Network Neighborhood.
19
20. - Host allow: chỉ ra những địa chỉ mạng hay địa chỉ máy được truy nhập
tới dịch vụ Samba. Các địa chỉ trong danh sách đưuọc viết cách nhau một
khoảng trắng.
- Encrypt passwords: giá trị mặc định là yes. Với tham số này, Samba sẽ
thực hiện mã hóa mật mã dễ tương thích được với cách mã hóa của windows.
Trong trường hợp không mã hóa mật mã, người dùng chỉ có thể sử dụng dịch vụ
Samba giữa các máy Linux với nhau hoặc người dùng phải cấu hình lại máy tính
Windows nếu muốn sử dụng Samba trên Linux.
- Smb passwd file: nếu encrypt passwords=yes, tham số này sẽ xác định
tập chứa mật mã đã đưuọc mã hóa. Mặc định là /etc/samba/smbpasswd
- Usename map: chỉ ra tập tin chứa các tên hiệu (alias) cho một tài khoản
hệ thống. Giá trị mặc định là: /etc/samba/smbusers
- Printcap file: cho phép Samba nạp các mô tả máy in từ tập tin: printcap.
Giá trị mặc định là: /etc/printcap
- Sercurity: khai báo này xác định cách thức các máy tính trả lời dịch vụ
Samba. Mặc định tham số này có giá trị là user, giá trị cần sử dụng khi kết nối
tới các máy tính windows.
Nhóm [homes]: nhóm này xác định các điều khiển mặc định cho truy
nhập như thư mục chủ của người dùng thông qua giao thức SMB bới người
dùng từ xa. Khi có yêu cầu kết nối, samba sẽ thực hiện kiểm tra các nhóm hiện
có, nếu nhóm nào đáp ứng được yêu cầu, nhóm đó sẽ được sử dụng. Nếu không
đáp ứng được yêu cầu, nhưng nhóm đó tồn tại nó sẽ được xử lý như mô tả ở
trên. Mặt khác, tên nhóm được yêu cầu cũng được xử lý như một tên của máy in
và samba thực hiện tìm kiếm tập tin printcap tương ứng để xác định xem tên
nhóm được yêu cầu có hợp lệ hay không. Nếu hợp lệ, một tài nguyên dùng
chung sẽ được dựa trên nhóm [printers].
Ngoài 3 nhóm đặc biệt được nêu trên, để thực hiện tạo các tài nguyên
dùng chung khác, người dùng cần thực hiện tạo các tài nguyên này. Các nhóm
20
21. dành cho các tài nguyên dùng chung, như là các mục trên hệ thống, thường đặt
sau nhóm [home]và[printer] và có thể đặt tên bất kỳ.
Ngoài 3 nhóm đặc biệt được nêu trên, để thực hiện tạo các tài nguyên
dùng chung khác, người dùng cần thực hiện tạo các tài nguyên này. Các nhóm
dành cho các tài nguyên dùng chung, như là các mục trên hệ thống, thường đặt
sau nhóm [home]và[printer] và có thể đặt tên bất kỳ.
- Comment: Mô tả tùy ý cho các tài nguyên được đưa lên mạng dùng
chung.
- Path: chỉ ra đường dẫn đến thư mục trên hệ thống tập tin mà tài nguyên
dùng chung tham chiếu tới.
- Public: có giá trị là yes hoặc no. Nếu là public = yes, Samba cho phép
mọi người dùng đều có thể truy nhập tài nguyên dùng chung đó.
- Browseable: có giá trị yes hoặc no. Nếu là browseable = yes thì thư mục
được dùng chung sẽ được nhìn thấy ở trên mạng. Giá trị mặc định là yes.
- Valid user: Danh sách những người dùng đưuọc quyền truy nhập tài
nguyên dùng chung. Tên người dùng được cách nhau bới khoảng trắng hoặc ký
tự „, . Tên nhóm đưuọc đứng trước bởi ký tự „@
‟ ‟
- Invalid users: danh sách những người dùng không được quyền truy nhập
tài nguyên dùng chung. Tên người dùng được cách nhau bởi khoảng trắng hoặc
ký tự „, . Tên nhóm được đứng trước bởi ký tự „@
‟ ‟
- Writeable:có giá trị yes hoặc no. Nếu là writeable = yes người dùng
được phép ghi vào thư mục dùng chung.
- Write list: Xác định danh sách người dùng /nhóm có quyền ghi tới thư
mục dùng chung. Trong trường hợp chỉ ra tên nhóm, trước tên nhóm phải là một
ký tự „@ .
‟
- Printable: có giá trị là yes hoặc no. Nếu là printable = yes người dùng
được phép truy nhập đến dịch vụ in.
- Create mask: thiết lập quyền trên thư mục/tập tin được tạo trong thư mục
được dùng chung. Giá trị mặc định là 0744
21
22. Thí dụ dưới đây là các khai báo để thực hiện đưa một tài nguyên có tên
dùng chung là mydoc (thư mục trên hệ thống là /home/shired) cho cả hai tài
khoản a1, a2 và các tài nguyên thuộc nhóm nhanvien được phép truy nhập:
[mydoc]
path=/home/shired
public=no
valid users= a1 a2 @nhanvien
writable=yes
create mask=0766
Chú ý:
- Thư mục được đưa lên mạng dùng chung phải cung cấp quyền tương
ứng cho người dùng.
- Các tham số được chỉ ra ở nhóm tài nguyên được dùng chung sẽ có hiệu
lực thay thế các tham số được thiết lập ở nhóm [global].
- Trong tập tin smb.conf có thể sử dụng một số biến thay thế như %m –
tên NetBIOS của máy client, %Samba – tên dịch vụ hiện hành (nếu có), %u –
tên người dùng hiện hành (nếu có )… í dụ: “path = /home/%u” sẽ được phiên
dịch là “path=/ymp/foo” nếu tài khoản foo thực hiện truy nhập.
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.
Ví 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:
22
23. [pladir]
comment = Pla's remote source code directory
path = /usr/local/src
valid users = leduan
browsable = yes
public = no
writable = yes
create mask = 0700
Đ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.
3. Quản trị tài khoản Samba
Để có thể sử dụng dịch vụ Samba(ngoại trừ trường hợp cho phép mọi
người dùng truy nhập), người dùng cần phải thiết lập tài khoản người dùng
Samba. Tài khoản người dùng Samba là một tài khoản được xây dựng dựa trên
tài khoản hệ thống (tài khoản của Linux), do vậy, phải có tài khoản người dùng
hệ thống người dùng mới có thể tạo được tài khoản samba.
Tạo tài khoản Samba:
Samba sử dụng database người dùng riêng để chứng thực user,password khi
người dùng truy cập vào samba chứ không dùng database người dùng trong file
passwd của hệ thống.
23
24. Samba phiên bản 3.0 trở lên, không còn dùng lệnh smbadduser nữa mà sữ
dụng cú pháp sau để tạo tài khoản samba:
smbpasswd –a
Ví dụ: lệnh sau cho phép tạo tài khoản Samba có tên a3 ứng với tài khoản a3 của
linux:
[root@server2]# smbpasswd –a a3
Quản trị tài khoản Samba – smbpasswd: Lệnh smbpasswd được sử
dụng để quản lý các tài khoản Samba. Tiện ích này cho phép xóa tài khoản, khoá
tài khoản cũng như cho phép thay đổi mật mã đăng nhập vào dịch vụ Samba.
Cú pháp lệnh:
smbpasswd [option] [username]
Trong đó username là tên tài khoảng người dùng Samba. Trong trường
hợp không có đối số username, lệnh này tác động tới người dùng hiện hành.
Lệnh smbpasswd khi sử dụng không có lựa chọn (option), nó cho phép
thay đổi mật mã truy nhập của tài khoản Samba username.
Một số lựa chọn của lệnh như sau:
-x : Xoá người dùng Samba username khỏi tập tin /etc/samba/smbpasswd.
-d : Vô hiệu hóa tài khoản Samba của tài khoản username, bằng cách ghi
cờ „D vào trong phần điều khiển tài khoản trong tập tin smbpasswd.
‟
-e : Bật lại tài khoản Samba đã bị khóa trước đó, bằng cách gỡ bỏ cờ „D‟
trong tập tin smbpasswd.
-n : Cho phép username sử dụng mật mã trống (không mật mã). Chú ý
rằng, tham số null passwords =yes phải được thiết lập trong nhóm [global] ở tập
tin /etc/samba/smb.conf.
Ví dụ: Để xóa tài khoản a3 của Samba, người dùng thực hiện lệnh sau:
# smbpasswd –x a3
24
25. 4. Sử dụng dịch vụ Samba
Truy nhập dịch vụ SMB - lệnh smbclient
Việc truy nhập dịch vụ Samba của Linux từ các máy tính Windows được
thực hiện tương tự như việc truy nhập các thông tin được chia sẻ giữa các máy
tính Windows.
Các hệ thống Linux có thể truy nhập hệ dịch vụ Samba bằng cách thi hành
lệnh smbclient.smbclient, hoạt động giống như FTP, cho phép truy nhập hệ
thống sử dụng giao thức SMB. Nhiều lệnh smbclient tương tự như FTP, như là
lệnh mget để truyền tập tin, lệnh del để xóa tập tin.
Cú pháp lệnh: smbclient //servername/service [options]
Trong đó servername là tên (hay địa chỉ IP) của máy chủ Samba, service
là tên thư mục được chia sẻ (chính là tên của nhóm được khai báo trong tập tin
cấu hình của Samba /etc/samba/smb.conf).
Một số lựa chọn hay dùng của lệnh:
U username: Tên tài khoản đăng nhập sử dụng Samba
L host: Liệt kê danh sách các thư mục được chia sẻ trên máy có địa chỉ IP hay
tên máy là host.
N: Không xuất hiện lời nhắc yêu cầu nhập mật mã. Thường dùng trong trường
hợp thư mục được chia sẻ là public.
Một khi đã kết nối được với máy chủ Samba, Samba xuất hiện lới nhắc như sau:
smb: >
Tại lời nhắc này, người dùng có thể thi hành các lệnh của smbclient.
Phần lớn những lệnh này tương tự như những lệnh của ftp ( để gửi và lấy tập tin
về, như là get, mget, put, mput) và giống như những lệnh về quản lý tập tin của
Linux (như là ls,rm, cd…). Để biết được các lệnh của smbclient. Tại lời nhắc
này người dùng dùng lệnh?.
Gắn kết một tài nguyên dùng chung vào hệ thống tập tin (mount &
umount)
25
26. Việc truy nhập các tập tin dùng chung thông qua lệnh smbclient là khá
bất tiện và không được linh hoạt. trong trường hợp thường xuyên có các thao tác
trên thư mục dùng chung, người dùng có thể gắn kết thư mục được share trên
mạng đó vào hệ thống tập tin cục bộ để có thể sử dụng như một thư mục bình
thường. lệnh được sử dụng để thực hiện tác vụ này là lệnh mount với cú pháp
như sau:
mount [-t type] [-o options] device dir
Trong đó:
Type là kiểu của thiết bị cần mount.
Ví dụ: lệnh dưới đây thực hiện gắn kết thư mục dùng chung có tên là software
trên máy có địa chỉ 192.168.1.202 vào thư mục /home/software/ trên hệ thống
tập tin với quyền của tài khoản username=administrator, password=123456:
[root@server2~]#mount –t cifs -ousername=administrator,
password=123456
//192.168.1.202/software /home/software
Để có thể gở bỏ gắn kết thư mục dùng chung, người dùng sử dụng lệnh
umount với cú pháp sau:umount mountpoint
Trong đó mountpoint là vị trí (thư mục) trên hệ thống tập tin cục bộ mà
thư mục dùng chung được gắn kết vào. Ví dụ: gỡ bỏ gắn kết của thư mục
software vừa thực hiện gắn kết ở thí dụ trên:
[root@server2 ~]# umount /home/software
Option là các tùy chọn đối với thiết bị được mount.
Device là tên thiết bị cần mount.
Dir là đường dẫn đến mount point.
26