Tải bản đầy đủ (.pdf) (72 trang)

Xây dựng và quản trị hệ thống web server trên linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.12 MB, 72 trang )

LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong đồ án này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của TS. Nguyễn Thị Hiền.
2 Mọi tham khảo trong đồ án đều được trích dẫn rõ ràng tên tác giả, nơi
lấy tài liệu tham khảo và lời cảm ơn.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá tôi xin
chịu hoàn toàn trách nhiệm.

1


LỜI CẢM ƠN
Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình,
chu đáo của cô giáo TS.Nguyễn Thị Hiền, em đã hoàn thành đồ án đúng thời hạn.
Do thời gian làm đồ án có hạn và trình độ còn nhiều hạn chế nên không thể tránh
khỏi những thiếu sót. Em rất mong nhận được sự đóng góp ý kiến của các thầy cô
cũng như là của các bạn sinh viên để bài đồ án này hoàn thiện hơn nữa. Em xin
chân thành cảm ơn cô giáo TS.Nguyễn Thị Hiền, các thầy cô giáo trong ngành
Công nghệ Kỹ thuật máy tính đã tạo điều kiện giúp đỡ em trong thời gian qua

GVHD: TS.Nguyễn Thị Hiền

SVTH: Ma Đình Phú

2


MỤC LỤC
LỜI CAM ĐOAN .................................................................................................... 1
MỤC LỤC ............................................................................................................... 3


DANH MỤC HÌNH ẢNH....................................................................................... 6
LỜI NÓI ĐẦU......................................................................................................... 7
CHƯƠNG 1: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH LINUX UBUNTU......................... 8
1.1 Giới thiệu về Unix và Linux......................................................................... 8
1.1.1 Lịch sử ra đời của Linux ....................................................................... 8
1.1.2 Chức năng của Linux ............................................................................ 9
1.1.3 Giới thiệu chung về Linux .................................................................. 10
1.1.4 Sử dụng lệnh trong Linux ................................................................... 12
1.2 Tìm hiểu Ubuntu........................................................................................ 15
1.2.1 Lịch sử phát triển................................................................................ 15
1.2.2 Các phiên bản của Ubuntu .................................................................. 16
1.2.3 Đặc điểm, cách cài đặt ứng dụng Linux trên Ubuntu........................... 17
1.3 Tìm hiểu về các lệnh cơ bản thường dùng trong Linux............................... 20
1.4 Tổng kết chương........................................................................................ 24
CHƯƠNG 2: QUẢN LÝ NGƯỜI DÙNG TRÊN HỆ THỐNG .............................. 25
2.1 Thông tin và quản trị người dùng ............................................................... 25
2.1.1 User .................................................................................................... 25
2.1.2 Group ................................................................................................. 25
2.1.3 Tập lệnh quản lý User và Group ......................................................... 25
2.1.4 Những file lien quan đến User và Group ............................................. 26
2.1.5 Quyền hạn và các lênh liên quan đến quyền hạn ................................. 26
2.2 Tạo người dùng bằng chế độ dòng lệnh...................................................... 27
2.2.1 Useradd .............................................................................................. 27
2.2.2 Adduser .............................................................................................. 28
2.3 Phân quền truy cập tài nguyên trong Ubuntu.............................................. 30
2.3.1 Quyền truy cập trên file system........................................................... 30
2.3.2 Gán quyền truy cập trên Ubuntu Linux ............................................... 32
2.3.3 Lệnh chmod........................................................................................ 33
3



2.3.4 Lệnh chown ........................................................................................ 35
2.3.5 Lệnh chgrp.......................................................................................... 36
2.4 Tổng kết chương........................................................................................ 36
CHƯƠNG 3: QUẢN LÝ CÁC GÓI CÀI ĐẶT TRÊN HỆ THỐNG ...................... 37
3.1 Cài phần mềm từ source trên linux............................................................. 37
3.2 Cài đặt phần mềm trên Redhat – Centos..................................................... 40
3.3 Cài đặt phần mềm trên Ubuntu – Debian ................................................... 42
3.4 RPM Build................................................................................................. 45
3.5 Tổng kết chương........................................................................................ 48
CHƯƠNG 4: XÂY DỰNG VÀ CÀI ĐẶT HỆ THỐNG WEB SERVER TRÊN
LINUX .................................................................................................................. 49
4.1Tổng quan về Web Server........................................................................... 49
4.2Cài đặt Apache ........................................................................................... 50
4.2.1Giới thiệu về Apache ........................................................................... 50
4.2.2Cài đặt Apache .................................................................................... 51
4.2.3Cấu trúc thư mục cấu hình Apache trên Ubuntu................................... 52
4.2.4Thư mục gốc chứa dữ liệu website của Apache trên Ubuntu ................ 53
4.2.5Thêm VirtualHost (thêm domain) vào Apache trên Ubuntu ................. 53
4.3Cài đặt PHP ................................................................................................ 55
4.3.1Giới thiệu về PHP................................................................................ 55
4.3.2Cài đặt PHP ......................................................................................... 56
4.3.3Các module cho PHP ........................................................................... 57
4.4Cài đặt MySQL Server................................................................................ 57
4.4.1Giới thiệu về MySQL và phpMyAdmin............................................... 57
4.4.2Cài đặt MySQL.................................................................................... 58
4.4.3Cài đặt phpMyAdmin .......................................................................... 59
4.4.4Phân quyền thư mục/tập tin cho Apache và PHP ................................. 60
4.5Chương trình ứng dụng ............................................................................... 60
4.5.1Cài đặt các gói phần mềm .................................................................... 60

4.5.2 Quản lý User và phân quyền cho thư mục........................................... 61
4.5.3Thêm website và domain ..................................................................... 62
4


4.5.4 Quản lý cơ sở dữ liệu.......................................................................... 64
4.5.5 Demo website cài đặt thành công và chạy trên VirtualHost................. 65
4.6 Tổng kết chương........................................................................................ 66
KẾT LUẬN ........................................................................................................... 67
TÀI LIỆU THAM KHẢO...................................................................................... 68
PHỤ LỤC .............................................................................................................. 69
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN .................................................... 72

5


DANH MỤC HÌNH ẢNH
Hình 4.2.2a: Cài đặt apache.................................................................................... 51
Hình 4.2.2b: Cài đặt apache ................................................................................... 52
Hình 4.3.1 Cách hoạt động của PHP ...................................................................... 56
Hình 4.4.2: Cài đặt MySQL ................................................................................... 58
Hình 4.4.3a: Cài đặt phpMyAdmin ........................................................................ 59
Hình 4.4.3b: Cài đặt phpMyAdmin ........................................................................ 59
Hình 4.5.1a: Cài đặt apache thành công ................................................................. 60
Hình 4.5.1b: Giao diện cài đặt PHP thành công...................................................... 61
Hình 4.5.2a: Thêm người dùng sử dụng dòng lênh trên Ubuntu ............................. 61
Hình 4.5.2b: Phân quyền cho thư mục.................................................................... 62
Hình 4.5.3a: Thêm thư mục chưa website .............................................................. 62
Hình 4.5.3b: Tạo file config cho website................................................................ 63
Hình 4.5.3c: Tạo đường dẫn đến thư mục chứa website ......................................... 63

Hình 4.5.4a: Giao diện trang phpMyadmin ............................................................ 64
Hình 4.5.4b: Giao diện thêm CSDL cho website .................................................... 64
Hình 4.5.5a: Demo website 1 ................................................................................. 65
Hình 4.5.5b: Demo website 2................................................................................. 65
Hình 4.5.5c: Demo website 3 ................................................................................. 66

6


LỜI NÓI ĐẦU
Ngành công nghệ thông tin là một ngành khoa học đang trên đà phát triển
mạnh và ứng dụng rộng rãi trên nhiều lĩnh vực. Cùng với xu hướng phát triển của
các phương tiện truyền thông như Báo, Radio… thì việc sử dụng internet ngày càng
phổ biến. Truy cập internet chúng ta có được một kho thông tin khổng lồ phục vụ
mọi nhu cầu, mục đích của chúng ta chỉ bằng một cái nhấp chuột.
Nhận thức được nhu cầu tìm hiểu thông tin, giải trí của xã hội, là sự ra đời
của hàng loạt website cho các mục đích thương mại, giải trí tin tức… Để đáp ứng
với việc cập nhật thông tin hàng ngày, tình hình xã hội, chính trị, thời sự, sức
khỏe… thì website là một thứ tất yếu.
Do đó em đã vận dụng những hiểu biết của em về Linux, Apache, PHP,
MySQL, để xây dựng và quản lý một web server website.
Sau thời gian học tập tại trường, được sự chỉ bảo hướng dẫn nhiệt tình của
thầy cô giáo trong ngành Công nghệ kỹ thuật máy tính trường Đại học Công nghệ
Thông tin và Truyền thông, em đã kết thúc khoá học và đã tích luỹ được vốn kiến
thức nhất định. Được sự đồng ý của nhà trường và thầy cô giáo trong khoa em được
giao đề tài tốt nghiệp: “Xây dựng và quản trị hệ thống web server trên Linux”.
Đồ án tốt nghiệp của em gồm ba chương:
Chương 1: Tìm hiểu về HĐH Linux Ubuntu
Chương 2: Quản lý người dùng trên hệ thống
Chương 3: Quản lý các gói cài đặt trên hệ thống

Chương 4: Xây dựng và cài đặt hệ thống web server trên Linux

7


CHƯƠNG 1: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH LINUX UBUNTU
1.1 Giới thiệu về Unix và Linux
1.1.1 Lịch sử ra đời của Linux
Vào năm 1991 tại Phần Lan, Linus B. Torvalds lúc đó là sinh viên ở trường
Đại học tổng hợp Hensinki đã dùng một máy tính cá nhân có trang bị bộ xử lí 386 để
nghiên cứu cách làm việc của nó. Do hệ điều hành MS-DOS không khai thác đầy đủ
các đặc tính của bộ xử lí 386, Linus đã sử dụng một hệ điều hành thương mại khác
là Minix.Hệ điều hành Minix là hệ điều hành Unix cỡ nhỏ.
Do đối mặt với các hạn chế của hệ điều hành này, Linus bắt đầu viết lại một
số của phần mềm để thêm chức năng và các điểm đặc trưng. Sau đó, ông thông báo
kết quả của mình miễn phí bằng Internet dưới tên gọi Linux - chữ viết tắt của Linus
và Unix. Phiên bản đầu tiên của Linux là 0.01 được tung ra vào tháng 8/1991 .
Các phiên bản đầu tiên có rất nhiều hạn chế. Tuy nhiên, sự kiện các mã
nguồn được truyền bá rộng rãi đã giúp phát triển hệ điều hành rất nhanh. Nhiều năm
qua ,số lượng các công ty khai thác đã không ngừng tăng lên. Ngày nay, Linux được
phát triển bởi nhiều người rải rác khắp nơi trên thế giới .
World Wide Web đóng một vai trò quan trọng do nó hỗ trợ mở rộng nhanh hệ
điều hành. Thực tế chúng ta có thể tưởng tượng rằng một nhà khai thác cài đặt Linux
trên máy của mình, anh ta phát hiện lỗi,sữa chữa nó và gởi file nguồn đến Linus.
Một vài ngày sau đó (đôi khi chỉ vài phút sau) phần chính yếu được cải tiến có thể sẽ
được truyền trên mạng .
Mặc dù năm phiên bản đầu tiên của Linux tương đối không ổn định, nhưng
phiên bản đầu tiên được tuyên bố là ổn định (1.0 ) đã được công bố vào khoảng
tháng 3/1994.Số phiên bản đi kèmvới kernel có một ý nghĩa đặc trưng bởi vì nó liên
quan đến chu kì phát triển. Thực tế, quá trình phát triển Linux diễn ra theo một chuỗi

hai giai đoạn:
Giai đoạn phát triển: ở đây kernel không có độ tin cậy cao và tiến trình là bổ
sung chức năng cho nó, tối ưu hóa nó và thử nghiệm các ý tưởng mới. Giai đoạn này
đem lại sự gia tăng số lượng các phiên bản đánh số lẻ, chẳng hạn như 1.1, 1.3, vv....
Đây là thời điểm mà lượng công việc tối đa được thực hiện trên kernel.

8


Giai đoạn ổn định: ở giai đoạn này, mục đích là tạo ra một kernel càng ổn
định càng tốt. Trong trường hợp này, chỉ cho phép thực hiện các hiệu chỉnh, sửa đổi
nhỏ. Số phiên bản của các kernel được gọi là ổn định là các số chẵn, chẳng hạn 1.0 ,
1.2 và mới nhất là 2.2.
Ngày nay, Linux hoàn toàn là một hệ điều hành Unix. Nó ổn định và liên tục
phát triển. Nó không chỉ có khả năng phát triển trên các thiết bị ngoại vi mới nhất
trên thị trường (bộ nhớ flash quang, đĩa quang...) mà hiệu năngcủa nó còn có thể so
sánh với một số hệ điều hành Unix thương mại và thậm chí còn có một số điểm ưu
việt hơn. Sau cùng, mặc dù Linux đã có một khoảng thời gian bị giới hạn trong môi
trường các trường đại học, bây giờ nó đang được tiếp nhận ở các hãng công nghiệp.
Do công suất và độ linh hoạt của hệ điều hành này và tính miễn phí của nó mà hiện
nay nó đang thu hút một số lượng các công ty ngày càng gia tăng .
1.1.2 Chức năng của Linux
Hệ điều hành Linux có rất nhiều chức năng và chúng khai thác khả năng của
các hệ Unix hiện đại theo các cách sau:
- Đa xử lí, các bộ đa xử lí: có thể thực hiện nhiều chương trình đồng thời bất
kể sử dụng một hay nhiều bộ xử lí.
- Đa nền.
- Cho phép nhiều người sử dụng: giống như tất cả các hệ Unix, Linux cho
phép nhiều người sử dụng cùng làm việc trên một máy ở cùng thời điểm.
- Hỗ trợ truyền thông giao xử lí(Pipes, IPC, Sockets).

- Quản lí các thông điệp điều khiển khác nhau.
- Hệ thống quản lí thiết bị đầu cuối tuân thủ theo tiêu chuẩn POSIX. Linux
cũng giả các thiết bị đầu cuối cũng như điều khiển quá trình .
- Hỗ trợ một dải rộng các thiết bị ngoại vi, chẳng hạn như các cạc âm thanh,
giao diện đồ hoạ, mạng, giao diện hệ máy tính nhỏ....
- Buffer cache : vùng bộ nhớ được dành để làm vùng đệm cho các đầu vào và
đầu ra từ các quá trình khác nhau.
- Hệ thống quản lí bộ nhớ trang yêu cầu. Một trang sẽ không được nạp chừng
nào nó không thực sự cần thiết ở bộ nhớ.

9


- Các thư viện động và dùng chung: Các thư viện động chỉ được tải khi chúng
thật sự cần thiết và mã của chúng được dùng chung nếu nhiều ứng dụng đang dùng
chúng
- Cáchệ thống file có thể quản lí tốt và đồng đều các phân hoạch file Linux
được sử dụng bởi filesystem làm các phân hoạch có các định dạng khác(MS-DOS,
ISO9660, vv...).
- Thiết bị của TCP/IP và các giao thức mạng khác.
Tóm lại, Linux là mộ thệ Unix đầy đủ và mạnh. Nó có thể được ứng dụng dễ
dàng. Ngoài ra sự sử dụng công cộng rộng rãi đang trợ giúp nó phát triển một cách
nhanh chóng.
1.1.3 Giới thiệu chung về Linux
* Sơ bộ về nhân
Nhân (còn được gọi là hệ lõi) của Linux, là một bộ các module chương trình
có vai trò điều khiển các thành phần của máy tính, phân phối các tài nguyên cho
người dùng (các quá trình người dùng). Nhân chính là cầu nối giữa chương trình ứng
dụng với phần cứng. Người dùng sử dụng bàn phím gõ nội dung yêu cầu của mình
và yêu cầu đó được nhân gửi tới shell: Shell phân tích lệnh và gọi các chương trình

tương ứng với lệnh để thực hiện.
Một trong những chức năng quan trọng nhất của nhân là giải quyết bài toán
lập lịch, tức là hệ thống cần phân chia CPU cho nhiều quá trình hiện thời cùng tồn
tại. Đối với Linux, số lượng quá trình có thể lên tới con số hàng nghìn. Với số lượng
quá trình đồng thời nhiều như vậy, các thuật toán lập lịch cần phải đủ hiệu quả:
Linux thường lập lịch theo chế độ Round Robin (RR) thực hiện việc luân chuyển
CPU theo lượng tử thời gian.
Thành phần quan trọng thứ hai trong nhân là hệ thống các module chương
trình (được gọi là lời gọi hệ thống) làm việc với hệ thống file. Linux có hai cách
thức làm việc với các file: làm việc theo byte (kí tự) và làm việc theo khối. Một đặc
điểm đáng chú ý là file trong Linux có thể được nhiều người cùng truy nhập tới nên
các lời gọi hệ thống làm việc với file cần đảm bảo việc file được truy nhập theo
quyền và được chia xẻ cho người dùng.

10


* Sợ bộ về Shell
Một số nội dung chi tiết về shell (còn được gọi là hệ vỏ) trong Linux được
trình bày trong chương "Lập trình trên shell". Những nội dung trình bày dưới đây
cung cấp một cách nhìn sơ bộ về shell và vai trò của nó trong hoạt động chung của
hệ điều hành.
Người dùng mong muốn máy tính thực hiện một công việc nào đó thì cần gõ
lệnh thể hiện yêu cầu của mình để hệ thống đáp ứng yêu cầu đó. Shell là bộ dịch
lệnh và hoạt động như một kết nối trung gian giữa nhân với người dùng: Shell nhận
dòng lệnh do người dùng đưa vào, và từ dòng lệnh nói trên, nhân tách ra các bộ phận
để nhận được một hay một số lệnh tương ứng với các đoạn văn bản có trong dòng
lệnh. Một lệnh bao gồm tên lệnh và tham số: từ đầu tiên là tên lệnh, các từ tiếp theo
(nếu có) là các tham số. Tiếp theo, shell sử dụng nhân để khởi sinh một quá trình
mới (khởi tạo quá trình) và sau đó, shell chờ đợi quá trình con này tiến hành, hoàn

thiện và kết thúc. Khi shell sẵn sàng tiếp nhận dòng lệnh của người dùng, một dấu
nhắc shell (còn gọi là dấu nhắc nhập lệnh) xuất hiện trên màn hình.
Linux có hai loại shell phổ biến là: C-shell (dấu nhắc %), Bourne-shell (dấu
nhắc $) và một số shell phát triển từ các shell nói trên (chẳng hạn, TCshell - tcsh với
dấu nhắc ngầm định > phát triển từ C-shell và GNU Bourne - bash với dấu nhắc
bash # phát triển từ Bourne-shell). Dấu mời phân biệt shell nói trên không phải hoàn
toàn rõ ràng do Linux cho phép người dùng thay đổi lại dấu nhắc shell nhờ việc thay
giá trị các biến môi trường PS1 và PS2. Trong tài liệu này, chúng ta sử dụng kí hiệu
"hàng rào #" để biểu thị dấu nhắc shell.
C-shell có tên gọi như vậy là do cách viết lệnh và chương trình lệnh Linux
tựa như ngôn ngữ C. Bourne-shell mang tên tác giả của nó là Steven Bourne. Một số
lệnh trong Cshell (chẳng hạn lệnh alias) không còn có trong Bourne-shell và vì vậy
để nhận biết hệ thống đang làm việc với shell nào, chúng ta gõ lệnh:
# alias
Nếu một danh sách xuất hiện thì shell đang sử dụng là C-shell; ngược lại, nếu
xuất hiện thông báo "Command not found" thì shell đó là Bourne-shell.
Lệnh được chia thành 3 loại lệnh:

11


Lệnh thường trực (có sẵn của Linux). Tuyệt đại đa số lệnh được giới thiệu
trong tài liệu này là lệnh thường trực. Chúng bao gồm các lệnh được chứa sẵn trong
shell và các lệnh thường trực khác.
File chương trình ngôn ngữ máy: chẳng hạn, người dùng viết trình trên ngôn
ngữ C qua bộ dịch gcc (bao gồm cả trình kết nối link) để tạo ra một chương trình
trên ngôn ngữ máy.
File chương trình shell (Shell Scrip). Khi kết thúc một dòng lệnh cần gõ phím
ENTER để shell phân tích và thực hiện lệnh.
1.1.4 Sử dụng lệnh trong Linux

Như đã giới thiệu ở phần trên, Linux là một hệ điều hành đa người dùng, đa
nhiệm, được phát triển bởi hàng nghìn chuyên gia Tin học trên toàn thế giới nên hệ
thống lệnh cũng ngày càng phong phú; đến thời điểm hiện nay Linux có khoảng hơn
một nghìn lệnh.
Tuy nhiên chỉ có khoảng vài chục lệnh là thông dụng nhất đối với người
dùng. Tài liệu này cũng hạn chế giới thiệu khoảng vài chục lệnh đó. Chúng ta đừng
e ngại về số lượnglệnh được giới thiệu chỉ chiếm một phần nhỏ trong tập hợp lệnh
bởi vì đây là những lệnh thông dụng nhất và chúng cung cấp một phạm vi ứng dụng
rộng lớn, đủ thỏa mãn yêu cầu của chúng ta.
Cũng như đã nói ở trên, người dùng làm việc với máy tính thông qua việc sử
dụng trạm cuối: người dùng đưa yêu cầu của mình bằng cách gõ "lệnh" từ bàn phím
và giao cho hệđiều hành xử lý.
Khi cài đặt Linux lên máy tính cá nhân thì máy tính cá nhân vừa đóng vai trò
trạm cuối, vừa đóng vai trò máy tính xử lý.
Dạng tổng quát của lệnh Linux có thể được viết như sau:
# <Tên lệnh> [<các tham số>] ¿
Trong đó:
Tên lệnh là một dãy ký tự, không có dấu cách, biểu thị cho một lệnh của
Linux hay một chương trình. Người dùng cần hệ điều hành đáp ứng yêu cầu gì của
mình thì phải chọn đúng tên lệnh. Tên lệnh là bắt buộc phải có khi gõ lệnh.

12


Các tham số có thể có hoặc không có, được viết theo quy định của lệnh mà
chúng ta sử dụng, nhằm cung cấp thông tin về các đối tượng mà lệnh tác động tới. Ý
nghĩa của các dấu [, <, >, ] được giải thích ở phần quy tắc viết lệnh.
Các tham số được phân ra thành hai loại: tham số khóa (sau đây thường dùng
là "tùy chọn") và tham số vị trí. Tham số vị trí thường là tên file, thư mục và thường
là các đối tượng chịusự tác động của lệnh. Khi gõ lệnh, tham số vị trí được thay

bằng những đối tượng mà người dùng cần hướng tác động tới. Tham số khóa chính
là những tham số điều khiển hoạt động của lệnh theo các trường hợp riêng. Trong
Linux, tham số khóa thường bắt đầu bởi dấu trừ"-" hoặc hai dấu trừ liên tiếp "--".
Khi gõ lệnh, cũng giống như tên lệnh, tham số khóa phải được viết chính xác như
trình bày trong mô tả lệnh. Một lệnh có thể có một số hoặc rất nhiều tham số khóa.
Phụ thuộc vào yêu cầu cụ thể của mình, người dùng có thể chọn một hoặc một số
các tham số khóa khi gõ lệnh. Trong mô tả lệnh, thường xuất hiện thuật ngữtùychọn. Tùy chọn lệnh (thực chất là tham số khóa) cho phép điều chỉnh hoạt động của
lệnh trong Linux, làm cho lệnh có tính phổ dụng cao. Tuỳ chọn lệnh cho phép lệnh
có thểđáp ứng ý muốn của người dùng đối với hầu hết (tuy không phải lúc nào cũng
vậy) các tình huống đặt ra cho thao tác ứng với lệnh.
Ký hiệu " " biểu thị việc gõ phím hết dòng <Enter>. Để kết thúc một yêu
cầu, người dùng nhất thiết phải gõ phím " ".
Ví dụ, khi người dùng gõ lệnh xem thông tin về các file:
# ls -l g ¿
trong lệnh này:
ls là tên lệnh thực hiện việc đưa danh sách các tên file/ thư mục con trong
một thư mục,
-l là tham số khóa, cho biết yêu cầu xem đầy đủ thông tin về các đối tượng
hiện ra. Chú ý, trong tham số khóa chữ cái (chữ "l") phải đi ngay sau dấu trừ "-".
Tương ứng với lệnh ls còn có các tham số khóa -a, -L, ... và chúng cũng là các tùy
chọn lệnh. Trong một số tham số khóa có nhiều chữ cái thay cho một dấu "-" là hai
dấu "--" ở đầu tham số. Ví dụ, như trường hợp tham số --file của lệnh date. g* là
tham số vị trí chỉ rõ người dùng cần xem thông tin về các file có tên gọi bắt đầu là
chữ cái "g".
13


Trong tài liệu này, quy ước rằng khi viết một lệnh (trong mô tả lệnh và gõ
lệnh) thì không cần phải viết dấu " " ở cuối dòng lệnh đó, song luôn ghi nhớ rằng
phím ENTER (" ") là bắt buộc khi gõ lệnh.

Lưu ý:
Linux (và UNIX nói chung) được xây dựng trên ngôn ngữ lập trình C, vì vậy
khi gõ lệnh phải phân biệt chữ thường với chữ hoa. Ngoại trừ một số ngoại lệ, trong
Linux chúng ta thấy phổ biến là:
Các tên lệnh là chữ thường,
Một số tham số có thể là chữ thường hoặc chữ hoa (ví dụ, trong lệnh date về
thời gian hệ thống thì hai tham số -r và -R có ý nghĩa hoàn toàn khác nhau). Tên các
biến môi trường cũng thường dùng chữ hoa.
Trong tài liệu này, tại những dòng văn bản diễn giải, sử dụng cách viết tên
lệnh, các tham số khóa bằng kiểu chữ không chân, đậm như date, -R, -r ...
Linux phân biệt siêu người dùng (tiếng Anh là superuser hoặc root, còn được
gọi là người quản trị hay người dùng tối cao hoặc siêu người dùng) với người dùng
thông thường. Trong tập hợp lệnh của Linux, có một số lệnh mà chỉ siêu người dùng
mới được phép sử dụng còn người dùng thông thường thì không được phép (ví dụ
như lệnh adduser thực hiện việc bổ sung thêm người dùng). Mặt khác trong một số
lệnh, với một số tham số khóa thì chỉ siêu người dùng được phép dùng, còn với một
số tham số khác thì mọi người dùng đều được phép (ví dụ như lệnh passwd thay đổi
mật khẩu người dùng).
Một dòng lệnh có thể có nhiều hơn một lệnh, trong đó lệnh sau được ngăn
cách bởi với lệnh đi ngay trước bằng dấu ";" hoặc dấu "|". Ví dụ về một số dòng lệnh
dạng này:
# ls -l; date
# head Filetext | sort >temp
Sau khi người dùng gõ xong dòng lệnh, shell tiếp nhận dòng lệnh này và phân
tích nội dung văn bản của lệnh. Nếu lệnh được gõ đúng thì nó được thực hiện;
ngược lại, trong trường hợp có sai sót khi gõ lệnh thì shell thông báo về sai sót và
dấu nhắc shell lại hiện ra để chờ lệnh tiếp theo của người dùng. Về phổ biến, nếu

14



như sau khi người dùng gõ lệnh, không thấy thông báo sai sót hiện ra thì có nghĩa
lệnh đã được thực hiện một cách bình thường.
Trước khi đi vào nội dung chi tiết các lệnh thông dụng, chúng ta xem xét về
một số quy định dùng trong mô tả lệnh được trình bày trong tài liệu này.
1.2 Tìm hiểu Ubuntu
Ubuntu là phần mềm mã nguồn mở tự do, có nghĩa là người dùng được tự do
chạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điều
khoản của giấy phép GNU GPL. Ubuntu được tài trợ bởi Canonical Ltd (chủ sở hữu
là một người Nam PhiMark Shuttleworth). Thay vì bán Ubuntu, Canonical tạo ra
doanh thu bằng cách bán hỗ trợ kĩ thuật. Bằng việc để cho Ubuntu tự do và mở mã
nguồn, Canonical có thể tận dụng tài năng của những nhà phát triển ở bên ngoài
trong các thành phần cấu tạo của Ubuntu mà không cần phải tự mình phát triển.
Canonical ủng hộ và cung cấp hỗ trợ cho bốn bản phân phối dựa trên Ubuntu
khác: Kubuntu và Xubuntu, vốn sử dụng KDE và Xfce như là môi trường desktop
thay cho hệ thống GNOME mặc định được sử dụng bởi Ubuntu; Edubuntu, một dự
án con và là phần bổ sung cho Ubuntu, được thiết kế cho môi trường học tập và sử
dụng ở nhà; và Ubuntu JeOS (phát âm “ju:s”), một phiên bản khác của Ubuntu, thiết
kế cho các máy ảo.
1.2.1 Lịch sử phát triển
Bản phát hành đầu tiên của Ubuntu là vào 20 tháng 10 năm 2004, bắt đầu
bằng việc tạo ra một nhánh tạm thời của dự án Debian Linux. Việc này đã được thực
hiện để một phiên bản mới của Ubuntu có thể được phát hành mỗi 6 tháng, tạo ra
một hệ điều hành được cập nhật thường xuyên hơn. Bản phát hành Ubuntu luôn gồm
bản GNOME mới nhất, và được lên lịch phát hành khoảng 1 tháng sau GNOME.
Khác với các nhánh có mục đích chung trước của Debian – như MEPIS, Xandros,
Linspire, Progeny và Libranet, phần nhiều trong số chúng dựa vào các phần mềm bổ
sung có mã đóng mô hình của một doanh nghiệp. Ubuntu lại giống với triết lý của
Debian hơn và dùng các phần mềm miễn phí (libre) vào mọi thời điểm.
Các gói của Ubuntu nói chung dựa trên các gói từ nhánh không ổn định của

Debian: cả 2 bản phân phối đều dùng gói có định dạng deb của Debian và
APT/Synaptic để quản lý các gói đã cài. Ubuntu đã đóng góp trực tiếp và lập tức tất
15


cả thay đổi đến Debian, chứ không chỉ tuyên bố chúng lúc phát hành, mặc dù các gói
của Debian và Ubuntu không cần thiết “tương thích nhị phân” với nhau. Nhiều nhà
phát triển Ubuntu cũng là người duy trì các gói khoá (gói chủ chốt) của chính
Debian. Dù sao, Ian Murdock, nhà sáng lập của Debian, đã chỉ trích Ubuntu vì sự
không tương thích giữa các gói của Ubuntu và Debian, ông nói rằng Ubuntu đã làm
sai lệch quá xa so với Debian Sarge, do đó không còn giữ được sự tương thích.
Hiện tại, Logo của Ubuntu vẫn giữ nguyên như bản đầu tiên, Ubuntu 4.10
(Warty Warthog).
1.2.2 Các phiên bản của Ubuntu
*Phiên bản thông thường
Ubuntu 6.06 LTS Bình minh của Ubuntu (Dawn of Ubuntu) Ubuntu 6.06
LTS Bình minh của Ubuntu (Dawn of Ubuntu) ứng với năm phát hành, và MM
tương ứng với tháng phát hành. Tên trong ngoặc là tên hiệu được đặt cho phiên bản
trước khi phát hành chính thức. Trong tháng 10 năm 2004, Ubuntu phát hành phiên
bản đầu tiên, Ubuntu 4.10. Mỗi phiên bản Ubuntu thông thường được hỗ trợ trong
vòng 18 tháng, chúng cũng được phát hành định kỳ 6 tháng 1 lần và việc nâng cấp
lên phiên bản mới hoàn toàn miễn phí. Người dùng được khuyến khích nâng cấp lên
phiên bản mới để có thể sử dụng các tính năng mới nhất mà ứng dụng cung cấp.
Phiên bản Ubuntu chính thức mới nhất hiện tại là Ubuntu 12.00 (Oneiric Ocelot).
*Phiên bản hỗ trợ lâu dài
Ubuntu cũng có những phiên bản hỗ trợ dài hạn “Long Term Support”, hỗ trợ
trong vòng 3 năm đối với máy tính để bàn và 5 năm đối với máy chủ. Ubuntu 10.04
(Lucid Lynx), ra mắt vào ngày 29, tháng 4 năm 2010, là phiên bản Long Term
Support hỗ trợ đến hiện tại. Canonical sẽ ra mắt phiên bản Long Term Support mỗi
2 năm một lần, và dự kiến sẽ ra mắt bản Long Term Support tiếptheo vào năm 2012.

*Các dự án khác
Có những kế hoạch cho một nhánh tên mã là Grumpy Groundhog. Nó luôn là
nhánh phát triển và kiểm tra các bản không ổn định, kết thúc việc kiểm duyệt mã
nguồn của nhiều phần mềm và ứng dụng để sau đó chúng được phân phối như một
phần của Ubuntu. Điều này cho phép những người dùng có khả năng và các nhà phát
triển kiểm tra các phiên bản mới nhất của từng phần mềm riêng lẻ khi chúng vừa
16


xuất hiện trong ngày, mà không cần phải tự tạo các gói; việc này giúp đưa ra những
cảnh báo sớm về lỗi đóng gói trên một số kiến trúc nền. Bản Grumpy Groundhog
chưa bao giờ được công bố.
Hiện tại, Ubuntu được tài trợ bởi công ty Canonical. vào ngày 8 tháng 7 năm
2005, Mark Shuttleworth và công ty Canonical đã công bố việc thành lập Quỹ
Ubuntu và cung cấp nguồn quỹ ban đầu là 10 triệu dola Mỹ. Mục đích của tổ chức là
bảo đảm cho việc hỗ trợ và phát triển của tất cả phiên bản Ubuntu trong tương lai,
bao gồm cả việc gửi đĩa cài đặt Ubuntu cho mọi yêu cầu cho toàn thế giới.
1.2.3 Đặc điểm, cách cài đặt ứng dụng Linux trên Ubuntu
* Đặc điểm
Ubuntu 9.04 chạy dưới chế độ LiveCD
Ubuntu kết hợp những đặc điểm nổi bật chung của hệ điều hành nhân Linux,
như tính bảo mật trước mọi virus và malware, khả năng tùy biến cao, tốc độ, hiệu
suất làm việc, và những đặc điểm riêng tiêu biểu của Ubuntu như giao diện bắt mắt,
bóng bẩy, cài đặt ứng dụng đơn giản, sự dễ dàng trong việc sao lưu dữ liệu và sự hỗ
trợ của một cộng đồng người dùng khổng lồ.
*Cài đặt
Mỗi phiên bản phát hành có một đĩa chạy trực tiếp, cho phép người dùng xem
xét phần cứng của họ có tương thích với hệ điều hành hay không trước khi cài đặt
lên đĩa cứng bằng phần mềm Ubiquity. Tập tin ảnh đĩa có thể được tải về từ
trang chủ Ubuntu, và các đĩa cài đặt có thể được cung cấp bởi bên thứ ba. Trong

phiên bản Ubuntu 12.10, tập tin ảnh đĩa chỉ có thể được ghi lên đĩa DVD, USB,
hoặc đĩa cứng, vì dung lượng của nó đã vượt quá giới hạn tối đa của đĩa CD.
Đĩa cài đặt Ubuntu yêu cầu máy tính có từ 256 MB RAM trở lên. Quá trình cài
đặt Ubuntu sử dụng giao diện đồ họa, tốc độ cài đặt phụ thuộc vào cấu hình máy
tính, trung bình là từ 20 - 30 phút.
Ngoài ra, người dùng có thể cài đặt Ubuntu lên một đĩa ảo bên trong
Windows bằng bộ cài đặt Wubi. Mặc dù tốc độ xử lý có thể bị giảm sút so với cài
đặt đầy đủ, nhưng bù lại, cài đặt bên trong Windows không yêu cầu người dùng phải
phân vùng lại đĩa cứng và có thể được gỡ bỏ dễ dàng từ ngay trong Windows.

17


Ubuntu cung cấp một tập hợp đầy đủ các tính năng có thể hoạt động ngay lập
tức từ bản cài đặt chuẩn, nhưng lại vừa vặn trong 1 đĩa CD. Có một đĩa chạy trực
tiếp và một đĩa cài đặt truyền thống cho mỗi lần phát hành. CD chạy trực tiếp cho
phép người dùng xem xét phần cứng của họ có tương thích với hệ điều hành hay
không trước khi cài đặt lên đĩa cứng. Đĩa Ubuntu, Edubuntu được gửi miễn phí cho
bất cứ ai yêu cầu, và tập tin ảnh đĩa cũng có sẵn để tải về. Ubuntu khi chạy cần 256
MB RAM, và khi cài đặt lên đĩa cứng, chiếm 3GB dung lượng đĩa trống.
Quá trình cài đặt Ubuntu sử dụng giao diện đồ họa, tốc độ cài đặt nhanh hay
chậm sẽ tuỳ thuộc vào cấu hình máy tính, trung bình là từ 20 – 30 phút.
*Giao diện
Ubuntu sử dụng giao diện đồ họa thân thiện GNOME, qua đó hướng đến sự
đơn giản hóa trong quá trình sử dụng. Đặc điểm có thể nhận thấy rõ ở giao diện mặc
định của Ubuntu là các màu chuyển giữa nâu và cam. Ubuntu đi kèm với CompizFusion, để tạo sự bóng bẩy trong quá trình sử dụng.
Cho đến tháng 4, 2005, Ubuntu có một gói tùy chọn được gọi là Ubuntu calendar, gói này tải về một hình nền mới vào mỗi tháng, phù hợp với chủ đề màu
nâu của giao diện. Các hình nền này thể hiện những người mẫu bán khỏa thân và nó
bị chỉ trích như “risqué (khiêu gợi không thích hợp, thiếu tế nhị)”. Điều này dẫn đến
việc tạo ra những tên giễu như “Linuxxx”.

Hơn thế nữa, Ubuntu hướng đến khả năng sử dụng cho người dùng khuyết tật
và hỗ trợ nhiều ngôn ngữ, trong đó có tiếng Việt, với mục đích có càng nhiều người
dùng càng tốt. Ngay từ phiên bản 5.04, Unicode là bảng mã mặc định. Tuy nhiên, ở
phiên bản 11.04 (Natty Narwhal) được phát hành vào 28/4/2011, Ubuntu sẽ thay thế
GNOME bằng Unity – dự án nguồn mở mới tập trung vào giao diện đơn giản và
hiển thị 3 chiều.
*Ứng dụng
Mặc định, Ubuntu được thiết kế để ngay sau khi cài đặt là có thể sử dụng
được ngay. Đó là bộ ứng dụng văn phòng LibreOffice(Từ phiên bản Ubuntu 10.04),
trình duyệt Internet Firefox, trình quản lý thư điện tử Evolution, trình gửi tin nhắn
tức thời (IM) Empathy, trình tải file torrent Tranmission và trình biên tập đồ họa
GIMP. Về truyền thông đa phương tiện, Ubuntu tích hợp trình phát, rip CD Sound
18


Juicer, trình quản lí thư viện nhạc Rhythmbox, trình xem phim Totem Movie Player
và trình ghi âm Sound Recorder. Một số ứng dụng nhỏ như chụp màn hình, máy tính
toán, các trò chơi bài và trò chơi giải đố cũng có sẵn.
Việc cài đặt ứng dụng trong Ubuntu có nhiều phương tiện, phổ biến nhất là
dùng Sofware Center, Add/Remove Application và Synaptic Package Manager.
Trong đó, Add/Remove Application cho phép người dùng tìm toàn bộ các ứng dụng
miễn phí Ubuntu khuyên dùng và cài đặt về máy, còn Synaptic Package Manager là
công cụ nâng cao, giúp người dùng cài đặt từng gói con của ứng dụng. Ngoài ra còn
một số công cụ sử dụng dòng lệnh, như apt-get, aptitude…
Luôn luôn có hơn 17.000 ứng dụng khác nhau luôn có sẵn trên mạng để tải về
và cài đặt. Hơn nữa chúng hoàn toàn miễn phí.
• Sự phân loại và hỗ trợ các gói
Đĩa Ubuntu 6.06 LTS
Ubuntu phân chia tất cả phần mềm thành 4 phần, được gọi là các thành phần,
để thể hiện sự khác nhau trong bản quyền và mức độ được hỗ trợ.

Các gói được quy về các thành phần như sau:
• Phần mềm tự do Phần mềm không tự do
• Được hỗ trợ Main Restricted
• Không được hỗ trợ Universe Multiverse
Phần mềm “tự do” ở đây chỉ bao gồm những phần mềm thoả yêu cầu giấy
phép của Ubuntu, nói chung, tương ứng với chính sách phần mềm tự do của Debian.
(Dù sao, cũng có một ngoại lệ cho Main; nó “cũng có thể bao gồm các firmware nhị
phân, các phông chữ (các phần được dùng bởi các thành phần của Main) không
được phép sửa đổi nếu không có sự cho phép của tác giả” khi việc phân phối lại
chúng không bị gây trở ngại.”) Phần mềm không tự do thường không được hỗ
trợ (Multiverse), nhưng cũng có ngoại lệ (Restricted) cho một số phần mềm
không tự do quan trọng, như driver của các thiết bị, không có chúng, người
dùng không thể sử dụng Ubuntu trên hệ thống của họ, đặc biệt là các driver card
đồ hoạ nhị phân. Mức độ hỗ trợ bị giới hạn hơn main, vì các nhà phát triển
không thể truy cập vào mã nguồn.

19


Thường thì Main và Restricted chứa tất cả phần mềm cho một hệ thống Linux
thông thường. Các phần mềm khác có cùng chức năng và các phần mềm chuyên
dụng được liệt kê trongUniversevà Multiverse. Ngoài các kho chính thức ra còn có
Ubuntu Backports, một dự án được công nhận chính thức, liệt kê các phiên bản mới
hơn của một vài phần mềm nào đó chỉ có trong phiên bản không ổn định của
Ubuntu. Các kho không thể bao gồm tất cả nhưng nó chứa hầu hết các gói được
người dùng yêu cầu, các gói này được liệt kê chỉ khi chúng đáp ứng được các yêu
cầu về chất lượng.
*Các phần mềm độc quyền
Ubuntu có một hệ thống chứng nhận cho phần mềm của bên thứ ba. Ubuntu
chứng nhận phần mềm độc quyền sẽ làm việc tốt trong Ubuntu. Dù sao, vẫn có

nhiều chương trình quen thuộc với người dùng trên các hệ điều hành không tự do,
như Microsoft Windows, không tương thích và chưa được Ubuntu chứng nhận. Một
vài phần mềm độc quyền không giới hạn bản phân phối được đưa vào thành phần
multiverse của Ubuntu. Vài ví dụ về phần mềm không được phân phối bởi Ubuntu
gồm có:
- Phần mềm cho phép chơi các tập tin video DVD đã bị khóa mã vùng, bởi vì
tình trạng có vấn đề về luật pháp của thư viện giải mã DVD mã nguồn mở DeCSS
tại nhiều khu vực trên thế giới.
- Thư viện mã hóa và giải mã cho nhiều định dạng độc quyền (hình ảnh/âm
thanh) như Windows Media.
- Một số phần mở rộng được ưa chuộng cho các trình duyệt web, như
Adobe’s (trước là Macromedia’s) Shockwave (không có phiên bản cho Linux) và
Flash (một cách khắc phục cho sự ngăn cấm việc phân phối lại đã được quy định
trong thỏa thuận bản quyền cho người dùng cuối là gói multiverse “flashpluginnonfree” (flashplugin-không tự do), gói này sẽ tự động tải Linux Flash plugin trực
tiếp từ trang web của Adobe và sau đó cài đặt nó.
1.3 Tìm hiểu về các lệnh cơ bản thường dùng trong Linux
Khi mở một shell, chúng ta cần đến tài khoản kích hoạt vào thư mục chủ
(thông thường nằm trong /home/tên_người_dùng).

20


Chú ý rằng mỗi lệnh đều có nhiều tùy chọn riêng của mình. Để xem các tùy
chọn cho một lệnh cụ thể, đơn giản chúng ta chỉ cần gõ "man <command>" (trong
đó: man là từ khóa; command là tên lệnh). Một điểm quan trọng cần chú ý là trong
các hệ điều hành Linux, câu lệnh có phân biệt chữ hoa, chữ thường. “A” sẽ được hệ
điều hành hiểu là khác so với “a”.
Để vào hệ thống file, dùng:
- pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh).
- cd: thay đổi thư mục (ví dụ: cd .. – ra một cấp thư mục hiện tại; cd vidu –

vào thư mục /vidu).
- ls: đưa ra danh sách nội dung thư mục.
- mkdir: tạo thư mục mới (mkdir tên_thumuc).
- touch: tạo file mới (touch ten_file).
- rmdir: bỏ một thư mục (rmdir ten_thumuc).
- cp: copy file hoặc thư mục (cp file_nguồn file_đích).
- mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư
mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới).
- rm: loại bỏ file (rm tên_file).
Để tìm kiếm file, chúng ta có thể dùng:
- find <tiêu chuẩn tìm kiếm>: dùng cho các tên file.
- grep < tiêu chuẩn tìm kiếm>: để tìm nội dung trong file.
Để xem một file, chúng ta có thể dùng:
- more <tên file>: hiển thị file theo từng trang.
- cat < tên file>: hiển thị tất cả file.
- head < tên file>: hiển thị các dòng đầu tiên.
- tail < tên file>: hiển thị các dòng cuối cùng (có thể hữu ích trong những
trường hợp như khi chúng ta muốn xem thông tin cuối cùng của một file hệ thống).
Để chính sửa file, chúng ta phải sử dụng trình soạn thảo tích hợp sẵn trên
dòng lệnh. Thông thường, đây là vi và được dùng với cú pháp: vi <tên file>.
Để giải nén một lưu trữ (thông thường có đuôi tar.gz), chúng ta phải dùng
lệnh tar với cú pháp tar -xvf <tên_file>.

21


Để in một file, dùng lệnh lpr <tên_file>. Chú ý là chúng ta phải có một số
daemon hoạt động để quản lý máy in. Thông thường đây là các cup (chủ yếu là
UNIX Printing System) có thể sử dụng cho tất cả các phân phối chính.
Để loại bỏ file khỏi hàng đợi ở máy in (chúng ta có thể lên danh sách hàng

đợi bằng lệnh lpq), sử dụng câu lệnh lprm <tên_file>.
Để lắp hoặc gỡ bỏ thiết bị (thêm vào hệ thống file với vai trò như một phương
tiện được phép sử dụng), dùng:
- mount /mnt/floppy: lắp thêm ổ mềm.
- umount /mnt/floppy: gỡ bỏ ổ mềm.
- mount /mnt/cdrom: lắp ổ CD-ROM.
- mount /mnt/cdrom: gỡ ổ DC-ROM.
Các thiết bị này thường được cài và cho phép sử dụng một cách tự động.
Nhưng có thể một ngày đẹp trời nào đó chúng ta lại phải tự mình thực hiện công
việc này khi có lỗi xảy ra. Đừng lo lắng!
Để tạo một phân vùng
Đầu tiên, tạo một thư mục trong /mnt (mkdir /mnt/ổ_đĩa_mới). Sau đó sử
dụng lệnh mount (mount /dev/source /mnt/ ổ_đĩa_mới), trong đó /dev/source là thiết
bị (tức phân vùng) chúng ta muốn lắp thêm vào hệ thống file.
Nếu muốn kết nối tới một host từ xa, sử dụng lệnh ssh. Cú pháp là ssh
<tên_host>.
Quản lý hệ thống:
- ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái nhìn
toàn bộ về tất cả các chương trình).
Trong danh sách đưa ra khi thực hiện lệnh ps, chúng ta sẽ thấy có số PID
(Process identification - nhân dạng tiến trình).
Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng, dùng
lệnh kill <PID>.
- top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra
thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ load trung
bình… Lệnh top

22



-d <delay> thiết lập khoảng thời gian làm tươi lại hệ thống. Chúng ta có thể
đặt bất kỳ giá trị nào, từ .1 (tức 10 mili giây) tới 100 (tức 100 giây) hoặc thậm chí
lớn hơn.
- uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong
khoảng thời gian đó, trước đây là 5 phút và 15 phút.
Thông thường tốc độ load trung bình được tính toán theo phần trăm tài
nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) được dùng tại
một thời điểm. Nếu tốc độ được tính toán là 0.37, tức có 37% tài nguyên được sử
dụng. Giá trị lớn hơn như 2.35 nghĩa là hệ thống phải đợi một số dữ liệu, khi đó nó
sẽ tính toán nhanh hơn 235% mà không gặp phải vấn đề gì. Nhưng giữa các phân
phối có thể khác nhau một chút.
- free: hiển thị thông tin trên bộ nhớ hệ thống.
- ifconfig <tên_giao_diện>: để xem thông tin chi tiết về các giao diện mạng;
thông thường giao diện mạng ethernet có tên là eth(). Chúng ta có thể cài đặt các
thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man ifconfig).
Nếu có điều gì đó chưa chính xác, chúng ta có thể stop hoặc start (tức ngừng hoặc
khởi_động) giao diện bằng cách dùng lệnh ifconfig <tên_giao_diện> up/down.
- passwd: cho phép chúng ta thay đổi mật khẩu (passwd người dùng sở hữu
mật khẩu hoặc tên người dùng khác nếu chúng ta đăng nhập hệ thống với vai trò
root).
- useradd: cho phép chúng ta thêm người dùng mới (xem man useradd).
Dù ở phân phối nào, chúng ta cũng có thể dùng phím TAB để tự động hoàn
chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi chúng ta quen với các lệnh.
Chúng ta cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh đã nhập.
Chúng ta có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu muốn tạo ba thư
mục chỉ trên một dòng, cú pháp có thể là: mkdir thư_mục_1 ; mkdir thư_mục_2 ;
mkdir thư_mục_3.
Một điều thú vị khác nữa là các lệnh dạng pipe. Chúng ta có thể xuất một
lệnh thông qua lệnh khác. Ví dụ: man mkdir | tail sẽ đưa ra thông tin các dòng cuối
cùng trong trang xem "thủ công" của lệnh mkdir.


23


Nếu lúc nào đó được yêu cầu phải đăng nhập với tài khoản gốc (tức "siêu"
admin của hệ thống), chúng ta có thể đăng nhập tạm thời bằng cách dùng lệnh su.
Tham số -1 (su-1) dùng để thay đổi thư mục chủ và cho các lệnh đã hoặc đang dùng.
Chú ý là chúng ta cũng sẽ được nhắc một mật khẩu.
Để thoát hay đóng shell, gõ exit hoặc logout.
1.4 Tổng kết chương
Qua tìm hiểu ở chương 1 em đã hiểu thêm tổng quan cơ bản về Linux và
HĐH Ubuntu hiểu được một phần về cách hoạt động và ứng dụng rộng rãi của nó.
Đây là một HĐH mã nguồn mở nên nó rất phù hợp với tất cả mọi người ai cũng có
thể chính sửa theo ý mình. Hơn nữa Linux còn là một HĐH với độ bảo mật tương
đối cao, với mô hình cung cấp tài nguyên theo hướng người dùng vì vậy nó rất phù
hợp cho những công ty tổ chức riêng.

24


CHƯƠNG 2: QUẢN LÝ NGƯỜI DÙNG TRÊN HỆ THỐNG
2.1 Thông tin và quản trị người dùng
2.1.1 User
- User là người có thể truy cập đến hệ thống.
- User có username và password.
- Có hai loại user: super user và regular user.
- Mỗi user còn có một định danh riêng gọi là UID.
- Định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 500.
2.1.2 Group
- Group là tập hợp nhiều user lại.

- Mỗi user luôn là thành viên của một group.
- Khi tạo một user thì mặc định một group được tạo ra.
- Mỗi group còn có một định danh riêng gọi là GID.
- Định danh của group thường sử dụng giá trị bắt đầu từ 500.
2.1.3 Tập lệnh quản lý User và Group
*Tạo User:
Cú pháp: #useradd [option] <username>
-c “Thông tin người dùng”
-d <Thư mục cá nhân>
-m : Tạo thư mục cá nhân nếu chưa tồn tại
-g <nhóm của người dùng>
Ví dụ: #useradd –c “Nguyen Van A – Server Admin” –g serveradmin vana
Thay đổi thông tin cá nhân:
Cú pháp: #usermod [option] <username>
Những option tương tự Useradd
Ví dụ: #usermod –g kinhdoanh vana //chuyển vana từ nhóm server admin
sang nhóm kinh doanh.
*Xóa người dùng
Cúpháp: #userdel [option] <username>
Vídụ: #userdel –r vana
Khóa/Mở khóa người dùng
25


×