SlideShare une entreprise Scribd logo
1  sur  422
Télécharger pour lire hors ligne
Linux Network Administration
(LPI-1,LPI-2)
Mục Lục
Chương 1: Giới thiệu hệ điều hành Linux 3
Chương 2: Cài đặt CentOS 19
Chương 3: Tập lệnh căn bản 53
Chương 4: Quản trị người dùng 100
Chương 5: Quản lý hệ thống tập tin 120
Chương 6: Quản lý Boot loader 143
Chương 7: Quản lý ổ cứng 174
Chương 8: Quản lý tiến trình và dịch vụ cơ sở 191
Chương 9: Cài đặt phần mềm 244
Chương 10: Cài đặt, cấu hình mạng 261
Chương 11: Network File System (NFS) 277
Chương 12: FTP 290
Chương 13: The Secure Shell (SSH) 302
Chương 14: DHCP 312
Chương 15: Domain Name System (DNS) 323
Chương 16: Web Server 340
Chương 17: Mail Server 347
Chương 18: Samba 359
Chương 19: Squid Proxy Server 377
Chương 20: Linux Firewall 388
Chương 21: Sao lưu & Restore 403
Bonus 417
Chương 1:
Giới thiệu
Hệ điều hành Linux
Các vấn đề thảo luận
 Hệ điều hành.
 Các thuật ngữ.
 Thảo luận về hệ điều hành Linux.
 Các phiên bản Linux.
 CentOS.
Hệ điều hành
Các thuật ngữ
Open Source:
Là loại phần mềm cung cấp luôn cả mã nguồn cho phép người dùng
chỉnh sửa mã nguồn theo nhu cầu mà không phải trả một loại phí nào về
bản quyền.
Closed Source:
Là loại phần mềm không thể mua được mã nguồn. Thông thường trả phí
cho bản quyền là bắt buộc đối với một số phiên bản.
Freeware:
Là một loại phần mềm Closed source miễn phí hoàn toàn.
Shareware:
Là một loại phần mềm Closed source không cần trả phí để mua nhưng
phải trả phí sau một thời gian sử dụng nó.
Hệ điều hành Linux là gì?
 Một phần mềm mã nguồn mở có đầy đủ đặc điểm của
các hệ điều hành khác.
 Hệ điều hành rất ổn định, hiệu năng cao và đang được
phát triển bởi hàng trăm ngàn lập trình viên trên toàn thế giới.
 Nhiều công ty, tổ chức chính phủ sử dụng Linux.
 Hệ điều hành đa tác vụ, đa người dùng.
 Là hệ điều hành hỗ trợ đa nền tảng và trên nhiều loại
ứng dụng mạng.
Lịch sử về Hệ điều hành Linux
Giới thiệu về Hệ điều hành Linux
 Open Source Software
 Multiuser
 Multitasking
 Network support
Định nghĩa các phiên bản Linux
Phiên bản của một hệ điều Linux được định nghĩa
dựa trên Linux kernel version gồm 2 thành phần:
Major number
Minor number
Ví dụ: CentOS 6.4 kernel 2.6
Ubuntu 13.10 kernel 3.2
Ưu điểm của Linux
Risk reduction: Giảm thiểu rủi ro.
Meeting business needs:
Không bị ràng buộc về tính thương mại vì vấn đề bản quyền
đã được giải quyết.
Stability and Security: Ổn định và bảo mật.
Flexibility for different hardware platforms:
Uyển chuyển tương thích với nhiều loại phần cứng.
Ease of customization: Dễ dàng điều chỉnh sửa chửa.
Ease of obtaining support: dễ dàng hỗ trợ khi gặp sự cố.
Cost reduction: Giảm thiểu về mặt chi phí.
Linux sử dụng dùng để làm gì?
 Web Hosting.
 Softwares Development.
 File and Print services.
 Document Publishing.
 E-mail Servers.
 Database Servers.
 Network Routers.
 Workstations.
Tính ổn định của Linux
 Dễ dàng quản lí khối công việc đồ sộ của môi trường
kinh doanh hiện nay.
 Máy tính sử dụng Linux có thể hoạt động ổn định như
FTP server, Web server, Mail server, DNS server.
 Không khởi động lại máy sau khi cài đặt các phầm mềm
và các dịch vụ mới vào.
 Dễ dàng khôi phục hoạt động khi gặp sự cố về mất điện.
Bảo mật
 Mô hình open source cho phép các chuyên gia kiểm tra
source code trước khi phát hành.
 Khi lỗi tìm thấy, nhóm các nhà lập trình viên thuộc cộng
đồng mã nguồn mở trên thế giới sẽ khắc phục lỗi ngay.
 Virus hầu như không tồn tại trên Linux.
 Một hệ điều hành cực kỳ ổn định và được hỗ trợ nhiều loại
tường lửa chuyên dụng khác nhau.
Các phiên bản Linux
 Red Hat Linux.
 SuSE Linux.
 Slackware Linux.
 Debian Linux.
 Turbo Linux.
 Mandrake Linux.
www.distrowatch.com
CentOS
CentOS là gì?
Là hệ điều hành phát triển dựa trên nền nhân Red Hat
(bản thương mại) tuy nhiên CentOS hoàn toàn miễn phí.
Vì sao sử dụng CentOS?
 Mang đầy đủ tính năng của một hệ thống Linux.
 Hầu hết cộng đồng mã nguồn mở đều tin dùng.
 Tính ổn định cao và khả năng sửa lỗi dễ dàng khi có sự cố.
 Được sử dụng rộng rãi trong hầu hết các công ty lớn nhỏ
trên thế giới.
CentOS
Hỏi & Đáp
Chương 2:
Cài đặt CentOS
Các vấn đề thảo luận
 Cài đặt CentOS.
 Chia phân vùng ổ cứng.
 Demo cài đặt.
 Shells. Terminals. Kernel.
Các cách cài đặt
• Cài từ một FTP server qua mạng.
• Cài từ HTTP Web server qua mạng.
• Cài từ NFS server qua mạng.
• Cài từ SMB server qua mạng.
• Cài từ Virtual Network Computing (VNC) qua mạng.
• Cài từ những gói phần mềm trên đĩa cứng.
Tiến hành cài đặt
- Chọn ngôn ngữ, ngôn ngữ bàn phím, chuột, màn hình.
- Chọn cách cài đặt.
- Chia partition.
- Cấu hình Boot Loader.
- Cấu hình mạng và tường lửa.
- Chọn ngôn ngữ hệ thống và múi giờ.
- Tạo người dùng root (người dùng tối cao).
- Chọn các gói cài đặt phù hợp với mục đích sử dụng.
- Hoàn tất cài đặt.
Cài đặt CentOS
Thảo luận về vấn đề chia phân vùng:
/boot: từ 100MB đến 200MB.
swap:
Nếu RAM <= 4GB: Swap = RAM*2.
Nếu RAM > 4GB: Swap = 16GB.
** Đối với server Oracle: Swap >= 24GB.
/ : Phần còn lại của ổ cứng.
Câu hỏi: Tại sao phải chia lại partition mà không để hệ thống
tự chia?
Ví dụ phân vùng mặc định
Cấu hình Bootloader
- GRand Unified Bootloader (GRUB).
- Boot Record (MBR).
- First hard disk sector.
Shells - Terminals - Kernel
Terminals
Thực hành cài đặt CentOS
Demo Cài đặt.
+ Cài đặt qua giao diện đồ họa.
+ Cài đặt qua text mode.
 Học viên thực hành cài đặt trên máy các phiên bản CentOS.
 Bài tập làm thêm: Học viên thử cài đặt các Distro khác như:
Ubuntu, Fedora, OpenSUSE, Backtrack.
Demo Cài đặt
Boot từ CD CentOS
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Demo Cài đặt
Chúng ta chọn những gói cài đặt cần thiết cho server.
Demo Cài đặt
Bắt đầu cài đặt.
Demo Cài đặt
Sau khi cài đặt thành công Màn hình login đầu tiên ta sẽ thấy:
DEMO khôi phục password user root.
DEMO cách tắt tường lửa.
Hỏi & Đáp
Chương 3:
Tập lệnh cơ bản
(Command Line)
Các vấn đề thảo luận
 Giới thiệu Command Line.
 Giới thiệu hệ thống tập tin.
 Qui ước đặt tên & đường dẫn.
 Làm quen với các tập lệnh cơ bản.
 Điều khiển công việc.
 Biến môi trường.
 Link.
 Soạn thảo văn bản với vi.
 Restart & shutdown.
• Bạn đã từng xem qua các “super hacker” thao tác thế nào
trong các bộ phim?
• CLI (Command Line Interface) là cách tốt nhất, nhanh nhất
để người quản trị thao tác với máy tính.
• 3 Nguyên tắc không thể thiếu của một người quản trị
hệ thống giỏi cần phải có:
- Làm chủ hoàn toàn Command Line.
- Tự động hóa tất cả.
- Sao lưu toàn bộ dữ liệu.
“Lazy sysadmin is the best sysadmin –Anonymous”
Tại sao sử dụng Command Line?
• Shell là một chương trình giúp người quản trị chuyển các
thao tác lên bàn phím xuống cho hệ điều hành biết phải làm
gì.
• Hầu hết tất cả các phiên bản Linux đều sử dụng chương trình
shell từ dự án GNU được gọi là bash.
Shell là gì?
Filesystem Hierarchy Standard (FHS):
/bin Các lệnh cơ bản cho tất cả người dùng.
/boot Chứa kernel và các file sử dụng cho việc boot.
/dev Chứa các khai báo về thiết bị.
/etc Chứa các file cấu hình hệ thống và các ứng dụng.
/home Đường dẫn mặc định chứa thư mục người dùng.
/lib Chứa các thư viện dùng chung.
/mnt Là một thư mục rỗng sử dụng cho việc mount.
Giới thiệu hệ thống File trên Linux
/proc Thông tin process và kernel.
/opt Chứa các chương trình phần mềm thêm vào.
/root Thư mục của người dùng root.
/sbin Chứa các tập lệnh quản trị.
/usr Chứa những tập lệnh của các ứng dụng.
/tmp Chứa dữ liệu tạm.
/var Chứa các File log.
Giới thiệu hệ thống File trên Linux
- Tối đa 255 kí tự, dùng bất kì ký tự nào, kể cả ký tự đặc biệt.
Ví dụ: “Very ? long - file + name . test”
- Tập tin (thư mục) ẩn được bắt đầu bằng dấu chấm “.”
Ví dụ: “.bash_history”
Qui ước đặt tên
Đường dẫn tuyệt đối: bắt đầu bằng “/”
•Ví dụ : / /bin /usr /usr/bin
Đường dẫn tương đối: không bắt đầu bằng “/”
•Ví dụ: etc/httpd/ usr/bin
Đường dẫn đặt biệt:
.. - thư mục cha.
. - thư mục đang làm việc.
~ - thư mục home của người dùng hiện hành.
•Ví dụ: Nếu người dùng đang ở thư mục /etc, muốn tham chiếu đến tập tin
/etc/vsftpd/vsftpd.conf thì đường dẫn tương đối sẽ là ./vsftpd/vsftpd.conf
Đường dẫn
Chuyển người dùng (Switching Users): su
$ su
# su pqdung
$ su – vnlamp
Kết thúc một Terminal Session:
#exit
Làm quen các lệnh cơ bản
• Cú pháp: command [flags] arg1 arg2 arg3
• Các thành phần cách nhau một khoảng trắng.
• Các cờ thường theo sau dấu “-” hoặc “--” (nhất là các cờ nhiều ký tự).
Ví dụ: #ls -a -l -F hoặc #ls --color
• Nhiều cờ có thể dùng chung một ký tự “-”.
Ví dụ: ls -al tương đương ls -a -l
• Một số lệnh đặc biệt, không cần ký tự “-” trước các cờ.
• Muốn xem trợ giúp dùng tham số --help hoặc man.
Ví dụ: ls --help hoặc man ls
Ghi chú: Có khá nhiều loại shell trên Linux, kiểm tra đang dùng loại
shell nào:
echo $SHELL
Cú pháp lệnh
Tên tập tin hoặc thư mục làm tham số dòng lệnh có thể ở dạng
không tường minh.
Trên Linux không phân biệt phần đuôi mở rộng.
Dùng ký tự thay thế cho một phần hoặc toàn bộ tên.
•* : mọi chuỗi kể cả rỗng
•? : một ký tự bất kỳ
•[aeg] : tương ứng với một trong các kí tự a,e,g
•[a-h]: một ký tự trong khoảng a … h
•[^abc]: không phải a,b,c
• : loại bỏ ý nghĩa đặc biệt của các ký tự *,?,)
Kí tự thay thế
Nhấn <Tab> để tự động điền đầy đủ dòng lệnh:
$ cd /usr/lo<Tab> (/usr/local)
$ cp<Tab><Tab>
cp cpp cpio cproto
$ cd dir<Tab><Tab>
dir1 dir2 dir3
Tự động điền dòng lệnh
Các lệnh giúp đỡ Help:
#man
#help
Lệnh thao tác các thư mục và đường dẫn:
#pwd In thư mục đang làm việc.
#cd Thay đổi thư mục.
#ls Liệt kê thư mục.
Các lệnh thường sử dụng
#mkdir Tạo thư mục.
#mv Di chuyển.
#cp Sao chéo.
#alias Tạo lệnh thay thế.
#rm Xóa file và thư mục.
#rmdir Xóa thư mục rỗng.
#file Xác định loại file.
#touch Tạo file rổng.
#tee Vừa xuất kết quả ra màn hình vừa xuất vào file.
Các lệnh thường sử dụng
#cat Xem nội dung file.
#tac Ngược lại của cat.
#head Xem các dòng đầu tiên của file.
#tail Xem các dòng cuối của file.
#wc Đếm số dòng, số từ hoặc số byte của file.
#nl Đánh số dòng của file.
#grep Tìm kiếm nội dung.
#updatedb Cập nhật các thay đổi của cơ sở dữ liệu hệ thống.
#locate Tìm kiếm file.
**Chú ý: #tail -f <filename> để xem log động.
Các lệnh xử lý chuỗi
Cho biết người dùng đang ở tại thư mục nào:
#pwd
Chuyển thư mục (change directory): #cd
Ví dụ:
#cd /etc
#cd ~ ( ~: macro tượng trưng cho home directory người dùng)
#cd /home/sv
#cd ..
#cd ../../data
Liệt kê danh sách tập tin thư mục.
#ls
Di chuyển giữa các thư mục
cp
• cp – copy file
#cp file1 file2
#cp file1 dir1
-f : ghi đè.
-i : hỏi trước khi ghi đè.
-R,-r : copy toàn bộ thư mục.
#cp –r dir1 dir2
mkdir , rmdir , touch
• mkdir – tạo thư mục.
#mkdir –p dir3/dir4
(tham số -p: tạo thư mục cha nếu chưa tồn tại)
• rmdir – xóa thư mục rỗng.
• touch – tạo file rỗng.
$ touch file.txt
Tạo xóa tập tin thư mục
• mv – di chuyển/ đổi tên.
# mv file1 file2
# mv dir1 dir2
• rm – xóa file/ thư mục.
# rm file1 file2
# rm –r dir3
tham số -r: xóa cả thư mục và tập tin con.
** Cẩn thận với câu lệnh: #rm -rf
Tạo xóa tập tin thư mục
• Các dòng dữ liệu chuẩn:
stdin 0
stdout 1
stderr 2
Ví dụ: Thực hiện lệnh ls, các thông báo lỗi sẽ xuất ra file
error.txt.
ls –R / 2>/root/error.txt
Dòng dữ liệu chuẩn
• Redirection: Chuyển hướng dòng dữ liệu sang nơi khác.
• Định hướng:
< : nhập.
> : xuất, ghi đè.
>> : xuất, ghi tiếp theo (append).
Ví dụ:
• ls –l / > /root/list.txt : liệt kê nội dung thư mục / , kết quả
không xuất ra màn hình mà xuất ra file /root/list.txt.
Nếu file đã tồn tại sẽ bị ghi đè.
• ls –l / >> /root/list.txt: tương tự như trên, nhưng thay vì
ghi đè (>) sẽ ghi tiếp vào phần sau của file (>>).
Chuyển hướng dòng dữ liệu
Kết quả output của một lệnh trước đó -> dữ liệu input của
lệnh sau, sử dụng ký tự |
Ví dụ: ls –R / | less
• Lệnh more cho phép xem nội dung theo từng trang.
• Duyệt màn hình với less.
Enter: dòng kế tiếp.
Spacebar: trang kế tiếp.
b: trang trước.
q: Thoát.
Pipe
• cat & tac.
• head & tail.
• nl & wc.
• sort, tr.
• grep.
Lệnh thao tác chuỗi
• cat: Xem nội dung file.
Ví dụ: Xem nội dung tập tin /etc/passwd
cat /etc/passwd
Các tham số:
-n : đánh số các dòng output.
-b : không tính dòng trống (blank).
-A : hiển thị kí tự xuống dòng.
• Lệnh tac ngược lại với lệnh cat.
Lệnh cat & tac
• Lệnh head: Xem các dòng đầu của dữ liệu.
Ví dụ:
- Xem 4 dòng đầu tập tin /etc/passwd.
- Hoặc xem 4 tập tin / thư mục con đầu tiên trong thư mục /
ls –l / | head -4
• Lệnh tail: Xem các dòng cuối của dữ liệu.
Ví dụ:
- Xem 5 dòng cuối của tập tin /etc/passwd.
- Xem nội dung tập tin /etc/passwd từ dòng thứ 4 đến hết:
tail –lines=+4 /etc/passwd hoặc
cat /etc/passwd | tail --lines=+4
• Chú ý: tail có thêm tham số -f để đọc các file động.
Lệnh head & tail
• Syntax: wc [option] [files]
-l : đếm số dòng.
-c hay -m : đếm kí tự.
-w : đếm số từ.
• $ wc -l file1 - đếm số dòng.
• $ wc file[123] - đếm 3 file.
• $ wc -c file1 - đếm số kí tự.
Lệnh nl: đánh số dòng
• Ví dụ:
ls –l / | nl
Xem danh sách các files và có đánh số dòng.
Đếm số dòng, số từ, số byte
• Syntax tr [options] [[string1 [string2]]
tham số : -d xóa, -s : thay thế lặp.
$ cat file1 | tr a-z A-Z  thường sang hoa.
$ cat file1 | tr -d a  xóa ký tự a.
$ tr '[A-B]' '[a-b]'< file.txt  hoa sang thường.
$ tr ':' ' ' < /etc/passwd  thay “:” bằng “ “
$ cat file1 | tr -d abc  xóa kí tự abc.
[:lower:] chữ thường.
[:upper:] chữ hoa.
[:alnum:] chữ cái hoặc số.
• Chú ý: tr chỉ có 2 đối số.
TR – Translate text
• Syntax:
cut -d<ký tự phân cách> -f<số field>
Ví dụ: Có chuỗi input 1;2;3;4;5;6
Cần cắt ra số 5 (trường thứ 5)
echo “1;2;3;4;5;6” | cut -d”;” -f5
Cắt chuỗi với cut
• Cú pháp: in ra trường thứ n
awk -F "<ký tự ngăn cách>" '{ print $n}'
• Mặc định ký tự ngăn cách là các khoảng trắng.
Ví dụ: Có chuỗi input
1;2;3;4;5;6
Cần cắt ra số 5 (trường thứ 5)
echo "1;2;3;4;5;6" | awk -F ";" '{ print $5 }'
Cắt chuỗi với awk
• Tìm kiếm nội dung.
Syntax:
grep [OPTION] PATTERN [FILE]
-i: Không phân biệt hoa thường.
-n: Kèm theo số thứ tự dòng khi xuất.
-r: tìm lặp lại trong thư mục con.
-v: tìm nghịch đảo.
-w: tìm nguyên từ.
Ví dụ:
grep root /etc/passwd : tìm những dòng có từ root trong file
/etc/passwd.
ls –l /etc/ | grep conf : tìm những file có cụm từ conf
trong thư mục /etc.
Grep
• [abc]: ký tự a,b hoặc ký tự c.
• [a-h]: một ký tự trong khoảng a … h.
• [^abc]: không phải a,b,c.
• (ab|bc|cd): ab hoặc bc hoặc cd.
• ^: đầu 1 dòng.
• $: cuối 1 dòng.
• .: một ký tự bất kỳ.
• Số lần xuất hiện:
*: từ 0 đến n lần.
+: ít nhất 1 lần.
Một số regular expression trong grep
find [path] [expression]
Tìm file có kiểu txt trong thư mục /.
• $ find / -name “*.txt”
 Chỉ tìm file.
• $ find /usr/local -type f –print
 Chỉ tìm thư mục.
• $ find /usr/X11R6 -type d
 Tìm theo permission.
• $ find . -perm 755 -a -type f
locate <tên file>
Lệnh này phải cài gói mlocate trước đó và phải cập nhật
database của hệ thống thường xuyên bằng lệnh.
#updatedb
Lệnh find
Danh sách các lệnh đã thực thi lưu trong “~/.bash_history”.
<Up> lệnh kế trước.
<Down> lệnh kế sau.
history: in ra danh sách các lệnh đa thực thi.
#history
1 clear
2 cd /
3 ls
!n: thực thi lại dòng lệnh thứ n.
!string: thực thi lại dòng lệnh ngay trước đó bắt đầu bằng
“string”.
Lệnh history
Đây gọi là các công việc đang chạy nền.
Ví dụ:
Để chạy nền một công việc ta thêm & sau lệnh:
# mozilla &
Bạn có thể xem các công việc đang chạy nền bằng lệnh:
# jobs
Để chạy ở background ta chạy lệnh.
# bg number
Để chạy ở foreground ta chạy lệnh.
# fg number
Điều khiển công việc
Các file chứa các biến môi trường:
• /etc/profile
• ~/.bash_profile
• ~/.bash_login
• ~/.profile
File chứa biến môi trường
Biến môi trường
#set command
#export command
#env command
#alias command
In các biến môi trường dùng lệnh:
#printenv
• symbolic link
• hard link
ln – tạo liên kết (link)
$ ln –s dir1 firstdir
$ ln –f /tmp/test.txt
-s : tạo symbolic link
-f : xóa file đích
Link
Các chế độ init
Các chế độ init
Cú pháp: init <number>
• 0: shutdown.
• 1: single user mode.
• 3: command line mode.
• 5: GUI mode.
• 6: restart.
Soạn thảo văn bản với lệnh vi
- vi là một trong những chương trình soạn thảo văn bản
phổ biến nhất trong môi trường Linux.
- Hoạt động ở giao diện dòng lệnh (command line).
- Hỗ trợ nhiều thao tác như: copy, paste, tìm kiếm văn bản,
replace…
Soạn thảo văn bản với lệnh vi
Có 3 chế độ (mode) làm việc chính:
-Command mode.
-Edit mode.
-Last line mode.
Các lệnh khi ở command mode
Các lệnh lưu trữ file
(command mode)
:x ghi nội dung bộ đệm ra file và thoát.
:w, hoặc :wq ghi nội dung bộ đệm ra file , nếu là soạn thảo
văn bản mới, chưa có tên file thì phải dùng tính năng.
:wq! [tên file] bên dưới.
:q! huỷ (abort) phiên làm việc hiển thị và thoát.
:wq! [tên file] ghi nội dung bộ đệm ra file và thoát.
Đặc biệt: ![command] thực thi một lệnh ngay tại cửa sổ vi.
Các lệnh di chuyển trong command mode
Sao chép trong vi
• Đánh dấu đoạn cần copy (yank):
yy: copy dòng hiện tại.
y$: copy đến cuối dòng từ vị trí con trỏ.
yw: copy từ vị trí con trỏ đến cuối của 1 từ.
5yy: copy 5 dòng.
• Paste:
p: paste bên dưới vị trí con trỏ.
P: paste bên trên vị trí con trỏ.
u: Undo.
U: restore line.
^R : (ctrl R) redo.
. : lặp lại last command.
Tìm kiếm và thay thế trong vi
- Tìm kiếm
:/pattern tìm theo hướng tới.
:?pattern tìm theo hướng lùi.
Dùng Phím N hoặc Shift + N để nhảy tìm từ kế.
- Thay thế
Ví dụ: thay thế Windows bằng Linux trong văn bản:
:g/Window/s//Linux/g.
:set number : Đánh số các dòng.
:set nonumber: bỏ đánh số.
Restart & Shutdown
• Shutdown:
#init 0
Hoặc
#shutdown –h now
• Restart:
#init 6
Hoặc
#shutdown –r now
#reboot
Hỏi & Đáp
 Muốn Master Command Line cần tìm hiểu và Master được
2 câu lệnh sed và awk và các kết hợp các lệnh lại với nhau.
Chương 4:
Quản lý người dùng
Các vấn đề thảo luận
 Định nghĩa người dùng.
 Những file quản lý người dùng.
 Các công cụ quản lý người dùng.
 Các chính sách về mật khẩu.
 Cấu hình mặc định.
 Các chính sách mượn quyền.
 Qui ước về cấu hình mượn quyền.
Định nghĩa người dùng
• Users được định nghĩa trong một hệ thống để xác định
“ai? được quyền dùng cái gì?” trong hệ thống đó.
• Với Linux, mỗi user có một định danh duy nhất, gọi là
UID (User ID).
0 – 99: user có quyền quản trị.
> 99: user riêng. >= 500: user thường.
• Mỗi user thuộc ít nhất một group.
• Mỗi group cũng có một định danh duy nhất là GID.
Định nghĩa người dùng (tt)
•Những file định nghĩa thông tin users:
•/etc/passwd: chứa thông tin user login, password mã hóa,
UID, GID, home directory, và login shell. Mỗi dòng là
thông tin của một user.
•/etc/shadow: chứa thông tin password mã hóa, thời gian
sử dụng password, thời gian phải thay đổi password…
•/etc/group: chứa thông tin group.
•/etc/gshadow chứa password của group dưới dạng hash (ít
khi dùng đến).
/etc/passwd
• File /etc/passwd : Mỗi dòng trong file ứng với một người
dùng trong hệ thống.
/etc/shadow
/etc/group
Công cụ quản lý người dùng
Quản lý bằng command line.
#useradd: tạo user.
#usermod: chỉnh sửa thông tin user.
#userdel: xóa user
(tham số -r xóa thư mục home của user).
#groupadd: tạo group.
#groupdel: xóa group.
#groupmod: chỉnh sửa thông tin group.
#groups: xem các users của group.
Quản lý bằng giao diện đồ họa.
Quản lý trực tiếp trên file.
Thêm người dùng
Danh sách các option có thể được sử dụng để thêm người
dùng:
#useradd: tạo người dùng.
• -u UID Thiết lập user ID cho người dùng mới.
• -g GID Thiết lập group ID cho người dùng mới.
• -c comment Mô tả người dùng.
• -d directory Định nghĩa home directory của người dùng.
• -m Tạo home directory.
• -k skel_dir Thiết lập thư mục Skel.
• -s shell Định nghĩa shell (/bin/bash).
Cấu hình mặc định
- Khi dùng lệnh useradd không có option kèm theo để tạo user,
các thuộc tính của user sẽ được tạo theo các cấu hình mặc định.
Những file định nghĩa cấu hình mặc định:
• /etc/default/useradd:
những giá trị mặc định cho việc tạo account.
• /etc/skel:
thư mục chứa nội dung mặc định sẽ tạo trong
home directory của users.
• /etc/login.defs:
những cấu hình mặc định cho shadow password.
- Nếu muốn thay đổi cấu hình mặc định, thay đổi trực tiếp trong
những file này.
Chính sách về mật khẩu
Chính sách về mật khẩu
Mật khẩu của user sẽ được băm (hash) và lưu trong file này.
name:password:lastchange:min:max:warn:inactive:expire:flagname.
• User login name, mapped to /etc/passwd password.
• Encrypted password:
- Nếu đây là một trường trắng thì sẽ không có password.
- Nếu là “*” là có password.
- ”!!” : tài khoản bị khóa …
• Lastchange: khoảng cách số ngày từ ngày 1/1/1970 đến ngày thay đổi
password cuối cùng.
• Min: Số ngày trước khi mật khẩu có thể được thay đổi
• Max: Số ngày sau khi mật khẩu phải được thay đổi
• Warn: Số ngày sẽ cảnh báo người dùng trước khi mật khẩu hết hạn
• Inactive: Số ngày sau khi mật khẩu hết hạn tài khoản người dùng
sẽ bị khóa.
• Expire: Số ngày tài khoản bị disabled tính từ ngày 1/1/1970
• Flagname: trường sẽ được sử dụng trong tương lai.
Thay đổi mật khẩu
• Để thay đổi mật khẩu của user ta dùng câu lệnh passwd.
#passwd vnlamp
Lời khuyên khi chọn password:
Not use proper words or names.
Use letters and digits.
Include symbols: !, @, #, $, %, …
Không cho phép các tài khoản “guest” login vào hệ thống.
Thay đổi mật khẩu (tt)
Thay đổi thời hạn sử dụng.
Thay đổi thời hạn password với chage :
#chage [options] <user>
Options:
-m <mindays> Minimum days.
-M <maxdays> Maximum days.
-d <lastdays> Day last changed.
-I <inactive> Inactive lock, sau khi mật khẩu hết hạn
bao lâu sẽ lock tài khoản.
-E <expiredate> Expiration (YYYY -MM-DD or
MM/DD/YY).
-W <warndays> Warning days.
Bảo mật tài khoản
Đặt ngày hết hạn cho những tài khoản tạm thời:
# usermod -E 2013-09-22 vnlamp
Khóa những tài khoản lâu không dùng đến:
# usermod -f 5 vnlamp
Để tìm và xóa tất cả các file / thư mục của user nằm ngoài
home directory:
# find / -user vnlamp -type f -exec rm -f {} ;
# find / -user vnlamp -type d -exec rmdir {} ;
Thay đổi group cho người dùng
Mỗi người dùng thuộc chỉ một primary group và có thể chỉnh
bằng lệnh:
#usermod -g gvnlamp vnlamp
Mỗi người dùng có thể thuộc nhiều secondary groups và có
thể chỉnh bằng:
#usermod -G gvnlamp vnlamp
Chính sách mượn quyền
File /etc/sudoers
Những ai được sudo?
Việc ai được phép sudo, và khi sudo sẽ được thực thi những quyền hạn
nào được qui định trong tập tin /etc/sudoers.
Để chỉnh sửa tập tin này, dùng quyền root và thực thi câu lệnh visudo
(tương tự lệnh vi, nhưng chuyên để sửa file sudoers vì vị trí file này có
thể thay đổi trên các dòng linux khác nhau).
Cú pháp file:
username/group servername = (usernames to run as) command.
Trong đó tham số “usernames to run as” không nhất thiết phải
có, nếu tham số này không tồn tại người sudo sẽ chạy với quyền root.
Nếu nhiều username hoặc nhiều command, user/command cách
nhau bằng dấu “,” (comma).
Qui ước
- Ở cột đầu tiên, nếu là group sẽ có thêm dấu % trước trên
group.
- Có thể dùng từ khóa ALL để chỉ tất cả mọi user/server
hoặc mọi command (sẽ có ví dụ).
- Nếu dữ liệu quá dài, không thể viết trên 1 dòng có thể
dùng ký hiệu  trước khi xuống dòng.
- Nếu file sudoers chỉ dùng trên máy cục bộ, thường cột
server sẽ là ALL.
Hỏi & Đáp
Chương 5:
Quản lý hệ thống tập tin
Các vấn đề thảo luận
 Chính sách phân quyền.
 Cấu trúc phân quyền.
 Người dùng.
 Ý nghĩa các ký tự, các quyền.
 Các công cụ phân quyền người dùng.
 Giá trị mặc định.
 Các quyền đặc biệt: UID, GID, Sticky bit.
Giới thiệu về chính sách phân quyền
• Linux là một hệ điều hành đa người dùng, do đó vấn đề
phân quyền truy xuất trên hệ thống file là rất quan trọng.
• Để xem được quyền hạn ứng với một file cụ thể, ta có thể
dùng lệnh.
#ls -las.
Cấu trúc phân quyền
Cấu trúc phân quyền dạng số
Cấu trúc phân quyền dạng số
Cấu trúc Permission
Người dùng
Ba loại người dùng ứng với file permission:
• User/Owner (u): Người nắm quyền sở hữu file, có thể thay
đổi bằng lệnh chown.
• Group users (g): Những người dùng nằm trong group sở
hữu user.
• Others (o): Những người dùng còn lại.
Ý nghĩa các quyền
• Các từ viết tắt r,w,x; giá trị - tượng trưng cho không có
quyền hạn tại vị trí đó.
- Ví dụ: r-x là không có quyền w.
Ý nghĩa các ký tự
Chữ cái đầu tiên là:
d: thư mục;
-: tập tin;
s: socket;
l: link;
Ngoài ra còn có các ký tự đặc biệt khác.
Ý nghĩa các quyền
• Quyền hạn ngoài việc được thể hiện bằng chuỗi ký tự
rwx, còn có thể được ký hiệu bằng số (777).
• Toàn bộ quyền truy xuất được chia thành 3 nhóm ứng với
3 loại người dùng. Mỗi nhóm được viết thành một số.
Lệnh chmod
#chmod
• Để thay đổi quyền hạn trên file, ta sử dụng lệnh chmod,
cú pháp:
chmod [mode] filename
• Ghi chú: chỉ có superuser (các user quản trị) hoặc user sở
hữu tập tin /<thư mục> mới có thể chmod cho tập tin
/<thư mục>.
• Lệnh chmod có thể hoạt động ở cả dạng chuỗi (rwx) lẫn
cả dạng số (764).
Lệnh chmod
#chmod chmod gồm có 3 phần.
Phần đầu chỉ nhóm người dùng, phần sau là toán tử, cuối
cùng là quyền hạn.
Quyền mặc định
• Quyền mặc định ban đầu (initial default permission) là quyền được
tự động set cho file /directory khi chúng được tạo ra.
• Quyền mặc định của một tập tin là 666 (rwrw-rw-).
• Quyền mặc định của một thư mục là 777 (rwx rwx rwx).
UMASK:
• Có thể thay đổi quyền mặc định của tập tin / thư mục bằng cách thay
đổi giá trị biến umask.
• Giá trị umask gồm 4 số bát phân.
• Giá trị mặc định của umask là 0022 hoặc 0002.
• umask hoạt động tương tự một bộ lọc.
• Khi tính giá trị default permission cho một file, thư mục mới tạo ra
hệ thống sẽ lấy (initial default permission) AND ( NOT umask).
chown
Lệnh chown
• Sử dụng lệnh chown để đổi quyền sở hữu tập tin, thư mục
cho người dùng khác.
• Ví dụ đổi quyền sở hữu tập tin data.txt cho user vnlamp:
#chown vnlamp data.txt
• Đổi quyền sở hữu tập tin data.txt cho user vnlamp và
group gvnlamp
#chown vnlamp:gvnlamp data.txt
chgrp
Lệnh chgrp:
• Chuyển quyền sở hữu tập tin cho group khác (phần owner
giữ nguyên).
Ví dụ:
#chgrp gvnlamp data.txt
=> Chuyển group sở hữu tập tin data.txt từ bất kỳ group nào
sang cho group linux.
Thay đổi Umask
• Xem giá trị umask:
$ umask
0022
• Đổi giá trị umask sang 027
$umask 027
Chỉnh trong /etc/profile hoặc /etc/bashrc, thêm dòng
umask 022
umask cho tất cả các user.
Các quyền đặc biệt
- Các quyền đặc biệt cho các tập tin thực thi và các thư
mục dùng chung.
• Set user ID: suid
• Set group ID: sgid
• Sticky bit
SUID
Set User ID
• Khi user thực thi một file, user có thể “mượn” quyền của
user làm chủ file đó để thực thi.
Ví dụ:
user vnlamp thực thi một file do user root làm chủ, trong quá
trình thực thi chương trình “mượn” tạm quyền của root để
làm việc.
• Khi file được set “set user id” thì sẽ hiện ký tự:
s tại mục quyền hạn execute (thay cho ký tự x) của owner.
Nếu file chỉ có quyền “set user id” mà không có quyền
executeký tự s sẽ chuyển thành S (viết hoa).
Set UID
Set User ID
• Root và owner có thể set suid bằng câu lệnh chmod,
với giá trị 4000 hoặc ký tự s:
Ví dụ:
# chmod 4755 <executable_file>
# chmod u+s <executable_file>
SGID
Set Group ID
• Tương tự như suid, file nếu có quyền sgid khi user khác
thực thi file này sẽ “mượn” tạm quyền hạn của group quản
lý file đó.
• File có quyền sgid sẽ thể hiện ký tự “s” ở quyền execute
của group. Nếu group không có quyền execute, ký tự S sẽ
viết hoa.
Sticky bit
Sticky Bit Permission
• Dùng để bảo vệ tập tin trong các thư mục public. Khi một
thư mục được set sticky bit:
- Chỉ có owner hoặc root được phép xóa files/rename trong
thư mục.
- Các user khác vẫn có quyền tạo/ ghi file nhưng không
được phép xóa/rename.
- Sticky bit thể hiện qua ký tự “t” ở phần quyền execute của
others, nếu others không có quyền x, ký tự T sẽ viết hoa.
Set sticky bit:
Hỏi & Đáp
Chương 6:
Quản lý ổ cứng
Các vấn đề thảo luận
 Hiểu về hệ thống tập tin.
 Các kiểu hệ thống tập tin.
 Qui ước đặt tên đĩa.
 Qui ước đặt tên phân vùng.
 Các công cụ thao tác phân vùng.
 File /etc/fstab
 Quản lý quotas
Hiểu về hệ thống tập tin
Hệ thống tập tin: định nghĩa cấu trúc của một phân vùng
ổ đĩa.
Superblock: chứa các thông tin về hệ thống tập tin
Loại hệ thống tập tin:
- Kích thước.
- Trạng thái.
- Các thông tin khác (inode tables, metadata).
Nếu superblock gặp vấn đề, hệ thống tập tin đó sẽ không
sử dụng được.
Hiểu về hệ thống tập tin
Trên mỗi loại hệ thống tập tin sẽ lưu một hệ thống kiến trúc
inodes khác nhau. Mỗi inode bao gồm tất cả những thông tin
về một file ngoại trừ tên file:
- Type.
- Ownership and associated group.
- Permissions.
-Time stamps: mtime (modification time), ctime (inode change time), atime
(access time).
- Link (hard) count.
- Pointers to direct and indirect data blocks (where the contents are stored).
Các kiểu hệ thống tập tin
- ext2.
- ext3.
- ext4.
- NTFS.
- msdos: FAT16, FAT32
- vfat: FAT
- iso9660: cdrom.
- nfs: remote servers, hệ thống lưu trữ phân tán.
- swap.
- xfs, bfs, hfs, cdfs.
Qui ước đặt tên đĩa
IDE hard disks:
 /dev/hda
Primary master IDE (often the hard disk)
 /dev/hdb
Primary slave IDE
 /dev/hdc
Secondary master IDE (often a CD-ROM)
 /dev/hdd
Secondary slave IDE
Qui ước đặt tên đĩa
SCSI
 /dev/sda
Đĩa SCSI đầu tiên
 /dev/sdb
Đĩa SCSI thứ 2
 /dev/sdc
Đĩa SCSI thứ 3
Qui ước đặt tên phân vùng
 Primary partitions:
Chứa filesystem. Nếu tất cả 4 primary partition tồn tại
trông một đĩa IDE, các partition được đánh số như sau:
/dev/hda1.
/dev/hda2.
/dev/hda3.
/dev/hda4.
Một trong các primary partition này có thể được đánh
dấu là acvite và được BIOS lựa chọn để boot.
 Extended partitions:
Chứa các logical partition. Chỉ có một extended partition
/dev/hda1 (primary).
/dev/hda2 (extended).
Qui ước đặt tên phân vùng
• Logical partition
Logical partitions được đánh số từ 5 đến 16.
Các partition với một primary, 1 extended và 4 logical
được đánh số như sau:
/dev/hda1 (primary).
/dev/hda2 (extended).
/dev/hda5 (logical).
/dev/hda6 (logical).
/dev/hda7 (logical).
/dev/hda8 (logical).
Xem thông tin ổ đĩa
Xem thông tin tình trạng sử dụng:
#df –k
Liệt kê các phân vùng
Chia phân vùng
• Cú pháp: fdisk [device]
Ví dụ: fdisk /dev/sdb
Các option của fdisk
CÁC OPTIONS:
Các lệnh thường gặp:
n: thêm partition, người dùng sẽ được yêu cầu chọn loại partition.
(primary, extended), cylinder bắt đầu, cyclinder kết thúc (có thể chọn
kích theo kích thước, ví dụ +300M).
Mặc định partition được tạo dạng ext2, có thể dùng lệnh t để đổi kiểu
partition.
l: list danh sách các partition hiện có trong hệ thống.
p: xem danh sách các partion đang chỉnh sửa nhưng chưa lưu trữ lại.
t: đổi type của partition.
q: thoát, không lưu.
w: write, lưu lại các thay đổi.
m: help.
mkfs
Sau khi tạo ra các partition, ta cần “make file system” trên
các paritition này (có thể xem tương tự như việc format
các partition).
Cú pháp: mkfs [-t fstype] [fs_options] device
Các option của mkfs
CÁC OPTIONS CHÍNH
-c Check bad sectors.
-L label Đặt label cho các partition (ext2).
-n label Đặt label cho các partiontion DOS (11 ký tự).
-q Sử dụng mkfs ở chế độ quiet, kết quả là không xuất
output.
-v Used to enter verbose mode (xuất tất cả mọi thông
tin output).
Tạo swap
TẠO SWAP PARTITION
#mkswap <device>.
Ví dụ:
#mkswap /dev/sda5.
Xem thông tin đĩa
DISK SPACE:
#df [options] <device>
Các options:
-h Hiển thị các thông tin theo dạng dễ đọc cho người dùng.
(M: Megabyte, G: Gigabyte).
-I Hiển thị thông tin inode thay cho thông tin về free
space.
Xem tình trạng sử dụng đĩa
#du [options] [directories]
Các options chính:
-a: all files, không chỉ đơn thuần là thư mục.
-c: in thống kê total của tất cả items.
-h: in dạng dễ đọc đối với người dùng (M:megabytes,
G:gigabytes).
-s: summary mỗi directory.
-S: không thống kê thư mục con.
Kiểm tra và sửa lỗi
fsck [options] [-t type] [fs-options] filesystems
-A: check tất cả các file system trong file /etc/fstab.
-t : qui định type, mặc định là ext2.
-c : check bad blocks.
-f: force to check.
-p: automatically repair.
-y: answers “yes” cho mọi câu hỏi.
Kết buộc phân vùng
 Trong Linux không tồn tại khái niệm đĩa “C”, đĩa “D” như
trong Windows.
 Mỗi partition sẽ được ánh xạ, hay còn gọi là kết buộc
(mount) thành một thư mục nào đó bên dưới cây thư mục
gốc (/).
 Câu lệnh để thực thi công việc này là mount.
mount –t <fstype> -o <option> <device> <mount_point>
umount <mount_point> or umount <device>
Examples:
#mount –t vfat /dev/hdb1 /tmp/usb
#mount –t iso9660 /media/cdrom /mnt/cdrom
#umount –f /tmp/usb
#umount –f /media/cdrom
Lưu ý: Khi có một terminal đang đứng ở vị trí muốn umount
mà chạy lệnh umount thì hệ thống sẽ báo “device busy”.
Câu lệnh mount & umount
Mount
Cú pháp:
mount [command_line_options] [device] [directory]
Một số options chính:
-a: tự động mount các mục trong /etc/fstab.
-t: file system type.
-o: mount options.
-r: mount as read only.
-w: mount in read/write mode.
-h: help.
-v: verbose.
Mount
Giả sử ta có đĩa usb có dạng FAT32 nằm tại /dev/sdb1, cần
kết buộc ổ đĩa này thành thư mục /mnt/USB ta thực thi các
bước sau:
#mkdir /mnt/usb (nếu chưa tồn tại)
#mount –t vfat /dev/sdb1 /mnt/usb
Kể từ thời điểm đó, mọi thao tác đọc/ghi vào thư mục
/mnt/usb tương ứng với đọc/ghi vào ổ đĩa usb.
umount một partition
Cú pháp:
umount <device>
umount <mount point>
Ví dụ:
umount /dev/sdb1
umount /mnt/USB
Umount
Mỗi dòng tương ứng với một partition sẽ được mount, mỗi
dòng gồm nhiều trường.
Cột 1: device mount tên partition được mount.
Cột 2: mount_point tên thư mục sẽ mount.
Cột 3: File system type (ext2, ext3, ext4, vfat, msdos, iso9660,
nfs, swap, auto).
Cột 4: Option mỗi options cách nhau bởi dấu “,” defaults
gồm: rw, suid, dev, exec, auto, nouser, async.
Cột 5: Dump partition có backup filesystem hay không ? Với
kiểu ext2,ext3 thường là 1, các kiểu còn lại là 0.
Cột 6: Check file system (0 bỏ qua, ≠0 check nhỏ hơn ưu tiên,
trường hợp bằng thì ưu tiên hàng trên) nếu là 1, partition sẽ
được kiểm tra khi thực thi lệnh fsck –A.
file /etc/fstab
MOUNT OPTIONS
- ro: read only.
- rw: read write.
- user: cho phép user thông thường được phép mount, nhưng
chỉ có những super user mới được umountusers, cho phép mọi
user mount và umount.
- auto: tự động mount khi gõ mount -a.
- exec: cho phép thực thi chương trình trong partition này.
- defaults: gồm rw , suid, dev, exec, auto, nouser, and async.
Mount options trong fstab
Khi thêm vào file fstab thì reboot lại hệ thống mới đọc những
dòng mới. Lệnh cho hệ thống đọc file fstab:
#mount –a
Chú ý: Fstab là file quan trọng của hệ thống khi chỉnh bất cứ
gì phải đảm bảo đúng cú pháp.
Thông thường để mount vĩnh viễn thiết bị tránh rủi ro ta nên
thêm dòng lệnh mount vào file /etc/rc.local thay vì /etc/fstab
#vi /etc/rc.local
Thêm câu lệnh mount vào
mount /dev/sda1 /mnt
file /etc/fstab
Quota là một công cụ cho phép giới hạn sử dụng file system
của hệ thống trên linux.
Các bước cấu hình:
Bước 1: Dùng lệnh sau để xem các partition có trong hệ thống:
#fdisk –l
Ở đây ví dụ là /dev/sda1
Bước 2: Tạo thư mục dùng làm mount point để ánh xạ
/dev/sda1 vào hệ thống tập tin của linux:
#mkdir /tmp/quota_sda1
Quản lý quotas
Bước 3: Cấu hình file /etc/fstab để mount partition sda1 ánh xạ
vào mount point vừa tạo:
/dev/sda1 /tmp/quota_sda1 ext3
defaults,usrquota,grpquota 0 2
Bước 4: Dùng lệnh sau để đọc lại file fstab mới vừa thêm:
#mount –a Doc fstab
#mount –o remount /dev/sda1
Bước 5: Sử dụng lệnh quotacheck để tạo user hoặc group chạy
dịch vụ quota
#quotacheck –auvgmf
Quản lý quotas
Kiểm tra thấy có 2 file quyền 600 là aquota.group và
aquota.user trong /tmp/quota_sda1
Bước 6: Bật chức năng quota của hệ thống:
#quotaon –a
(Tắt: quotaoff –a, Bật cho 1 user: quotaon –u <user>)
Bước 7: Thiết lập quota cho user:
#edquota –u vnlamp
Thiết lập:
Soft: 10 Hard: 20
Soft limit: Cho phép sử dụng quá dung lượng này trong
khoảng “grade periods”
Hard limit: Dung lượng tối đa có thể sử dụng
(Các thông số trên tính bằng KB)
Quản lý quotas
Hỏi & Đáp
Chương 7:
Quản lý boot loader
Các vấn đề thảo luận
 Quá trình khởi động Linux
 Boot loader (boot manager)
 Boot loader GRUB
 Boot loader LILO
 Kernel image và initrd
 Tiến trình init và file inittab
 Tiến trình rc.sysinit
 /etc/rc.d/rc script
Quá trình khởi động của Linux
• BIOS/ POST
• MBR (lilo hoặc grub): cho phép lựa chọn hệ điều
hành boot.
• Kernel + initrd: load kernel và kiểm tra phần cứng.
• Mount root file system (read only)
• /sbin/init: tiến trình cha của mọi tiến trình.
• /etc/inittab: quyết định run level và gọi start các dịch
vụ cần thiết của run level đó.
• Hiển thị đồ họa nếu ở runlevel 5.
Quá trình khởi động của Linux
Boot loader hay còn gọi là boot manager cho phép quản lý
nhiều hệ điều hành, chọn boot vào hệ điều hành nào.
Hai boot loader phổ biến của Linux:
• LILO (LInux LOader)
• GRUB (GRand Unified Boot loader)
• Khi thay đổi file cấu hình, GRUB tự động nhận biết, LILO
thì phải dùng lệnh /sbin/lilo để update cấuhình.
• Ngày nay, GRUB là boot loader mặc định của đại đa số các
hệ điểu hành Linux.
Boot Loader
• File cấu hình grub.conf:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Linux Fedora (2.6.5-1.358smp)
root (hd0,0)
kernel /vmlinuz-2.6.5-1.358smp ro root=LABEL=/ rhgb
quiet
initrd /initrd-2.6.5-1.358smp.img
title Windows server 2003
rootnoverify (hd0,1)
chainloader +1
Boot Loader GRUB
• Cách phân biệt partition trong boot loader GRUB khác với
cách thông thường của Linux.
• GRUB không phân biệt IDE, và SCSI. đĩa cứng được hiểu
là: hd%d.
• %d: là số nguyên, bắt đầu từ zero để chỉ partition đầu tiên.
• LILO có cách hiểu thông thường như Linux: hdXY , sdXY.
Boot Loader GRUB (tt)
• Một số lệnh của grub: sử dụng trong mode grub,
hoặc trong file grub.conf
Boot Loader GRUB (tt)
• File cấu hình lilo.conf:
boot=/dev/hda
prompt
timeout=10
image=/boot/vmlinuz-2.6.5-1.358smp
label=Linux Fedora (2.6.5-1.358smp)
root=/dev/hda1
read-only
other = /dev/hda2
label=Windows server 2003
table=/dev/hda
Boot Loader LILO
Để cài đặt LILO làm boot loader, dùng lệnh:
• /sbin/lilo – yêu cầu phải có file lilo.conf
• Gỡ bỏ boot loader LILO, dùng lệnh:
• /sbin/lilo –u
• Tìm hiểu lệnh lilo:
• man lilo
• Tìm hiểu file cấu hình boot loader lilo:
• man lilo.conf
Boot Loader LILO (tt)
• Kernel image là hình ảnh nhỏ nhất của kernel được nén thành
file vmlinuz-version.tar.gz.
• Kernel image chứa những thành phần quan trọng cần thiết
đầu tiên để boot máy tính.
• initrd – initial ram disk: được sử dụng để detect phần cứng
và load driver.
• Đồng thời mount file systems dạng read-only để tiến hành
kiểm tra.
Kernel image và initrd
• Tiến trình init là cha của mọi tiến trình.
• Tiến trình init sẽ tìm đọc file /etc/inittab để quyết định
runlevel nào sẽ được boot.
• Mỗi dòng trong /etc/inittab có dạng như sau:
Tiến trình init và file inittab
Tiến trình init (tt)
• Tiến trình rc.sysinit thực thi những nhiệm vụ sau:
• thiết lập hostname của máy tính và detect môi trường
network.
• Mount /proc file system.
• Thiết lập các tham số của kernel.
• Thiết lập giờ hệ thống, fonts.
• Khởi tạo phân vùng swap.
• Check file system và mount lại ở mode read-write.
• Load những module cần thiết.
Tiến trình rc.sysinit
/• Thực thi tất cả script liên quan đến run level đó.
• Vd: nếu runlevel là 5, sẽ gọi thực thi các script trong
/etc/rc.d/rc5.d
• Các script này là file symbolic link, link đến các script
thật sự, thường chứa trong /etc/init.d
etc/rc.d/rc script
• Những script có bắt đầu bằng S, hệ thống sẽ gọi chạy lệnh:
/etc/rc.d/init.d/<command> start.
• Những script bắt đầu bằng K, hệ thống sẽ gọi chạy lệnh:
/etc/rc.d/init.d<command> stop.
/etc/rc.d /rc script (tt)
Hỏi & Đáp
Chương 8:
Quản lý tiến trình và
các dịch vụ cơ sở
Các vấn đề thảo luận
 Chương trình và tiến trình
 Priority
 Phân loại process
 Foreground & background process
 Các câu lệnh xem thông tin process
 Quản lý công việc
 Runlevel
 Quản lý dịch vụ
• Một Chương trình là một file thực thi trong hệ thống, ví dụ
/sbin/shutdown, /sbin/init.
• Process là một instance của một program đang thực thi
(ví dụ khi ta chạy cùng lúc nhiều của sổ Word, mỗi cửa sổ là
một instance của ứng dụng Word). Process đôi khi còn được
gọi là task.
• Kernel của hệ điều hành Linux cho phép nhiều process cùng
thực thi tại 1 thời điểm, chia sẻ chung tài nguyên CPU của
hệ thống.
Chương trình và tiến trình
• Mỗi process có một độ ưu tiên (priority) ứng với nó.
• Priority quyết định process đó sẽ được sử dụng nhiều hay ít
tài nguyên CPU hơn so với các process khác.
• Có thể điều chỉnh thông số priority qua câu lệnh:
nice và renice
priority
Có 5 loại process trong một hệ thống Linux
• Daemon
• Parent
• Child
• Orphan
• Zombie or defunct
Phân loại process
• Daemon là các process quan trọng, thường đảm nhận chức
năng hệ thống (system functions).
• Các daemon process thường không gắn với một terminal cụ
thể (không truy xuất qua bàn phím, màn hình), mà thường là
các process chạy ngầm bên dưới hệ thống. Khi sử dụng câu
lệnh ps sẽ thấy ký hiệu ? tại trường TTY.
• Daemons thường lắng nghe một sự kiện cụ thể(signal, data
input from network, time out…). Khi sự kiện xảy ra, daemon
process sẽ xử lý, phục vụ sự kiện sau đó lại trở lại trạng thái
sleep.
Daemons
• Zombie process là những process đã hoàn tất nhưng vẫn còn
lưu entry trong bảng process table.
• Orphan process là process mà process cha đã hoàn thành và
kết thúc nhưng nó vẫn còn chạy.
Zombie, Orphan
• Mỗi một process có một mã process, gọi là process ID (PID)
• Ngoài ra, giống như một file, mỗi process còn có khái niệm
owner và group: tượng trưng bởi UID và GID để tượng trưng
có các quyền hạn truy cập của process trong hệ thống.
• Các process còn có các process cha, tượng trưng bởi Parent
process ID.
Các đặc tính của process
• Foreground process: Các process có tương tác với người
dùng ( có input, output, GUI….)
• Ví dụ: ls –l /etc
Background process: Các process chạy nền, không tương tác
với người dùng.
• Ví dụ :
Service httpd start
Foreground & background process
• ps
• pstree
• top
Các câu lệnh xem thông tin process
• Xem thông tin các process đang thực thi trong hệ thống
• Cú pháp
ps [options]
• -l thể hiện dưới dạng long list
• -w thể hiện dưới dạng wide output
• -x Xem cả các process không gắn với terminal (daemon)
• -a process của các user khác
• -U user xem process của một user cụ thể
ps
• Ví dụ
ps
ps -aux
ps -aux | grep httpd
ps -ef
ps
ps
• Xem danh sách các process theo dạng cây, từ parent đến các
children.
• Tham số:
-p: in cả process ID.
pstree
• Có tính năng tương tự như ps nhưng danh sách các process
được refresh liên tục (tương tự task manager trong windows).
• Các thông số về CPU , Ram usage cũng được thể hiện và
update.
• Tham số thường dùng:
-d delay: khoảng thời gian refresh giữa 2 lần.
-n number: chạy number lần và ngưng.
top
top
top
top
top
Lệnh:
• nice
• renice
Thay đổi priority
• Mỗi process có một priority, tượng trưng bởi số nice number
từ -20 -> +19
• -20: highest
• +19: lowest
• Một process được khởi động bởi user thường có giá trị
nice = 0
nice number
Cú pháp:
nice [–n number] [command]
Câu lệnh nice dùng để thay đổi nice number của các
process tại thời điểm start time.
User thông thường có thể đặt các giá trị nice từ 0 đến
19, user quản trị (super user) có thể đặt giá trị nice từ
-20 đến 19.
Nếu số number không được nhập trong lệnh nice, số mặc định
sẽ là +10.
• Lệnh nice không có tham số -n và command sẽ in giá
trị nice number mặc định của hệ thống.
nice
Ví dụ:
• nice –n -10 vi /root/data.txt
• nice –n -15 find / -name *.txt
• nice --10 ls –R /
(number =-10)
nice
• &: Cho một job hoạt động ở background. Ví dụ:
# ls –l –R / > /root/list.txt &
Ứng dụng ls sẽ chạy nền bên dưới.
Can thiệp vào hoạt động
• Ctrl C: Ngưng job đang thực thi.
• Ctrl Z: Tạm ngừng job đang thực thi. Sau khi ấn Ctrl Z ta
có thể dùng 2 câu lệnh:
• bg: tiếp tục job vừa ngừng ở trạng thái background.
• fg: tiếp tục job vừa ngừng ở trạng thái foreground.
Ngưng và tạm ngưng công việc
• Kiểm tra BIOS, thực hiện POST.
• Tìm load boot loader ( giả sử GRUB)
– GRUB đọc file /boot/grub/grub.conf để chọn hệ điều hành
khởi động.
• Load kernel, chạy /sbin/init (cha của mọi tiến trình trong
Linux) để kiểm tra hệ thống tập tin, chạy một số chương trình
giúp hệ điều hành hoạt động bình thường.
Quản lý khởi động
• Đọc file /etc/inittab xác định runlevel.
• Dựa vào runlevel được chạy , tiến trình init thực thi các
script đặt trong các thưc mục /etc/rc.d.
Run level
• S: tập tin chạy khi khởi động.
• K: tập tin chạy khi shutdown.
• Thứ tự chạy từ lớn ->bé.
• Thường các chương trình khởi động được đặt trong
/etc/init.d và đặt symbolic link (pointer) trong /etc/rc.d
Run level
• Runlevel khởi động mặc định được định nghĩa ở /etc/inittab.
• Lưu ý:
- Hầu hết người dùng bình thường sử dụng level 5 ( GUI như
Windows).
- Sử dụng command line : level 3.
- Không được set là 6 (khởi động lại máy tính) hoặc 0 ( máy không
khởi động được ).
- Từ command line chuyển sang GUI sử dụng: startx hoặc init 5.
/etc/inittab
• Tắt máy: init 0 hoặc shutdown.
• Khởi động lại: init6 hoặc reboot.
/etc/inittab
• Start/Stop/Restart daemon:
Nếu script khởi động tồn tại trong /etc/init.d thì daemon có thể
khởi động bằng cách:
Hoặc:
Start|stop|restart dịch vụ
• Quản lí các tiến trình trên Linux.
• Thường dùng để bật tắt các chương trình chạy khi
hệ điều hành khởi động.
• Liệt kê trạng thái cấu hình các dịch vụ.
chkconfig
• Bật một chương trình khởi động cùng hệ điều hành:
• Hoặc:
• Tắt:
chkconfig
Hỏi & Đáp
Quản lý các dịch vụ cơ sở
Các vấn đề thảo luận
 Dịch vụ syslogd
 Dịch vụ crond
 Dịch vụ xinetd
 Người quản trị có nhu cầu thường xuyên theo dõi các
sự kiện xảy ra trong hệ thống.
 Khi có sự cố, người quản trị có nhu cầu tìm lại các sự kiện
xảy ra trước thời điểm đó trong hệ thống.
 Một hệ thống luôn có nhu cầu cần lưu log.
 Có thể lưu log cục bộ, hoặc lưu log tập trung.
Dịch vụ syslogd
 Log trong hệ thống được syslog được mô tả như sau:
facility: cho biết ứng dụng nào phát sinh ra thông điệp.
 syslog định nghĩa các facility có sẵn: authpriv , cron,
daemon, kern, lpr , mail, mark, news, syslog, user, uucp.
 syslog dành facility từ local0 -> local7 cho người dùng
định nghĩa.
 level: mức độ nghiêm trọng của thông điệp.
debug < info < notice < warn < err < crit, alert < emerg
 action:
Thông điệp sẽ được xử lí như thế nào?
Lưu hay không, lưu ở đâu?
Dịch vụ syslogd
Tập tin cấu hình: /etc/rsyslog.conf
Dịch vụ syslogd
Tập tin cấu hình: /etc/rsyslog.conf
Dịch vụ syslogd
 Khởi động lại dịch vụ khi thay đổi rsyslog.conf
service rsyslog restart
 Xem những dòng mới của file log
tail -f /var/log/messages
 Có khả năng lưu các log vào các máy ở xa
Dịch vụ syslogd
Logrorate: tiện ích để quản lí các log, tránh trường hợp ghi log
quá nhiều dẫn đến cạn kiệt dung lượng ổ cứng.
Các tập tin cấu hình:
 /etc/logrotate.conf: định nghĩa các option dùng chung cho
việc quản lí log.
 /etc/logrotate.d/: cấu hình cho phép mỗi dịch vụ có thể định
nghĩa cách thức quản lí log riêng phù hợp với dịch vụ đó .
Kích hoạt lại logrorate:
[root@vnlamp tmp]# logrotate –f <configure file>
Dịch vụ syslogd - logrotate
Một số tham số thường dùng
 Compress/nocompress : nén/không nén những file log đã sử dụng
create mode owner group: tạo file log mới có thuộc tính (mode, owner
group).
 Nocreate: không tạo file log mới.
 mail address: khi hết chu kỳ sử dụng file log sẽ được gửi tới địa chỉ
(address).
 daily: chu kỳ sử dụng file log theo ngày
 weekly: chu kỳ sử dụng file log theo tuần.
 monthly: chu kỳ sử dụng file log theo tháng.
 rotate count: xác định số lần luân phiên sử dụng file log.
 size size: chu kỳ sử dụng file log được xác định theo kích thước.
 Include /etc/logrotate.d: đọc thêm các thông tin cấu hình tại các file
trong thư mục /etc/logrotate. Các tham số khai báo ở các file này có
độ ưu tiên cao hơn các tham số khai báo trong file /etc/logrotate.conf.
Dịch vụ syslogd - logrotate
 Cron là một tiện ích cho phép thực hiện các tác vụ
(các lệnh, các script) một cách tự động theo định kỳ,
ở chế độ nền của hệ thống.
 Thêm các script của job vào các thư mục /etc/cron.hourly,
/etc/cron.daily,…để lên lịch chạy các job
 Crontab (CRON TABle) là một file chứa đựng bảng biểu
(schedule) của các entries được chạy.
 Một cron schedule đơn giản là một text file.
Mỗi người dùng có một cron schedule riêng, file này
thường nằm ở /var/spool/cron.
Crontab
#vi /var/spool/cron/<user>
Các giá trị:
Cột 1: Minutes: 059.
Cột 2: Hours: 023.
Cột 3: Day of the month: 131.
Cột 4: Month: 112.
Cột 5: Weekday: 0: Sunday.
Cột 6: Command (đường dẫn tuyệt đối).
Crontab
Crontab là công cụ dùng để lập lịch chạy một command hoặc
một ứng dụng nào đó.
Thiết lập crontab:
Chạy lệnh sau trên user nào thì sẽ thiết lập crontab cho user đó
#crontab –e
Hoặc:
#vi /var/spool/cron/<tên user>
List crontab:
#crontab –l
Remove crontab:
#crontab -r
Crontab
 Xinetd daemon (viết tắt của eXtended InterNET Daemon)
là một TCP wrapped super service, để kiểm soát truy cập một
tập con những dịch vụ mạng thông dụng như: FTP, IMAP và
Telnet…
 Cung cấp những tuỳ chọn cấu hình xác định để kiểm soát
truy cập, logging, binding, redirection và kiểm soát sử dụng
tài nguyên..
 Xinetd cung cấp những tính năng nổi trội:
- Khả năng điều khiển truy cập
- Khả năng ngăn cản kiểu tấn công từ chối dịch vụ
- Khả năng log đa dạng hơn
- Khả năng giới hạn lượng process phục vụ dịch vụ.
- Khả năng tương tác người dùng.
xinetd
xinetd
Cấu hình xinetd:
 /etc/xinetd.conf: định nghĩa một số option chung cho các
dịch vụ sử dụng xinetd.
 /etc/xinetd.d/: mỗi dịch vụ có một file cấu hình, định nghĩa
cụ thể cấu hình của dịch vụ đó khi sử dụng xinetd.
xinetd
 log_type: SYSLOG authpriv: chỉ định đầu ra của service log.
Bạn có thể gửi nó đến SYSLOG.
 log_on_success: Cấu hình cho việc log nếu kết nối thành công.
HOST name và Process ID sẽ được log vào /var/log/secure.
 log_on_failure: cấu hình cho việc log khi kết nối bị dropped hoặc
không được phép truy cập /var/log/secure.
 cps: giới hạn tỷ lệ các kết nối.
Tham số đầu tiên: là giới hạn số lượng kết nối trong 1s. Nếu tỷ lệ các
kết nối cao hơn giá trị này, dịch vụ sẽ tạm thời bị disabled.
 Tham số thứ 2: thời gian chờ (tính bằng s) để enable lại dịch vụ sau khi
nó bị disabled. Giá trị mặc định là 50 connections và thời gian nghỉ là
10s instances: số lượng lớn nhất các requests mà xinetd có thể handle
tại một thời điểm.
 per_source: giới hạn số lượng kết nối cho mỗi địa chỉ nguồn.
 includedir: đọc các file cấu hình cho các dịch vụ khác nằm trong
thư mục /etc/xinetd.d.
xinetd
• File /etc/xinetd.d/krb5-telnet
xinetd
Trước khi cho phép xử lí request, xinetd có thể kiểm tra sự hợp lệ của IP
request bằng những file sau:
 /etc/hosts.allow: những host trong file này được chấp nhận.
 /etc/hosts.deny: những host trong file này bị discard request.
xinetd
Hỏi & Đáp
Chương 9:
Cài đặt phần mềm
Các vấn đề thảo luận
 Cài đặt phần mềm trên CentOS
 Cài bằng mã nguồn đã được biên dịch (RPM)
 Cài bằng mã nguồn chương trình
 Cài đặt qua Internet
 Phần mềm trên Linux (còn được gọi là gói – package) được cung
cấp dưới 2 dạng:
- đã được biên dịch (binary).
 Với dạng binary thì ta chỉ cần dùng các tool hỗ trợ trên phiên
bản Linux đang dùng để cài đặt trực tiếp.
- mã nguồn.
 Mã nguồn chương trình thường được xuất bản dưới dạng nén
tar.gz.
 Đối với dạng này thì ta cần một trình biên dịch để dịch chương
trình, sau đó mới cài đặt.
Phần mềm trên các distro như Redhat, CentOS, Fedora được đưa ra
dưới dạng RedHat Package Manager (RPM).
Các distro phổ biến khác như Debian, Ubuntu, Mint dùng định dạng
DEB (Debian Package format).
Giới thiệu cài đặt phần mềm
 RPM:
Để cài đặt gói với rpm, trước hết cần phải có file rpm của gói
trên đĩa cứng hoặc đường dẫn URL đến file rpm trên Internet.
Một số option chính hay dùng
-i Cài đặt (Install).
-U Nâng cấp (Upgrade).
-e Gỡ bỏ(Erase).
-h Hiển thị trạng thái cài đặt gói dưới các dấu # (Hash).
-q Truy vấn thông tin gói (Query).
Cài đặt mã nguồn đã được biên dịch
 RPM:
Cài đặt(-i) một gói mới:
# rpm -i samba-3.0.25b-1.el5_1.4 .i386.rpm
Upgrade(-U) package:
# rpm -U samba-3.0.25b-1.el5_1.4 .i386.rpm
Update(-F) package:
# rpm -F samba-3.0.25b-1.el5_1.4 .i386.rpm
Force the installation
# rpm -ivh --force --nodeps packagename.rpm
Cài đặt mã nguồn đã được biên dịch
 RPM:
Truy vấn gói phần mềm:
rpm -q [options]
-qa — Lists all installed packages.
-qf file — Lists the package that owns file.
-qi package — Lists lots of information about a package.
-qR package — Lists components that package depends on.
-ql package — Lists all the files contained in package.
-qd package — Lists all documentation files that come in
package.
-qc package — Lists all configuration files that come in
package.
Cài đặt mã nguồn đã được biên dịch
Liệt kê tất cả các gói:
# rpm -qa
Lọc chỉ xem các gói liên quan đến samba
# rpm -qa | grep -i ‘samba‘
Nếu muốn xem tất cả các gói theo từng trang:
# rpm -qa | more
# rpm -qi samba
# rpm -ql samba
# rpm -qilp samba-3.0.25b-1.el5_1.4 .i386.rpm | more
Cài đặt mã nguồn đã được biên dịch
Gỡ bỏ một gói phần mềm:
rpm -e packagename
#rpm –e samba
Cài đặt mã nguồn đã được biên dịch
Bước 1: Download gói và giải nén
(Thông thường dạng tar.gz).
Bước 2: Đọc tài liệu liên quan hiểu rõ về gói.
Bước 3: Cấu hình gói.
Bước 4: Biên dịch gói.
Bước 5: Cài đặt gói.
Bước 6: Chạy gói.
Bước 7: Dọn dẹp phân vùng tạm và rác.
Cài đặt phần mềm bằng biên dịch
# wget http://example/samba-laster.tar.gz
# mv samba-laster.tar.gz /usr/local/src
# cd /usr/local/src
# tar -zxvf samba-laster.tar.gz
# cd /usr/local/src/samba-3.6.23a/source
Download gói và giải nén
# more README
# cat README
# ls -l | grep drwx
Đọc các tài liệu liên quan
Cấu hình gói:
#./configure
Biên dịch gói:
#make
Cài đặt gói:
#make install
** Chúng ta đang ở trong thư mục mã nguồn phần mềm**
Biên dịch phần mềm
# make clean
# cd /usr/local/src
# rm -rf samba-3.6.23a
Gỡ cài đặt
yum là công cụ giúp ta cài đặt gói một cách dễ dàng, thuận
tiện mà không cần phải quan tâm đến các gói phụ thuộc
(dependency).
Ngoài ra nó còn hỗ trợ chức năng xóa, liệt kê, tìm kiếm,
history, ...
Tùy theo hệ điều hành mà ta có câu lệnh tương ứng.
RedHat: yum
Debian: apt-get
Cài đặt qua Internet
 Tìm kiếm một gói: giúp ta tìm chính xác tên gói dựa vào
tên thông thường của ứng dụng:
#yum search <tên-ứng-dụng>
 Xem thông tin về một gói:
#yum info <tên-gói>
 Cài đặt gói:
#yum install <tên-gói>
Cài đặt qua Internet
 Cài đặt gói cục bộ dùng file rpm: được dùng khi ta có gói
rpm nhưng không thể cài với lệnh rpm vì thiếu
dependency:
#yum localinstall <đường-dẫn-đến-file-rpm>
 Xóa gói:
#yum remove <tên-gói>
 Update hệ thống cập nhật các gói khi trên kho phần mềm
có version mới hơn:
#yum update
 Sử dụng YUM trong mạng có proxy: thêm vào file
/etc/yum.conf nhưsau
# vi /etc/yum.conf
…
proxy=http://proxy-ip:port
Cài đặt qua Internet
Hỏi & Đáp
Chương 10:
Cài đặt & cấu hình mạng
Các vấn đề thảo luận
 Cấu hình mạng trên Linux
 Các file cấu hình cơ bản
 Cấu hình IP card mạng
 Routing
 Lệnh traceroute, netstat, tcpdump
 Khởi động và dừng dịch vụ
Cấu hình mạng trên Linux
Các bước cấu hình mạng trên một hệ thống Linux:
Bước 1:
Cấu hình mạng cho card mạng.
Bước 2:
Đặt IP cho từng card mạng (IP tĩnh hoặc động).
Bước 3:
Cấu hình routing.
Bước 4:
Cấu hình các dịch vụ naming.
Các file cấu hình cơ bản
1. File /etc/hosts:
File này dùng để ánh xạ địa chỉ ip tương ứng với tên máy,
được sử dụng để phân giải tên cho hệ thống cục bộ.
Các file cấu hình cơ bản
2. File /etc/hosts.conf:
File này quy định thứ tự sử dụng nguồn phân giải tên cho hệ
thống cục bộ.
Dòng đầu tiên cho biết thứ tự phân giải tên miền dựa vào file
/etc/hosts, sau đó mới dùng dịch vụ DNS.
Các file cấu hình cơ bản
3. File /etc/hosts.allow, /etc/hosts.deny
• /etc/host.allow: cho phép các máy tính được truy cập
• /etc/host.deny: cấm các máy truy cập
• Cú pháp:
Dịch vụ: host
Ví dụ:
- Cho phép máy tính với địa chỉ 192.168.1.1 được phép kết
nối tới tất cả các dịch vụ.
- Cho phép máy tính với địa chỉ: 192.168.1.2 và 192.168.1.3
được phép kết nối tới proftpd
• Thêm vào /etc/hosts.allow :
ALL: 192.168.1.1
proftpd: 192.168.1.2, 192.168.1.3
Lưu ý: Tập tin hosts.allow được đọc trước
Các file cấu hình cơ bản
4. File /etc/resolve.conf
- Chỉ định danh sách các DNS server và tên miền tương ứng
để cho phép máy trạm có thể yêu cầu phân giải tên miền.
- Từ khóa nameserver chỉ định địa chỉ của DNS server để
phân giải tên miền cho hệ thống cục bộ.
Các file cấu hình cơ bản
5. File /etc/networks
- Lưu địa chỉ mạng cho hệ thống cục bộ, hỗ trợ xây dựng
bảng định tuyên mạng. Địa chỉ mạng được dựa vào địa chỉ
localhost và địa chỉ IP của card mạng cục bộ.
- Lệnh route dùng để xem bảng định tuyến mạng của hệ
thống được xây dựng đựa vào file /etc/networks
Cấu hình IP card mạng
1. Xem địa chỉ IP
- Để xem IP dùng lệnh ifconfig.
+ eth0 là tên của card mạng.
+ lo là tên của loopback interface.
Cấu hình IP card mạng
Cách 1: dùng lệnh như sau:
#ifconfig <interface_name> <IP_address> netmask
<netmask_address> up
Khi dùng lệnh này để thay đổi IP thì hệ thống lưu trữ tam thời thông tin
cấu hình này trong bộ nhớ và sẽ bị mất khi hệ thống khởi động lại.
Ví dụ:
#/sbin/ifconfig eth0 192.168.1.20 netmask 255.255.255.0
#/sbin/ifconfig eth0 down
#/sbin/ifconfig eth0 up
#ifup eth0
#ifdown eth0
Cấu hình IP card mạng
Cách 2: ta có thể thay đổi thông tin cấu hình mạng trực tiếp
trong file:
/etc/sysconfig/network-scripts/ifcfg-ethX (trong đó X chỉ
định thứ tự card mạng trong hệ thống)
Routing
Bảng Routing được cấu hình, kiểm tra, thay đổi bằng công cụ
/sbin/route.
Thêm một static route
#/sbin/route add -net 192.168.65.0 gw
192.168.64.2 dev eth0
Thêm Default Gateway
#/sbin/route add default gw 192.168.1.1 eth0
Liệt kê bảng kernel routing:
#/sbin/route -n
Ngoài ra ta còn có thể cấu hình định tuyến động bằng nhiều
công cụ như zebra, quagga.
Lệnh traceroute, netstat, tcpdump
• Lệnh traceroute:
Theo dõi đường đi của gói tin trong hệ thống mạng. Lệnh
traceroute thường dùng để debug, xác định vì sao gói tin
không di chuyển đến một network được.
• Lệnh netstat:
Liệt kê các port đang lắng nghe, các kết nối đang mở đến
máy tính, và tình trạng của các kết nối này.
Với tham số -r: netstat –r hiển thị bảng routing
• Lệnh tcpdump: để bắt gói tin di chuyển trong network. Có
thể lưu lại thành file, dùng ethereal để phân tích gói tin, xác
định loại traffic, hoặc tìm kiếm các dấu hiệu mong muốn.
Khởi động và dừng dịch vụ
Sử dụng các công cụ như:
/sbin/ifconfig
hoặc ifup, ifdown
Sử dụng các scripts file:
#/etc/rc.d/init.d/network restart | stop | start
Hoặc
#/etc/init.d/network restart | start | stop | status
Thực hành
Học viên Thực hành cấu hình IP Card mạng trên máy
Hỏi & Đáp
Chương 11:
Network File (NFS)
Các vấn đề thảo luận
 NFS là gì?
 Các bước hoạt động của NFS
 Khởi động NFS
 Cấu hình NFS
 /etc/exports
 NFS tại client
NFS là gì?
NFS là giao thức chia sẻ file phổ biến trên UNIX. Nó cho
phép mount một thư mục trên một máy tính từ xa vào một
thư mục cục bộ.
 NFS: Network File System
 RFC: 1094, 1813, 5662
 Hoạt động Tầng ứngdụng
 Chức năng: Chia sẻ file trong hệ thống Unix, Linux
 Mô hình Client - Server:
Server Port: 2049, 4045
Hỏi & Đáp
Các bước hoạt động
Bước 1: Client liên lạc với portmapper của server để tìm xem
port nào chạy dịch vụ NFS mount.
Bước 2: Client liên lạc với mount service để gởi yêu cầu
mount. Mount service sẽ kiểm tra quyền của Client.
Nếu Client có quyền mount thì sẽ chấp nhận yêu cầu, ngược
lại gửi từ chối đến Client.
Bước 3: Client liên lạc đến portmapper lần nữa, lần này là để
tìm xem NFS Server chạy port nào.(mặc định là port 2049).
Bước 4: Khi Client muốn tạo một yêu cầu đọc hay ghi đến
NFS Server, một RPC được gởi đến NFS Server.
Bước 5. NFS Server đáp ứng yêu cầu. Client cập nhật lại
bảng mount.
Khởi động NFS
Start service nfs:
1. Khởi động dịch vụ NFS Server:
# service nfs start
Hoặc
#/etc/init.d/nfs start
2. Khởi động cùng hệ thống
# chkconfig nfs on
Cấu hình NFS
Bước 1: Tạo file /etc/exports.
Bước 2: Khởi động dịch vụ NFS, sử dụng dòng lệnh đọc
/etc/exports.
Để export tất cả file system trong file /etc/exports
# exportfs -a
Để export thư mục /export/stuff đến host có quyền đọc và ghi:
# exportfs -o rw vnlamp:/export/stuff
Bước 3: Sử dụng câu lệnh mount trên client để sử dụng dịch
vụ chia sẻ file NFS
# mount -o rw,bg,intr,soft vnlamp:/export/home /home
** Tắt tường lửa là điều hết sức quan trọng 
/etc/exports
Format của file /etc/exports
/dir/to/export client1(permissions) client2(permissions)
/dir/to/export thư mục bạn muốn chia sẻ cho người khác.
client1, client2 là host name của các NFS client.
Hostname của client có thể là IP Address, IP Network,
TCP/IP hostname, full host.domain name.
Ví dụ:
pqdung
pqdung.vnlamp.com
10.0.0.11
10.0.0.0/24
/etc/exports
Permission:
Permission trong /etc/exports được áp lên mỗi client như sau:
ro Quyền chỉ đọc. Không được phép tạo file trong phân vùng mount này.
Quyền này là quyền mặc định.
rw Cho phép đọc và ghi trên phân vùng mount. Thường được dùng cho
home directories, mail spools, etc.
/etc/exports
Một ví dụ file /etc/exports:
# /etc/exports for vnlamp.example.org
/export/homepqdung(rw) account(rw) artist(rw) 
@shire(rw)
unixadmin(rw,no_root_squash)
/export/usr/local dancer(rw) 
doctor(rw) engineer(rw) 
192.168.3.0/24(ro,all_squash)
*.vnlamp.example.com (rw)
Mount tại client
Client sử dụng dịch vụ NFS bằng câu lệnh:
# mount -o rw,bg,intr,soft pqdung:/export/home /home
Ngoài ra còn có thể sử dụng file /etc/fstab
pqdung:/export/home /home nfs rw,bg,intr,soft 0 0
Thực hành cấu hình NFS Server
Học viên thực hành cấu hình NFS Server trên máy
Hỏi & Đáp
Chương 12:
FTP Server
Các vấn đề thảo luận
 Giới thiệu FTP
 Port hoạt động chính của FTP
 Phân loại FTP
 Vấn đề Firewall
 Cài đặt VSFTPD
 Khởi động và dừng dịch vụ
Giới thiệu FTP
FTP viết tắt từ File Transfer Protocol, một giao thức truyền
tải tập tin từ một máy tính đến máy tính khác thông qua một
mạng TCP hoặc qua mạng Internet.
Thông qua giao thức FTP, người dùng có thể tải dữ liệu như
hình ảnh, văn bản, các tập tin media (nhạc, video)... từ máy
tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải
các tập tin có trên máy chủ về máy tính cá nhân.
FTP cũng là giao thức dùng để truyền tải dữ liệu web lên máy
chủ web.
Port hoạt động chính của FTP
FTP Control Channel, TCP Port 21:
Tất cả các lệnh giữa client và server trao đổi nhau thông qua
port 21.
FTP Data Channel, TCP Port 20:
Port dùng để truyền dữ liệu giữa client và Server
Phân loại FTP
FTP phân làm 2 loại chính là:
Active và Passive
Active Mode:
- Client kết nối từ một Random Port
(N>1023)
đến port 21 của Server để chứng thực.
- Nếu Server chấp nhận kết nối.
- Client sẽ mở tiếp port N+1
và lắng nghe kết nối dữ liệu từ Server.
- Server sẽ truyền dữ liệu đến Client
thông qua port 20
đến port N+1 của Client
và ngược lại.
Phân loại FTP
Passive Mode:
- Client kết nối từ một Random Port
(C > 1023)
đến port 21 của Server
để chứng thực và báo cho server biết
là sử dụng mode Passive.
- Nếu Server chấp nhận kết nối.
- Server sẽ trả lời Client kèm theo
một Random Port (S > 1023) để thực
hiện việc truyền dữ liệu.
- Client sẽ mở tiếp port C+1
kết nối dữ liệu đến port S+1 của
Server.
Vấn đề Firewall
Cài đặt FTP Server
 Cài đặt:
Cấu hình IP của FTP Server phải là IP tĩnh.
Kiểm tra đã có cài gói vsftpd chưa?
#rpm -qa | grep vsftpd
Nếu không hiện ra gì ta tiến hành cài như sau:
#yum install vsftpd-* -y
Kiểm tra lại bằng câu lệnh nếu thấy có các gói như sau là
hoàn tất:
#rpm -qa | grep vsftpd*
Cấu hình FTP Server
File cấu hình chính: /etc/vsftpd/vsftpd.conf
Giải thích một số cấu hình:
Enable mode Passive:
pasv_enable=YES
pasv_min_port=41361
pasv_max_port=65534
pasv_address=xxx.xxx.xxx.xxx
dirmessage_enable
pam_service_name
Các cấu hình khác:
anonymous_enable=NO # không cho phép anonymous login vào
local_enable=YES # Cho phép người dùng cục bộ login vào
write_enable=YES # Cung cấp quyền ghi cho người dùng
xferlog_enable=YES # Cho phép ghi log
xferlog_file=/var/log/vsftpd.log # Vị trí file log
connect_from_port_20=YES # Sử dụng cổng 20 cho FTP-Data
ftpd_banner=FTP xin chao # Lời chào khi truy cập FTP
userlist_enable=YES # Những người dùng trong user_list bị cấm truy cập
Cấu hình FTP Server
Các cấu hình người dùng anonymous truy cập:
anonymous_enable=YES # Cho phép người dùng anonymous login
anon_world_readable_only # Anonymous chỉ được phép download
anon_upload_enable # Cho phép anonymous upload
anon_mkdir_write_enable # Cho phép anonymous tạo thư mục
anon_other_write_enable # Cho phép anonymous quyền ghi file
Thực hành cấu hình FTP Server
Học viên thực hành cấu hình FTP Server trên máy
Hỏi & Đáp
Chương 13:
SSH
Các vấn đề thảo luận
 Giới thiệu giao thức SSH
 Giới thiệu dịch vụ SSH
 Cấu hình SSH Server
 SCP
 SSH chứng thực dùng key
Giới thiệu giao thứcSSH
SSH: là chữ viết tắt của cụm từ Secure Shell, là một giao
thức giúp thiết lập một kết nối đến tài nguyên một cách bảo
mật.
Mô hình hoạt động: TCP/IP lớp Ứng dụng
Công cụ: OpenSSH,
Giới thiệu dịch vụ SSH
- Một số chương trình trước đây như:
telnet, rlogin không sử dụng cách thức mã hoá. Do đó thông
tin rất dễ bị rò rỉ.
- Dịch vụ SSH giúp người dùng có thể điều khiển các máy
tính ở xa hoặc copy dữ liệu từ máy chủ, viết tắt của cụm từ
secured shell.
- Mọi dữ liệu truyền theo giao thức đều được mã hóa và rất
an toàn, không thể bị “xem trộm” trên đường truyền.
Cài đặt cấu hình SSH Server
- Mặc định dịch vụ ssh được cài đặt tại cái máy Linux, chúng
ta không cần cài đặt thêm dịch vụ này.
(Nếu chưa thì cài thêm gói openssh-server-*.rpm từ đĩa hoặc
down trên mạng về)
- Kết nối đến:
ssh [-l username] <ip_máy_chủ>
Ví Dụ:
ssh –l root 192.168.1.20 hoặc ssh root@192.168.1.20
Người dùng sẽ được yêu cầu nhập password trên máy truy
xuất đến, nếu chứng thực thành công có thể điều khiển máy
tính từ xa.
Sau khi connect đến được máy server, ta có thể hoàn toàn
điều khiển máy server như điều khiển một máy Linux cục bộ.
Cấu hình SSH Server
- File cấu hình của dịch vụ sshd nằm ở /etc/ssh/sshd_config.
Một số cấu hình chính:
- AllowGroups: chỉ cho phép một số group được đăng nhập
vào máy thông qua ssh
- AllowUsers: chỉ cho phép một số users được đăng nhập vào
máy thông qua ssh
- DenyGroups, DenyUsers: Những groups và users bị cấm
- ListenAddress: địa chỉ mà SSH server sẽ lắng nghe
- Port: mặc định là 22
SCP
- SCP là dịch vụ copy file trên một máy khác, sử dụng giao
thức ssh.
Cú Pháp:
#scp <nguồn> <đích>
Ví dụ muốn copy file /root/test.txt lên máy 192.168.10.10, tại
thư mục /home/sv với quyền sv, ta thực thi:
#scp /root/test.txt sv@192.168.10.10:/home/sv
Ngược lại, chúng ta cũng có thê copy một file từ máy ở xa về
máy cục bộ.
#scp root@192.168.10.1:/root/baitap.txt /root
Cách tạo khóa :
####Lệnh tạo key trên linux##########
#ssh-keygen –t rsa –b 1024
######Trên Windows ##############
dùng tool puttygen.exe để tạo Key và passwd
 Tiếp theo, copy nội dung "Public key" vào
file ~/.ssh/authorized_keys trên server. (mỗi dòng 1 key)
#ssh-copy-id -i ~/.ssh/id_rsa “root@192.168.197.43 -p 2222”
Lưu "Private key" trên client.
Các bạn hãy tập convert key từ linux sang window và ngược lại
SSH Chứng thực dùng key
Bạn chỉ cần thực hiện một việc là thiết lập chính xác đặc
quyền trong file ~/.ssh/authorized_keys trên server:
# chmod 600 ~/.ssh/authorized_keys
Mặc định cơ chế dùng key đã được mở bởi các dòng trong file
/etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
SSH Chứng thực dùng key
Hỏi & Đáp
Chương 14:
Dynamic Host Configuration
Protocol (DHCP) Server
Các vấn đề thảo luận
 Giới thiệu về DHCP
 Mô hình hoạt động
 Cài đặt cấu hình DHCP
 DHCP Reservation
 Cấu hình DHCP Client
Giới thiệu giao thức DHCP
ĐẶT VẤN ĐỀ - 1: Quá nhiều máy để cấu hình Static IP
 Cần một máy chủ để cấp IP cho toàn bộ máy
Giới thiệu giao thức DHCP
 DHCP = Dynamic Host Configuration Protocol
 RFC 1533, 1534, 1541, 1542, 2131
 Tiền thân: BOOTP
 Hoạt động Tầng ứngdụng
 Chức năng:cấp phát địa chỉ IP động
 Mô hình Client - Server:
Server Port: 67
Cung cấp địa thông tin cấu hình TCP/IP cho các client
Client: Port: 68
Yêu cầu server cấp thông tin cấu hình TCP/IP
Mô hình hoạt động
Cài đặt cấu hình DHCP Server
1. Cài đặt:
Thực hiện câu lệnh:
#yum install dhcp –y
2. Cấu hình:
File Cấu hình chính: /etc/dhcp/dhcpd.conf
Giải thích các dòng cấu hình.
3. Khởi động dịch vụ:
#/etc/init.d/dhcpd start|stop|restart
4. Cấu hình dịch vụ dhcp lắng nghe trên card mạng:
#vi /etc/sysconfig/dhcpd
DHCPDARGS=eth0
Cấu hình DHCP Server
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.200;
option time-offset -18000; # Eastern Standard Time
option domain-name "vnlamp.com";
range dynamic-bootp 192.168.1.10 192.168.1.150;
default-lease-time 21600;
max-lease-time 43200;
allow client-updates;
zone vnlamp.com. {
primary 192.168.1.200;
key rndckey;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.200;
key rndckey;
}
DHCP Reservation
Đặt vấn đề:
Khi ta muốn một máy có MAC Address là địa chỉ IP do ta
chỉ định.
DHCP Reservation
Thêm các dòng cấu hình sau vào file /etc/dhcp/dhcpd.conf
host clientxp {
hardware ethernet 00:0C:29:C6:8E:97;
fixed-address 192.168.1.150;}
Với địa chỉ Mac Address của máy client
Cấu hình DHCP Client
Chỉnh file
/etc/sysconfig/network-scripts/ifcfg-ethX với X
là số tương ứng với card mạng.
Dùng lệnh:
#ip link show
Để xem có bao nhiêu card
Nội dung của file ethX:
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
DHCP_HOSTNAME=vnlamp
Thực hành cấu hình DHCP Server
Học viên thực hành cấu hình DHCP Server trên máy
Hỏi & Đáp
Chương 15:
Domain Name System (DNS)
Server
Các vấn đề thảo luận
 Giới thiệu về DNS
 Phân loại DNS Server
 Mô hình DNS Server
 Cài đặt DNS Server
 Cấu hình DNS Server mô hình Master-Slave
Giới thiệu giao thức DNS
ĐẶT VẤN ĐỀ - 1
Giới thiệu giao thức DNS
 Giải pháp người dùng nhớ Domain Name thay IP
Giới thiệu giao thức DNS
 DNS = Domain Name System
 Rfc 1034, 1035
 Chức năng
Dùng phân giải tên miền thành địa chỉ IP và ngược lại
Lịch sử:
 Đầu tiên, lưu trữ bằng file host.txt
 Ngày nay, lưu trữ bằng 1 CSDL phân tán
- Tạo thành cây domain
Mỗi node
+ Có một tên miền (domain name)
+ Có thể có sub domain
Giới thiệu giao thức DNS
 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ạ trong một thể thống nhất.
 BIND (Berkeley Internet Name Distributed) phần mềm DNS Server
được sử dụng nhiều nhất hiện nay trên thế giới.
Một chương trình phục vụ DNS trên nền các hệ thống Unix/Linux…
 Bind chạy nhanh, hiệu suất cao, đáp ứng được số lượng user lớn,
cấu hình linh hoạt, …
 Phân loại:
* Master DNS (primary server)
* Slave DNS (slave secondary server)
* Caching Only DNS (caching name server)
Giới thiệu giao thức DNS
Giới thiệu giao thức DNS
 DNS server lưu các thông tin cần thiết cho việc phân giải tên miền
thành địa chỉ IP và ngược lại dưới dạng Resource records - RR.
Có các loại resource records như sau:
 Host (A) record:
giúp ánh xạ domain name (tên máy tính) với một địa chỉ IP.
Ví dụ: trong zone của domain vnlamp có một A record như:
www A 203.162.44.38
A record này ánh xạ domain name
www.vnlamp.vn thành địa chỉ IP 203.162.44.38
 Alias (CNAME) record:
giúp ánh xạ nhiều tên vào một máy tính cụ thể.
Ví dụ: trong zone của domain vnlamp.vn, có một CNAME record như:
ftp CNAME vnlamp.vn
Khi đó máy tính có tên vnlamp.vn còn có tên khác là ftp.vnlamp.vn
Giới thiệu giao thức DNS
MX record: giúp xác định mailserver cho một domain.
Ví dụ: trong zone của domain vnlamp.vn có MX record như sau:
vnlamp.vn MX server.vnlamp.vn
PTR record: loại resource record này có ý nghĩa trái với loại resource
record A.
PTR record cho biết một địa chỉ IP tương ứng với domain name nào.
Ví dụ trong reverse lookup zone 203.162.44.in-addr.arpa
có PTR record sau:
38.44.162.203.in-addr.arpa PTR www.vnlamp.vn
Record này cho biết địa chỉ IP 203.162.44.38 là địa chỉ IP của máy tính
có tên www.vnlamp.vn
SRV resource record: loại resource record này giúp xác định vị trí của
một số dịch vụ.
Một số ứng dụng đặc biệt có thể “hiểu” được SRV record sẽ truy vấn
name server để xác định dịch vụ cần tìm kiếm đang ở trên máy tính nào,
dịch vụ đang lắng nghe trên port nào…
SOA record: thông tin cho toàn bộ 1 zone
NS record: thông tin các name server của một miền
Phân loại DNS Server
• Master DNS (primary server)
- Là nguồn phân giải tên miền chính thức. Thông tin về một tên
miền do được phân cấp quản lý thì được lưu trữ tại đây và sau đó có thể
được chuyển sang các Slave DNS Server.
Các tên miền do Master quản lý thì được tạo, và sửa đổi tại Master và sau
đó được cập nhật đến các Slave.
• Slave DNS (slave secondary server)
- Khi lượng truy vấn vùng (zone) tăng cao, Master sẽ chuyển
bớt tải sang Slave (quá trình này còn được gọi là cân bằng tải), hoặc khi
Master bị sự cố thì Slave hoạt động thay thế cho đến khi Master hoạt
động trở lại.
• Caching Only DNS (caching name server)
- Tăng tốc độ truy vấn DNS cho các Client trong mạng LAN
bằng cách cache các Record lại.
Mô hình DNS Server
Cài đặt DNS Server
 Cài đặt:
Cấu hình IP của DNS Server phải là IP tĩnh.
Kiểm tra đã có cài DNS Server chưa?
#rpm -qa | grep bind
Nếu không hiện ra gì ta tiến hành cài như sau:
#yum install bind-* -y
Kiểm tra lại bằng câu lệnh nếu thấy có các gói như sau là
hoàn tất:
#rpm -qa | grep bind*
Cấu hình DNS Server
Thư mục chứa File cấu hình chính:
/var/named/chroot/etc/
Thư mục chứa các cơ sở dữ liệu dùng để phân giải thuận
nghịch:
/var/named/chroot/var/named/
File chứa log: /var/log/messages
Lệnh xem log file: #tail –f /var/log/messages
Lệnh khởi động dịch vụ DNS:
#/etc/init.d/named start|stop|restart
Cấu hình DNS Server (Master)
Tạo File /var/named/chroot/etc/named.conf
 Giải thích file /var/named/chroot/etc/named.conf.
Tạo 2 File cơ sở dữ liệu:
 file /var/named/chroot/var/named/vnlamp.net.zone
 file
/var/named/chroot/var/named/1.168.192.inaddr.arpa.zone
Giải thích ý nghĩa các thông số 2 file trên.
Khởi động dịch vụ sau khi đã tạo nội dung hoàn chỉnh.
Cấu hình DNS Server (Slave)
Cấu hình Tương tự Master Server
Tạo File /var/named/chroot/etc/named.conf
 Giải thích file /var/named/chroot/etc/named.conf
Tạo 2 File cơ sở dữ liệu:
 file /var/named/chroot/var/named/vnlamp.net.zone
 file
/var/named/chroot/var/named/1.168.192.inaddr.arpa.zone
Giải thích ý nghĩa các thông số 2 file trên.
Thực hành cấu hình DNS Server
Học viên thực hành cấu hình DNS Master Slave trên máy
Hỏi & Đáp
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)

Contenu connexe

Tendances

Tìm hiểu về Linux
Tìm hiểu về LinuxTìm hiểu về Linux
Tìm hiểu về LinuxNhan Nguyen
 
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTú Cao
 
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPT
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPTBài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPT
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPTMasterCode.vn
 
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...MasterCode.vn
 
Hướng dẫn tự học Linux
Hướng dẫn tự học LinuxHướng dẫn tự học Linux
Hướng dẫn tự học LinuxNguyễn Duy Nhân
 
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTBài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTMasterCode.vn
 
Cac ky thuat tan cong dos ddos drdos botnet tại 123doc.vn
Cac ky thuat tan cong dos ddos drdos botnet   tại 123doc.vnCac ky thuat tan cong dos ddos drdos botnet   tại 123doc.vn
Cac ky thuat tan cong dos ddos drdos botnet tại 123doc.vnDocx VN
 
120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_svTin Thấy
 
Hệ điều hành (chương 1)
Hệ điều hành (chương 1)Hệ điều hành (chương 1)
Hệ điều hành (chương 1)realpotter
 
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTBài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTMasterCode.vn
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạngctrl man
 
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSNGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSVàng Cao Thanh
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhCao Toa
 
Bài 10: Khái niệm về hệ điều hành
Bài 10: Khái niệm về hệ điều hànhBài 10: Khái niệm về hệ điều hành
Bài 10: Khái niệm về hệ điều hànhChâu Trần
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pmNguyen Tran
 
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtTài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtLy hai
 
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTBài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTMasterCode.vn
 

Tendances (20)

Hệ điều hành windows
Hệ điều hành windowsHệ điều hành windows
Hệ điều hành windows
 
Tìm hiểu về Linux
Tìm hiểu về LinuxTìm hiểu về Linux
Tìm hiểu về Linux
 
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
 
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPT
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPTBài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPT
Bài 7: Quản trị người dùng thông qua chính sách nhóm - Giáo trình FPT
 
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
Bài 8: Triển khai bảo mật sử dụng chính sách nhóm (Group policy) - Giáo trình...
 
Hướng dẫn tự học Linux
Hướng dẫn tự học LinuxHướng dẫn tự học Linux
Hướng dẫn tự học Linux
 
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTBài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
 
Cac ky thuat tan cong dos ddos drdos botnet tại 123doc.vn
Cac ky thuat tan cong dos ddos drdos botnet   tại 123doc.vnCac ky thuat tan cong dos ddos drdos botnet   tại 123doc.vn
Cac ky thuat tan cong dos ddos drdos botnet tại 123doc.vn
 
120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv
 
Hệ điều hành (chương 1)
Hệ điều hành (chương 1)Hệ điều hành (chương 1)
Hệ điều hành (chương 1)
 
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPTBài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
Bài 4: Triển khai Active Directory: Quản trị nhóm - Giáo trình FPT
 
Bài giảng Lập trình mạng
Bài giảng Lập trình mạngBài giảng Lập trình mạng
Bài giảng Lập trình mạng
 
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOSNGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG CHO HỆ ĐIỀU HÀNH iOS
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tính
 
Bài 10: Khái niệm về hệ điều hành
Bài 10: Khái niệm về hệ điều hànhBài 10: Khái niệm về hệ điều hành
Bài 10: Khái niệm về hệ điều hành
 
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đĐề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Quan ly cau hinh pm
Quan ly cau hinh pmQuan ly cau hinh pm
Quan ly cau hinh pm
 
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtTài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
 
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPTBài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
Bài 9: Sao lưu và khôi phục hệ thống Domain - Giáo trình FPT
 

En vedette

Lpi Part 1 Linux Fundamentals
Lpi Part 1 Linux FundamentalsLpi Part 1 Linux Fundamentals
Lpi Part 1 Linux FundamentalsYemenLinux
 
Lpi 101 study_guide
Lpi 101 study_guideLpi 101 study_guide
Lpi 101 study_guideousman1
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thanglaonap166
 
Những lưu ý khi backup microsoft outlook
Những lưu ý khi backup microsoft outlookNhững lưu ý khi backup microsoft outlook
Những lưu ý khi backup microsoft outlooklaonap166
 
Noi dung ghostcast server 27.11.2011
Noi dung ghostcast server 27.11.2011Noi dung ghostcast server 27.11.2011
Noi dung ghostcast server 27.11.2011laonap166
 
Openfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark ssoOpenfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark ssolaonap166
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commandsHanan Nmr
 
Thực tập công nhân phần mạng và truyền thông
Thực tập công nhân phần mạng và truyền thôngThực tập công nhân phần mạng và truyền thông
Thực tập công nhân phần mạng và truyền thônglaonap166
 
Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012laonap166
 
Huong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lHuong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lTran Minh Tuan
 
101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and reboot101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and rebootAcácio Oliveira
 
101 4.6 create and change hard and symbolic links
101 4.6 create and change hard and symbolic links101 4.6 create and change hard and symbolic links
101 4.6 create and change hard and symbolic linksAcácio Oliveira
 
101 2.3 manage shared libraries
101 2.3 manage shared libraries101 2.3 manage shared libraries
101 2.3 manage shared librariesAcácio Oliveira
 
Apend. networking generic a
Apend. networking generic aApend. networking generic a
Apend. networking generic aAcácio Oliveira
 

En vedette (20)

Lpi Part 1 Linux Fundamentals
Lpi Part 1 Linux FundamentalsLpi Part 1 Linux Fundamentals
Lpi Part 1 Linux Fundamentals
 
Lpi 101 study_guide
Lpi 101 study_guideLpi 101 study_guide
Lpi 101 study_guide
 
It monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thangIt monitoring with nagios lac tien man thang
It monitoring with nagios lac tien man thang
 
Những lưu ý khi backup microsoft outlook
Những lưu ý khi backup microsoft outlookNhững lưu ý khi backup microsoft outlook
Những lưu ý khi backup microsoft outlook
 
Noi dung ghostcast server 27.11.2011
Noi dung ghostcast server 27.11.2011Noi dung ghostcast server 27.11.2011
Noi dung ghostcast server 27.11.2011
 
Openfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark ssoOpenfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark sso
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commands
 
Thực tập công nhân phần mạng và truyền thông
Thực tập công nhân phần mạng và truyền thôngThực tập công nhân phần mạng và truyền thông
Thực tập công nhân phần mạng và truyền thông
 
Linux LPI Bacis
Linux LPI BacisLinux LPI Bacis
Linux LPI Bacis
 
Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012Giải pháp always on trong sql server 2012
Giải pháp always on trong sql server 2012
 
Athena
AthenaAthena
Athena
 
Huong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 lHuong dan ghost hdh linux qua g4 l
Huong dan ghost hdh linux qua g4 l
 
Lapres firewall
Lapres firewallLapres firewall
Lapres firewall
 
server_ppt
server_pptserver_ppt
server_ppt
 
101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and reboot101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and reboot
 
101 4.6 create and change hard and symbolic links
101 4.6 create and change hard and symbolic links101 4.6 create and change hard and symbolic links
101 4.6 create and change hard and symbolic links
 
101 2.3 manage shared libraries
101 2.3 manage shared libraries101 2.3 manage shared libraries
101 2.3 manage shared libraries
 
101 1.2 boot the system
101 1.2 boot the system101 1.2 boot the system
101 1.2 boot the system
 
101 1.1 hardware settings
101 1.1 hardware settings101 1.1 hardware settings
101 1.1 hardware settings
 
Apend. networking generic a
Apend. networking generic aApend. networking generic a
Apend. networking generic a
 

Similaire à Linux Network Administration (LPI-1,LPI-2)

Tom tat lenh_ubuntu
Tom tat lenh_ubuntuTom tat lenh_ubuntu
Tom tat lenh_ubuntuthanhhokh03
 
Tom tat lenh ubuntu
Tom tat lenh ubuntuTom tat lenh ubuntu
Tom tat lenh ubuntunghoanganh
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentThang Man
 
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởBài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởMasterCode.vn
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0Cường Nguyễn Tam
 
Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?Công Nghệ - VTC Mobile
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hànhPhamTuanKhiem
 
Project name
Project nameProject name
Project namethom Tomu
 
Cach su dung Ubuntu
Cach su dung UbuntuCach su dung Ubuntu
Cach su dung UbuntuKien Ma
 
tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudungThuyet Nguyen
 

Similaire à Linux Network Administration (LPI-1,LPI-2) (20)

Tom tat lenh_ubuntu
Tom tat lenh_ubuntuTom tat lenh_ubuntu
Tom tat lenh_ubuntu
 
Tom tat lenh ubuntu
Tom tat lenh ubuntuTom tat lenh ubuntu
Tom tat lenh ubuntu
 
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Linux+02
Linux+02Linux+02
Linux+02
 
Linux security
Linux securityLinux security
Linux security
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line Environment
 
Sử dụng Linux
Sử dụng LinuxSử dụng Linux
Sử dụng Linux
 
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởBài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
 
Cài đặt quản trị hệ điều hành Ubuntu 12.0
Cài đặt quản trị  hệ điều hành Ubuntu 12.0Cài đặt quản trị  hệ điều hành Ubuntu 12.0
Cài đặt quản trị hệ điều hành Ubuntu 12.0
 
Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?
 
Các lệnh shell cơ bản trong linux
Các lệnh shell cơ bản trong linuxCác lệnh shell cơ bản trong linux
Các lệnh shell cơ bản trong linux
 
Linux+03
Linux+03Linux+03
Linux+03
 
Cấu trúc hệ điều hành
Cấu trúc hệ điều hànhCấu trúc hệ điều hành
Cấu trúc hệ điều hành
 
Project name
Project nameProject name
Project name
 
Quan tri he dieu hanh linux
Quan tri he dieu hanh linuxQuan tri he dieu hanh linux
Quan tri he dieu hanh linux
 
--De cuong on tap hdh
 --De cuong on tap hdh --De cuong on tap hdh
--De cuong on tap hdh
 
Cach su dung Ubuntu
Cach su dung UbuntuCach su dung Ubuntu
Cach su dung Ubuntu
 
tài liệu Mã nguồn mở 02 sudung
tài liệu Mã nguồn mở  02 sudungtài liệu Mã nguồn mở  02 sudung
tài liệu Mã nguồn mở 02 sudung
 
Bien dich nhan linux
Bien dich nhan linuxBien dich nhan linux
Bien dich nhan linux
 

Plus de laonap166

Huong dan xu ly cac loi khi su dung phan mem reset may in
Huong dan xu ly cac loi khi su dung phan mem reset may inHuong dan xu ly cac loi khi su dung phan mem reset may in
Huong dan xu ly cac loi khi su dung phan mem reset may inlaonap166
 
Huong dan reset muc l200 epson
Huong dan reset muc l200 epsonHuong dan reset muc l200 epson
Huong dan reset muc l200 epsonlaonap166
 
NEC Server Documents
NEC Server DocumentsNEC Server Documents
NEC Server Documentslaonap166
 
Mtcv giám đốc tt cntt
Mtcv giám đốc tt cnttMtcv giám đốc tt cntt
Mtcv giám đốc tt cnttlaonap166
 
Nếu bạn làm it bạn cần biết
Nếu bạn làm it  bạn cần biếtNếu bạn làm it  bạn cần biết
Nếu bạn làm it bạn cần biếtlaonap166
 
Nhạp mon lap trinh khong code
Nhạp mon lap trinh khong code Nhạp mon lap trinh khong code
Nhạp mon lap trinh khong code laonap166
 
Ha active active bang gfs2
Ha active  active bang gfs2Ha active  active bang gfs2
Ha active active bang gfs2laonap166
 
Hướng dẫn cài đặt phần mềm turnoffmonitor
Hướng dẫn cài đặt phần mềm turnoffmonitorHướng dẫn cài đặt phần mềm turnoffmonitor
Hướng dẫn cài đặt phần mềm turnoffmonitorlaonap166
 
Bao cao web cake php
Bao cao web cake phpBao cao web cake php
Bao cao web cake phplaonap166
 
He 74 a-thltht-lãxuântâm-11tlt
He 74 a-thltht-lãxuântâm-11tltHe 74 a-thltht-lãxuântâm-11tlt
He 74 a-thltht-lãxuântâm-11tltlaonap166
 
Quản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtQuản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtlaonap166
 
Ve ngoi nha lap trinh do hoa bang c
Ve ngoi nha lap trinh do hoa bang cVe ngoi nha lap trinh do hoa bang c
Ve ngoi nha lap trinh do hoa bang claonap166
 
Don xin thanh lap doanh nghiep lien doanh
Don xin thanh lap doanh nghiep lien doanhDon xin thanh lap doanh nghiep lien doanh
Don xin thanh lap doanh nghiep lien doanhlaonap166
 
Thu cam on khach hang
Thu cam on khach hangThu cam on khach hang
Thu cam on khach hanglaonap166
 
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloat
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloatCai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloat
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloatlaonap166
 
Xd email server zimbra
Xd email server zimbraXd email server zimbra
Xd email server zimbralaonap166
 
Tom tat ly thuyet thi bằng lái xe b2
Tom tat ly thuyet thi bằng lái xe b2Tom tat ly thuyet thi bằng lái xe b2
Tom tat ly thuyet thi bằng lái xe b2laonap166
 
Policy Based Assignment DHCP – Windows Server 2012
Policy Based Assignment DHCP – Windows Server 2012Policy Based Assignment DHCP – Windows Server 2012
Policy Based Assignment DHCP – Windows Server 2012laonap166
 
How to backup active directory domain services database in windows server 201...
How to backup active directory domain services database in windows server 201...How to backup active directory domain services database in windows server 201...
How to backup active directory domain services database in windows server 201...laonap166
 
Dns backup and recovery in windows server 2012 r2
Dns backup and recovery in windows server 2012 r2Dns backup and recovery in windows server 2012 r2
Dns backup and recovery in windows server 2012 r2laonap166
 

Plus de laonap166 (20)

Huong dan xu ly cac loi khi su dung phan mem reset may in
Huong dan xu ly cac loi khi su dung phan mem reset may inHuong dan xu ly cac loi khi su dung phan mem reset may in
Huong dan xu ly cac loi khi su dung phan mem reset may in
 
Huong dan reset muc l200 epson
Huong dan reset muc l200 epsonHuong dan reset muc l200 epson
Huong dan reset muc l200 epson
 
NEC Server Documents
NEC Server DocumentsNEC Server Documents
NEC Server Documents
 
Mtcv giám đốc tt cntt
Mtcv giám đốc tt cnttMtcv giám đốc tt cntt
Mtcv giám đốc tt cntt
 
Nếu bạn làm it bạn cần biết
Nếu bạn làm it  bạn cần biếtNếu bạn làm it  bạn cần biết
Nếu bạn làm it bạn cần biết
 
Nhạp mon lap trinh khong code
Nhạp mon lap trinh khong code Nhạp mon lap trinh khong code
Nhạp mon lap trinh khong code
 
Ha active active bang gfs2
Ha active  active bang gfs2Ha active  active bang gfs2
Ha active active bang gfs2
 
Hướng dẫn cài đặt phần mềm turnoffmonitor
Hướng dẫn cài đặt phần mềm turnoffmonitorHướng dẫn cài đặt phần mềm turnoffmonitor
Hướng dẫn cài đặt phần mềm turnoffmonitor
 
Bao cao web cake php
Bao cao web cake phpBao cao web cake php
Bao cao web cake php
 
He 74 a-thltht-lãxuântâm-11tlt
He 74 a-thltht-lãxuântâm-11tltHe 74 a-thltht-lãxuântâm-11tlt
He 74 a-thltht-lãxuântâm-11tlt
 
Quản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtQuản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxt
 
Ve ngoi nha lap trinh do hoa bang c
Ve ngoi nha lap trinh do hoa bang cVe ngoi nha lap trinh do hoa bang c
Ve ngoi nha lap trinh do hoa bang c
 
Don xin thanh lap doanh nghiep lien doanh
Don xin thanh lap doanh nghiep lien doanhDon xin thanh lap doanh nghiep lien doanh
Don xin thanh lap doanh nghiep lien doanh
 
Thu cam on khach hang
Thu cam on khach hangThu cam on khach hang
Thu cam on khach hang
 
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloat
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloatCai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloat
Cai dat su_dung_acronis_snapdeployforpc_debungfilebackuphangloat
 
Xd email server zimbra
Xd email server zimbraXd email server zimbra
Xd email server zimbra
 
Tom tat ly thuyet thi bằng lái xe b2
Tom tat ly thuyet thi bằng lái xe b2Tom tat ly thuyet thi bằng lái xe b2
Tom tat ly thuyet thi bằng lái xe b2
 
Policy Based Assignment DHCP – Windows Server 2012
Policy Based Assignment DHCP – Windows Server 2012Policy Based Assignment DHCP – Windows Server 2012
Policy Based Assignment DHCP – Windows Server 2012
 
How to backup active directory domain services database in windows server 201...
How to backup active directory domain services database in windows server 201...How to backup active directory domain services database in windows server 201...
How to backup active directory domain services database in windows server 201...
 
Dns backup and recovery in windows server 2012 r2
Dns backup and recovery in windows server 2012 r2Dns backup and recovery in windows server 2012 r2
Dns backup and recovery in windows server 2012 r2
 

Linux Network Administration (LPI-1,LPI-2)

  • 2. Mục Lục Chương 1: Giới thiệu hệ điều hành Linux 3 Chương 2: Cài đặt CentOS 19 Chương 3: Tập lệnh căn bản 53 Chương 4: Quản trị người dùng 100 Chương 5: Quản lý hệ thống tập tin 120 Chương 6: Quản lý Boot loader 143 Chương 7: Quản lý ổ cứng 174 Chương 8: Quản lý tiến trình và dịch vụ cơ sở 191 Chương 9: Cài đặt phần mềm 244 Chương 10: Cài đặt, cấu hình mạng 261 Chương 11: Network File System (NFS) 277 Chương 12: FTP 290 Chương 13: The Secure Shell (SSH) 302 Chương 14: DHCP 312 Chương 15: Domain Name System (DNS) 323 Chương 16: Web Server 340 Chương 17: Mail Server 347 Chương 18: Samba 359 Chương 19: Squid Proxy Server 377 Chương 20: Linux Firewall 388 Chương 21: Sao lưu & Restore 403 Bonus 417
  • 3. Chương 1: Giới thiệu Hệ điều hành Linux
  • 4. Các vấn đề thảo luận  Hệ điều hành.  Các thuật ngữ.  Thảo luận về hệ điều hành Linux.  Các phiên bản Linux.  CentOS.
  • 6. Các thuật ngữ Open Source: Là loại phần mềm cung cấp luôn cả mã nguồn cho phép người dùng chỉnh sửa mã nguồn theo nhu cầu mà không phải trả một loại phí nào về bản quyền. Closed Source: Là loại phần mềm không thể mua được mã nguồn. Thông thường trả phí cho bản quyền là bắt buộc đối với một số phiên bản. Freeware: Là một loại phần mềm Closed source miễn phí hoàn toàn. Shareware: Là một loại phần mềm Closed source không cần trả phí để mua nhưng phải trả phí sau một thời gian sử dụng nó.
  • 7. Hệ điều hành Linux là gì?  Một phần mềm mã nguồn mở có đầy đủ đặc điểm của các hệ điều hành khác.  Hệ điều hành rất ổn định, hiệu năng cao và đang được phát triển bởi hàng trăm ngàn lập trình viên trên toàn thế giới.  Nhiều công ty, tổ chức chính phủ sử dụng Linux.  Hệ điều hành đa tác vụ, đa người dùng.  Là hệ điều hành hỗ trợ đa nền tảng và trên nhiều loại ứng dụng mạng.
  • 8. Lịch sử về Hệ điều hành Linux
  • 9. Giới thiệu về Hệ điều hành Linux  Open Source Software  Multiuser  Multitasking  Network support
  • 10. Định nghĩa các phiên bản Linux Phiên bản của một hệ điều Linux được định nghĩa dựa trên Linux kernel version gồm 2 thành phần: Major number Minor number Ví dụ: CentOS 6.4 kernel 2.6 Ubuntu 13.10 kernel 3.2
  • 11. Ưu điểm của Linux Risk reduction: Giảm thiểu rủi ro. Meeting business needs: Không bị ràng buộc về tính thương mại vì vấn đề bản quyền đã được giải quyết. Stability and Security: Ổn định và bảo mật. Flexibility for different hardware platforms: Uyển chuyển tương thích với nhiều loại phần cứng. Ease of customization: Dễ dàng điều chỉnh sửa chửa. Ease of obtaining support: dễ dàng hỗ trợ khi gặp sự cố. Cost reduction: Giảm thiểu về mặt chi phí.
  • 12. Linux sử dụng dùng để làm gì?  Web Hosting.  Softwares Development.  File and Print services.  Document Publishing.  E-mail Servers.  Database Servers.  Network Routers.  Workstations.
  • 13. Tính ổn định của Linux  Dễ dàng quản lí khối công việc đồ sộ của môi trường kinh doanh hiện nay.  Máy tính sử dụng Linux có thể hoạt động ổn định như FTP server, Web server, Mail server, DNS server.  Không khởi động lại máy sau khi cài đặt các phầm mềm và các dịch vụ mới vào.  Dễ dàng khôi phục hoạt động khi gặp sự cố về mất điện.
  • 14. Bảo mật  Mô hình open source cho phép các chuyên gia kiểm tra source code trước khi phát hành.  Khi lỗi tìm thấy, nhóm các nhà lập trình viên thuộc cộng đồng mã nguồn mở trên thế giới sẽ khắc phục lỗi ngay.  Virus hầu như không tồn tại trên Linux.  Một hệ điều hành cực kỳ ổn định và được hỗ trợ nhiều loại tường lửa chuyên dụng khác nhau.
  • 15. Các phiên bản Linux  Red Hat Linux.  SuSE Linux.  Slackware Linux.  Debian Linux.  Turbo Linux.  Mandrake Linux. www.distrowatch.com
  • 16. CentOS CentOS là gì? Là hệ điều hành phát triển dựa trên nền nhân Red Hat (bản thương mại) tuy nhiên CentOS hoàn toàn miễn phí. Vì sao sử dụng CentOS?  Mang đầy đủ tính năng của một hệ thống Linux.  Hầu hết cộng đồng mã nguồn mở đều tin dùng.  Tính ổn định cao và khả năng sửa lỗi dễ dàng khi có sự cố.  Được sử dụng rộng rãi trong hầu hết các công ty lớn nhỏ trên thế giới.
  • 20. Các vấn đề thảo luận  Cài đặt CentOS.  Chia phân vùng ổ cứng.  Demo cài đặt.  Shells. Terminals. Kernel.
  • 21. Các cách cài đặt • Cài từ một FTP server qua mạng. • Cài từ HTTP Web server qua mạng. • Cài từ NFS server qua mạng. • Cài từ SMB server qua mạng. • Cài từ Virtual Network Computing (VNC) qua mạng. • Cài từ những gói phần mềm trên đĩa cứng.
  • 22. Tiến hành cài đặt - Chọn ngôn ngữ, ngôn ngữ bàn phím, chuột, màn hình. - Chọn cách cài đặt. - Chia partition. - Cấu hình Boot Loader. - Cấu hình mạng và tường lửa. - Chọn ngôn ngữ hệ thống và múi giờ. - Tạo người dùng root (người dùng tối cao). - Chọn các gói cài đặt phù hợp với mục đích sử dụng. - Hoàn tất cài đặt.
  • 23. Cài đặt CentOS Thảo luận về vấn đề chia phân vùng: /boot: từ 100MB đến 200MB. swap: Nếu RAM <= 4GB: Swap = RAM*2. Nếu RAM > 4GB: Swap = 16GB. ** Đối với server Oracle: Swap >= 24GB. / : Phần còn lại của ổ cứng. Câu hỏi: Tại sao phải chia lại partition mà không để hệ thống tự chia?
  • 24. Ví dụ phân vùng mặc định
  • 25. Cấu hình Bootloader - GRand Unified Bootloader (GRUB). - Boot Record (MBR). - First hard disk sector.
  • 26. Shells - Terminals - Kernel
  • 28. Thực hành cài đặt CentOS Demo Cài đặt. + Cài đặt qua giao diện đồ họa. + Cài đặt qua text mode.  Học viên thực hành cài đặt trên máy các phiên bản CentOS.  Bài tập làm thêm: Học viên thử cài đặt các Distro khác như: Ubuntu, Fedora, OpenSUSE, Backtrack.
  • 29. Demo Cài đặt Boot từ CD CentOS
  • 48. Demo Cài đặt Chúng ta chọn những gói cài đặt cần thiết cho server.
  • 49. Demo Cài đặt Bắt đầu cài đặt.
  • 50. Demo Cài đặt Sau khi cài đặt thành công Màn hình login đầu tiên ta sẽ thấy:
  • 51. DEMO khôi phục password user root. DEMO cách tắt tường lửa.
  • 53. Chương 3: Tập lệnh cơ bản (Command Line)
  • 54. Các vấn đề thảo luận  Giới thiệu Command Line.  Giới thiệu hệ thống tập tin.  Qui ước đặt tên & đường dẫn.  Làm quen với các tập lệnh cơ bản.  Điều khiển công việc.  Biến môi trường.  Link.  Soạn thảo văn bản với vi.  Restart & shutdown.
  • 55. • Bạn đã từng xem qua các “super hacker” thao tác thế nào trong các bộ phim? • CLI (Command Line Interface) là cách tốt nhất, nhanh nhất để người quản trị thao tác với máy tính. • 3 Nguyên tắc không thể thiếu của một người quản trị hệ thống giỏi cần phải có: - Làm chủ hoàn toàn Command Line. - Tự động hóa tất cả. - Sao lưu toàn bộ dữ liệu. “Lazy sysadmin is the best sysadmin –Anonymous” Tại sao sử dụng Command Line?
  • 56. • Shell là một chương trình giúp người quản trị chuyển các thao tác lên bàn phím xuống cho hệ điều hành biết phải làm gì. • Hầu hết tất cả các phiên bản Linux đều sử dụng chương trình shell từ dự án GNU được gọi là bash. Shell là gì?
  • 57. Filesystem Hierarchy Standard (FHS): /bin Các lệnh cơ bản cho tất cả người dùng. /boot Chứa kernel và các file sử dụng cho việc boot. /dev Chứa các khai báo về thiết bị. /etc Chứa các file cấu hình hệ thống và các ứng dụng. /home Đường dẫn mặc định chứa thư mục người dùng. /lib Chứa các thư viện dùng chung. /mnt Là một thư mục rỗng sử dụng cho việc mount. Giới thiệu hệ thống File trên Linux
  • 58. /proc Thông tin process và kernel. /opt Chứa các chương trình phần mềm thêm vào. /root Thư mục của người dùng root. /sbin Chứa các tập lệnh quản trị. /usr Chứa những tập lệnh của các ứng dụng. /tmp Chứa dữ liệu tạm. /var Chứa các File log. Giới thiệu hệ thống File trên Linux
  • 59.
  • 60. - Tối đa 255 kí tự, dùng bất kì ký tự nào, kể cả ký tự đặc biệt. Ví dụ: “Very ? long - file + name . test” - Tập tin (thư mục) ẩn được bắt đầu bằng dấu chấm “.” Ví dụ: “.bash_history” Qui ước đặt tên
  • 61. Đường dẫn tuyệt đối: bắt đầu bằng “/” •Ví dụ : / /bin /usr /usr/bin Đường dẫn tương đối: không bắt đầu bằng “/” •Ví dụ: etc/httpd/ usr/bin Đường dẫn đặt biệt: .. - thư mục cha. . - thư mục đang làm việc. ~ - thư mục home của người dùng hiện hành. •Ví dụ: Nếu người dùng đang ở thư mục /etc, muốn tham chiếu đến tập tin /etc/vsftpd/vsftpd.conf thì đường dẫn tương đối sẽ là ./vsftpd/vsftpd.conf Đường dẫn
  • 62. Chuyển người dùng (Switching Users): su $ su # su pqdung $ su – vnlamp Kết thúc một Terminal Session: #exit Làm quen các lệnh cơ bản
  • 63. • Cú pháp: command [flags] arg1 arg2 arg3 • Các thành phần cách nhau một khoảng trắng. • Các cờ thường theo sau dấu “-” hoặc “--” (nhất là các cờ nhiều ký tự). Ví dụ: #ls -a -l -F hoặc #ls --color • Nhiều cờ có thể dùng chung một ký tự “-”. Ví dụ: ls -al tương đương ls -a -l • Một số lệnh đặc biệt, không cần ký tự “-” trước các cờ. • Muốn xem trợ giúp dùng tham số --help hoặc man. Ví dụ: ls --help hoặc man ls Ghi chú: Có khá nhiều loại shell trên Linux, kiểm tra đang dùng loại shell nào: echo $SHELL Cú pháp lệnh
  • 64. Tên tập tin hoặc thư mục làm tham số dòng lệnh có thể ở dạng không tường minh. Trên Linux không phân biệt phần đuôi mở rộng. Dùng ký tự thay thế cho một phần hoặc toàn bộ tên. •* : mọi chuỗi kể cả rỗng •? : một ký tự bất kỳ •[aeg] : tương ứng với một trong các kí tự a,e,g •[a-h]: một ký tự trong khoảng a … h •[^abc]: không phải a,b,c • : loại bỏ ý nghĩa đặc biệt của các ký tự *,?,) Kí tự thay thế
  • 65. Nhấn <Tab> để tự động điền đầy đủ dòng lệnh: $ cd /usr/lo<Tab> (/usr/local) $ cp<Tab><Tab> cp cpp cpio cproto $ cd dir<Tab><Tab> dir1 dir2 dir3 Tự động điền dòng lệnh
  • 66. Các lệnh giúp đỡ Help: #man #help Lệnh thao tác các thư mục và đường dẫn: #pwd In thư mục đang làm việc. #cd Thay đổi thư mục. #ls Liệt kê thư mục. Các lệnh thường sử dụng
  • 67. #mkdir Tạo thư mục. #mv Di chuyển. #cp Sao chéo. #alias Tạo lệnh thay thế. #rm Xóa file và thư mục. #rmdir Xóa thư mục rỗng. #file Xác định loại file. #touch Tạo file rổng. #tee Vừa xuất kết quả ra màn hình vừa xuất vào file. Các lệnh thường sử dụng
  • 68. #cat Xem nội dung file. #tac Ngược lại của cat. #head Xem các dòng đầu tiên của file. #tail Xem các dòng cuối của file. #wc Đếm số dòng, số từ hoặc số byte của file. #nl Đánh số dòng của file. #grep Tìm kiếm nội dung. #updatedb Cập nhật các thay đổi của cơ sở dữ liệu hệ thống. #locate Tìm kiếm file. **Chú ý: #tail -f <filename> để xem log động. Các lệnh xử lý chuỗi
  • 69. Cho biết người dùng đang ở tại thư mục nào: #pwd Chuyển thư mục (change directory): #cd Ví dụ: #cd /etc #cd ~ ( ~: macro tượng trưng cho home directory người dùng) #cd /home/sv #cd .. #cd ../../data Liệt kê danh sách tập tin thư mục. #ls Di chuyển giữa các thư mục
  • 70. cp • cp – copy file #cp file1 file2 #cp file1 dir1 -f : ghi đè. -i : hỏi trước khi ghi đè. -R,-r : copy toàn bộ thư mục. #cp –r dir1 dir2 mkdir , rmdir , touch • mkdir – tạo thư mục. #mkdir –p dir3/dir4 (tham số -p: tạo thư mục cha nếu chưa tồn tại) • rmdir – xóa thư mục rỗng. • touch – tạo file rỗng. $ touch file.txt Tạo xóa tập tin thư mục
  • 71. • mv – di chuyển/ đổi tên. # mv file1 file2 # mv dir1 dir2 • rm – xóa file/ thư mục. # rm file1 file2 # rm –r dir3 tham số -r: xóa cả thư mục và tập tin con. ** Cẩn thận với câu lệnh: #rm -rf Tạo xóa tập tin thư mục
  • 72. • Các dòng dữ liệu chuẩn: stdin 0 stdout 1 stderr 2 Ví dụ: Thực hiện lệnh ls, các thông báo lỗi sẽ xuất ra file error.txt. ls –R / 2>/root/error.txt Dòng dữ liệu chuẩn
  • 73. • Redirection: Chuyển hướng dòng dữ liệu sang nơi khác. • Định hướng: < : nhập. > : xuất, ghi đè. >> : xuất, ghi tiếp theo (append). Ví dụ: • ls –l / > /root/list.txt : liệt kê nội dung thư mục / , kết quả không xuất ra màn hình mà xuất ra file /root/list.txt. Nếu file đã tồn tại sẽ bị ghi đè. • ls –l / >> /root/list.txt: tương tự như trên, nhưng thay vì ghi đè (>) sẽ ghi tiếp vào phần sau của file (>>). Chuyển hướng dòng dữ liệu
  • 74. Kết quả output của một lệnh trước đó -> dữ liệu input của lệnh sau, sử dụng ký tự | Ví dụ: ls –R / | less • Lệnh more cho phép xem nội dung theo từng trang. • Duyệt màn hình với less. Enter: dòng kế tiếp. Spacebar: trang kế tiếp. b: trang trước. q: Thoát. Pipe
  • 75. • cat & tac. • head & tail. • nl & wc. • sort, tr. • grep. Lệnh thao tác chuỗi
  • 76. • cat: Xem nội dung file. Ví dụ: Xem nội dung tập tin /etc/passwd cat /etc/passwd Các tham số: -n : đánh số các dòng output. -b : không tính dòng trống (blank). -A : hiển thị kí tự xuống dòng. • Lệnh tac ngược lại với lệnh cat. Lệnh cat & tac
  • 77. • Lệnh head: Xem các dòng đầu của dữ liệu. Ví dụ: - Xem 4 dòng đầu tập tin /etc/passwd. - Hoặc xem 4 tập tin / thư mục con đầu tiên trong thư mục / ls –l / | head -4 • Lệnh tail: Xem các dòng cuối của dữ liệu. Ví dụ: - Xem 5 dòng cuối của tập tin /etc/passwd. - Xem nội dung tập tin /etc/passwd từ dòng thứ 4 đến hết: tail –lines=+4 /etc/passwd hoặc cat /etc/passwd | tail --lines=+4 • Chú ý: tail có thêm tham số -f để đọc các file động. Lệnh head & tail
  • 78. • Syntax: wc [option] [files] -l : đếm số dòng. -c hay -m : đếm kí tự. -w : đếm số từ. • $ wc -l file1 - đếm số dòng. • $ wc file[123] - đếm 3 file. • $ wc -c file1 - đếm số kí tự. Lệnh nl: đánh số dòng • Ví dụ: ls –l / | nl Xem danh sách các files và có đánh số dòng. Đếm số dòng, số từ, số byte
  • 79. • Syntax tr [options] [[string1 [string2]] tham số : -d xóa, -s : thay thế lặp. $ cat file1 | tr a-z A-Z  thường sang hoa. $ cat file1 | tr -d a  xóa ký tự a. $ tr '[A-B]' '[a-b]'< file.txt  hoa sang thường. $ tr ':' ' ' < /etc/passwd  thay “:” bằng “ “ $ cat file1 | tr -d abc  xóa kí tự abc. [:lower:] chữ thường. [:upper:] chữ hoa. [:alnum:] chữ cái hoặc số. • Chú ý: tr chỉ có 2 đối số. TR – Translate text
  • 80. • Syntax: cut -d<ký tự phân cách> -f<số field> Ví dụ: Có chuỗi input 1;2;3;4;5;6 Cần cắt ra số 5 (trường thứ 5) echo “1;2;3;4;5;6” | cut -d”;” -f5 Cắt chuỗi với cut
  • 81. • Cú pháp: in ra trường thứ n awk -F "<ký tự ngăn cách>" '{ print $n}' • Mặc định ký tự ngăn cách là các khoảng trắng. Ví dụ: Có chuỗi input 1;2;3;4;5;6 Cần cắt ra số 5 (trường thứ 5) echo "1;2;3;4;5;6" | awk -F ";" '{ print $5 }' Cắt chuỗi với awk
  • 82. • Tìm kiếm nội dung. Syntax: grep [OPTION] PATTERN [FILE] -i: Không phân biệt hoa thường. -n: Kèm theo số thứ tự dòng khi xuất. -r: tìm lặp lại trong thư mục con. -v: tìm nghịch đảo. -w: tìm nguyên từ. Ví dụ: grep root /etc/passwd : tìm những dòng có từ root trong file /etc/passwd. ls –l /etc/ | grep conf : tìm những file có cụm từ conf trong thư mục /etc. Grep
  • 83. • [abc]: ký tự a,b hoặc ký tự c. • [a-h]: một ký tự trong khoảng a … h. • [^abc]: không phải a,b,c. • (ab|bc|cd): ab hoặc bc hoặc cd. • ^: đầu 1 dòng. • $: cuối 1 dòng. • .: một ký tự bất kỳ. • Số lần xuất hiện: *: từ 0 đến n lần. +: ít nhất 1 lần. Một số regular expression trong grep
  • 84. find [path] [expression] Tìm file có kiểu txt trong thư mục /. • $ find / -name “*.txt”  Chỉ tìm file. • $ find /usr/local -type f –print  Chỉ tìm thư mục. • $ find /usr/X11R6 -type d  Tìm theo permission. • $ find . -perm 755 -a -type f locate <tên file> Lệnh này phải cài gói mlocate trước đó và phải cập nhật database của hệ thống thường xuyên bằng lệnh. #updatedb Lệnh find
  • 85. Danh sách các lệnh đã thực thi lưu trong “~/.bash_history”. <Up> lệnh kế trước. <Down> lệnh kế sau. history: in ra danh sách các lệnh đa thực thi. #history 1 clear 2 cd / 3 ls !n: thực thi lại dòng lệnh thứ n. !string: thực thi lại dòng lệnh ngay trước đó bắt đầu bằng “string”. Lệnh history
  • 86. Đây gọi là các công việc đang chạy nền. Ví dụ: Để chạy nền một công việc ta thêm & sau lệnh: # mozilla & Bạn có thể xem các công việc đang chạy nền bằng lệnh: # jobs Để chạy ở background ta chạy lệnh. # bg number Để chạy ở foreground ta chạy lệnh. # fg number Điều khiển công việc
  • 87. Các file chứa các biến môi trường: • /etc/profile • ~/.bash_profile • ~/.bash_login • ~/.profile File chứa biến môi trường
  • 88. Biến môi trường #set command #export command #env command #alias command In các biến môi trường dùng lệnh: #printenv
  • 89. • symbolic link • hard link ln – tạo liên kết (link) $ ln –s dir1 firstdir $ ln –f /tmp/test.txt -s : tạo symbolic link -f : xóa file đích Link
  • 90. Các chế độ init Các chế độ init Cú pháp: init <number> • 0: shutdown. • 1: single user mode. • 3: command line mode. • 5: GUI mode. • 6: restart.
  • 91. Soạn thảo văn bản với lệnh vi - vi là một trong những chương trình soạn thảo văn bản phổ biến nhất trong môi trường Linux. - Hoạt động ở giao diện dòng lệnh (command line). - Hỗ trợ nhiều thao tác như: copy, paste, tìm kiếm văn bản, replace…
  • 92. Soạn thảo văn bản với lệnh vi Có 3 chế độ (mode) làm việc chính: -Command mode. -Edit mode. -Last line mode.
  • 93. Các lệnh khi ở command mode
  • 94. Các lệnh lưu trữ file (command mode) :x ghi nội dung bộ đệm ra file và thoát. :w, hoặc :wq ghi nội dung bộ đệm ra file , nếu là soạn thảo văn bản mới, chưa có tên file thì phải dùng tính năng. :wq! [tên file] bên dưới. :q! huỷ (abort) phiên làm việc hiển thị và thoát. :wq! [tên file] ghi nội dung bộ đệm ra file và thoát. Đặc biệt: ![command] thực thi một lệnh ngay tại cửa sổ vi.
  • 95. Các lệnh di chuyển trong command mode
  • 96. Sao chép trong vi • Đánh dấu đoạn cần copy (yank): yy: copy dòng hiện tại. y$: copy đến cuối dòng từ vị trí con trỏ. yw: copy từ vị trí con trỏ đến cuối của 1 từ. 5yy: copy 5 dòng. • Paste: p: paste bên dưới vị trí con trỏ. P: paste bên trên vị trí con trỏ. u: Undo. U: restore line. ^R : (ctrl R) redo. . : lặp lại last command.
  • 97. Tìm kiếm và thay thế trong vi - Tìm kiếm :/pattern tìm theo hướng tới. :?pattern tìm theo hướng lùi. Dùng Phím N hoặc Shift + N để nhảy tìm từ kế. - Thay thế Ví dụ: thay thế Windows bằng Linux trong văn bản: :g/Window/s//Linux/g. :set number : Đánh số các dòng. :set nonumber: bỏ đánh số.
  • 98. Restart & Shutdown • Shutdown: #init 0 Hoặc #shutdown –h now • Restart: #init 6 Hoặc #shutdown –r now #reboot
  • 99. Hỏi & Đáp  Muốn Master Command Line cần tìm hiểu và Master được 2 câu lệnh sed và awk và các kết hợp các lệnh lại với nhau.
  • 100. Chương 4: Quản lý người dùng
  • 101. Các vấn đề thảo luận  Định nghĩa người dùng.  Những file quản lý người dùng.  Các công cụ quản lý người dùng.  Các chính sách về mật khẩu.  Cấu hình mặc định.  Các chính sách mượn quyền.  Qui ước về cấu hình mượn quyền.
  • 102. Định nghĩa người dùng • Users được định nghĩa trong một hệ thống để xác định “ai? được quyền dùng cái gì?” trong hệ thống đó. • Với Linux, mỗi user có một định danh duy nhất, gọi là UID (User ID). 0 – 99: user có quyền quản trị. > 99: user riêng. >= 500: user thường. • Mỗi user thuộc ít nhất một group. • Mỗi group cũng có một định danh duy nhất là GID.
  • 103. Định nghĩa người dùng (tt) •Những file định nghĩa thông tin users: •/etc/passwd: chứa thông tin user login, password mã hóa, UID, GID, home directory, và login shell. Mỗi dòng là thông tin của một user. •/etc/shadow: chứa thông tin password mã hóa, thời gian sử dụng password, thời gian phải thay đổi password… •/etc/group: chứa thông tin group. •/etc/gshadow chứa password của group dưới dạng hash (ít khi dùng đến).
  • 104. /etc/passwd • File /etc/passwd : Mỗi dòng trong file ứng với một người dùng trong hệ thống.
  • 107. Công cụ quản lý người dùng Quản lý bằng command line. #useradd: tạo user. #usermod: chỉnh sửa thông tin user. #userdel: xóa user (tham số -r xóa thư mục home của user). #groupadd: tạo group. #groupdel: xóa group. #groupmod: chỉnh sửa thông tin group. #groups: xem các users của group. Quản lý bằng giao diện đồ họa. Quản lý trực tiếp trên file.
  • 108. Thêm người dùng Danh sách các option có thể được sử dụng để thêm người dùng: #useradd: tạo người dùng. • -u UID Thiết lập user ID cho người dùng mới. • -g GID Thiết lập group ID cho người dùng mới. • -c comment Mô tả người dùng. • -d directory Định nghĩa home directory của người dùng. • -m Tạo home directory. • -k skel_dir Thiết lập thư mục Skel. • -s shell Định nghĩa shell (/bin/bash).
  • 109. Cấu hình mặc định - Khi dùng lệnh useradd không có option kèm theo để tạo user, các thuộc tính của user sẽ được tạo theo các cấu hình mặc định. Những file định nghĩa cấu hình mặc định: • /etc/default/useradd: những giá trị mặc định cho việc tạo account. • /etc/skel: thư mục chứa nội dung mặc định sẽ tạo trong home directory của users. • /etc/login.defs: những cấu hình mặc định cho shadow password. - Nếu muốn thay đổi cấu hình mặc định, thay đổi trực tiếp trong những file này.
  • 110. Chính sách về mật khẩu
  • 111. Chính sách về mật khẩu Mật khẩu của user sẽ được băm (hash) và lưu trong file này. name:password:lastchange:min:max:warn:inactive:expire:flagname. • User login name, mapped to /etc/passwd password. • Encrypted password: - Nếu đây là một trường trắng thì sẽ không có password. - Nếu là “*” là có password. - ”!!” : tài khoản bị khóa … • Lastchange: khoảng cách số ngày từ ngày 1/1/1970 đến ngày thay đổi password cuối cùng. • Min: Số ngày trước khi mật khẩu có thể được thay đổi • Max: Số ngày sau khi mật khẩu phải được thay đổi • Warn: Số ngày sẽ cảnh báo người dùng trước khi mật khẩu hết hạn • Inactive: Số ngày sau khi mật khẩu hết hạn tài khoản người dùng sẽ bị khóa. • Expire: Số ngày tài khoản bị disabled tính từ ngày 1/1/1970 • Flagname: trường sẽ được sử dụng trong tương lai.
  • 112. Thay đổi mật khẩu • Để thay đổi mật khẩu của user ta dùng câu lệnh passwd. #passwd vnlamp Lời khuyên khi chọn password: Not use proper words or names. Use letters and digits. Include symbols: !, @, #, $, %, … Không cho phép các tài khoản “guest” login vào hệ thống.
  • 113. Thay đổi mật khẩu (tt) Thay đổi thời hạn sử dụng. Thay đổi thời hạn password với chage : #chage [options] <user> Options: -m <mindays> Minimum days. -M <maxdays> Maximum days. -d <lastdays> Day last changed. -I <inactive> Inactive lock, sau khi mật khẩu hết hạn bao lâu sẽ lock tài khoản. -E <expiredate> Expiration (YYYY -MM-DD or MM/DD/YY). -W <warndays> Warning days.
  • 114. Bảo mật tài khoản Đặt ngày hết hạn cho những tài khoản tạm thời: # usermod -E 2013-09-22 vnlamp Khóa những tài khoản lâu không dùng đến: # usermod -f 5 vnlamp Để tìm và xóa tất cả các file / thư mục của user nằm ngoài home directory: # find / -user vnlamp -type f -exec rm -f {} ; # find / -user vnlamp -type d -exec rmdir {} ;
  • 115. Thay đổi group cho người dùng Mỗi người dùng thuộc chỉ một primary group và có thể chỉnh bằng lệnh: #usermod -g gvnlamp vnlamp Mỗi người dùng có thể thuộc nhiều secondary groups và có thể chỉnh bằng: #usermod -G gvnlamp vnlamp
  • 117. File /etc/sudoers Những ai được sudo? Việc ai được phép sudo, và khi sudo sẽ được thực thi những quyền hạn nào được qui định trong tập tin /etc/sudoers. Để chỉnh sửa tập tin này, dùng quyền root và thực thi câu lệnh visudo (tương tự lệnh vi, nhưng chuyên để sửa file sudoers vì vị trí file này có thể thay đổi trên các dòng linux khác nhau). Cú pháp file: username/group servername = (usernames to run as) command. Trong đó tham số “usernames to run as” không nhất thiết phải có, nếu tham số này không tồn tại người sudo sẽ chạy với quyền root. Nếu nhiều username hoặc nhiều command, user/command cách nhau bằng dấu “,” (comma).
  • 118. Qui ước - Ở cột đầu tiên, nếu là group sẽ có thêm dấu % trước trên group. - Có thể dùng từ khóa ALL để chỉ tất cả mọi user/server hoặc mọi command (sẽ có ví dụ). - Nếu dữ liệu quá dài, không thể viết trên 1 dòng có thể dùng ký hiệu trước khi xuống dòng. - Nếu file sudoers chỉ dùng trên máy cục bộ, thường cột server sẽ là ALL.
  • 120. Chương 5: Quản lý hệ thống tập tin
  • 121. Các vấn đề thảo luận  Chính sách phân quyền.  Cấu trúc phân quyền.  Người dùng.  Ý nghĩa các ký tự, các quyền.  Các công cụ phân quyền người dùng.  Giá trị mặc định.  Các quyền đặc biệt: UID, GID, Sticky bit.
  • 122. Giới thiệu về chính sách phân quyền • Linux là một hệ điều hành đa người dùng, do đó vấn đề phân quyền truy xuất trên hệ thống file là rất quan trọng. • Để xem được quyền hạn ứng với một file cụ thể, ta có thể dùng lệnh. #ls -las.
  • 123. Cấu trúc phân quyền
  • 124. Cấu trúc phân quyền dạng số
  • 125. Cấu trúc phân quyền dạng số
  • 127. Người dùng Ba loại người dùng ứng với file permission: • User/Owner (u): Người nắm quyền sở hữu file, có thể thay đổi bằng lệnh chown. • Group users (g): Những người dùng nằm trong group sở hữu user. • Others (o): Những người dùng còn lại.
  • 128. Ý nghĩa các quyền • Các từ viết tắt r,w,x; giá trị - tượng trưng cho không có quyền hạn tại vị trí đó. - Ví dụ: r-x là không có quyền w.
  • 129. Ý nghĩa các ký tự Chữ cái đầu tiên là: d: thư mục; -: tập tin; s: socket; l: link; Ngoài ra còn có các ký tự đặc biệt khác.
  • 130. Ý nghĩa các quyền • Quyền hạn ngoài việc được thể hiện bằng chuỗi ký tự rwx, còn có thể được ký hiệu bằng số (777). • Toàn bộ quyền truy xuất được chia thành 3 nhóm ứng với 3 loại người dùng. Mỗi nhóm được viết thành một số.
  • 131. Lệnh chmod #chmod • Để thay đổi quyền hạn trên file, ta sử dụng lệnh chmod, cú pháp: chmod [mode] filename • Ghi chú: chỉ có superuser (các user quản trị) hoặc user sở hữu tập tin /<thư mục> mới có thể chmod cho tập tin /<thư mục>. • Lệnh chmod có thể hoạt động ở cả dạng chuỗi (rwx) lẫn cả dạng số (764).
  • 132. Lệnh chmod #chmod chmod gồm có 3 phần. Phần đầu chỉ nhóm người dùng, phần sau là toán tử, cuối cùng là quyền hạn.
  • 133. Quyền mặc định • Quyền mặc định ban đầu (initial default permission) là quyền được tự động set cho file /directory khi chúng được tạo ra. • Quyền mặc định của một tập tin là 666 (rwrw-rw-). • Quyền mặc định của một thư mục là 777 (rwx rwx rwx). UMASK: • Có thể thay đổi quyền mặc định của tập tin / thư mục bằng cách thay đổi giá trị biến umask. • Giá trị umask gồm 4 số bát phân. • Giá trị mặc định của umask là 0022 hoặc 0002. • umask hoạt động tương tự một bộ lọc. • Khi tính giá trị default permission cho một file, thư mục mới tạo ra hệ thống sẽ lấy (initial default permission) AND ( NOT umask).
  • 134. chown Lệnh chown • Sử dụng lệnh chown để đổi quyền sở hữu tập tin, thư mục cho người dùng khác. • Ví dụ đổi quyền sở hữu tập tin data.txt cho user vnlamp: #chown vnlamp data.txt • Đổi quyền sở hữu tập tin data.txt cho user vnlamp và group gvnlamp #chown vnlamp:gvnlamp data.txt
  • 135. chgrp Lệnh chgrp: • Chuyển quyền sở hữu tập tin cho group khác (phần owner giữ nguyên). Ví dụ: #chgrp gvnlamp data.txt => Chuyển group sở hữu tập tin data.txt từ bất kỳ group nào sang cho group linux.
  • 136. Thay đổi Umask • Xem giá trị umask: $ umask 0022 • Đổi giá trị umask sang 027 $umask 027 Chỉnh trong /etc/profile hoặc /etc/bashrc, thêm dòng umask 022 umask cho tất cả các user.
  • 137. Các quyền đặc biệt - Các quyền đặc biệt cho các tập tin thực thi và các thư mục dùng chung. • Set user ID: suid • Set group ID: sgid • Sticky bit
  • 138. SUID Set User ID • Khi user thực thi một file, user có thể “mượn” quyền của user làm chủ file đó để thực thi. Ví dụ: user vnlamp thực thi một file do user root làm chủ, trong quá trình thực thi chương trình “mượn” tạm quyền của root để làm việc. • Khi file được set “set user id” thì sẽ hiện ký tự: s tại mục quyền hạn execute (thay cho ký tự x) của owner. Nếu file chỉ có quyền “set user id” mà không có quyền executeký tự s sẽ chuyển thành S (viết hoa).
  • 139. Set UID Set User ID • Root và owner có thể set suid bằng câu lệnh chmod, với giá trị 4000 hoặc ký tự s: Ví dụ: # chmod 4755 <executable_file> # chmod u+s <executable_file>
  • 140. SGID Set Group ID • Tương tự như suid, file nếu có quyền sgid khi user khác thực thi file này sẽ “mượn” tạm quyền hạn của group quản lý file đó. • File có quyền sgid sẽ thể hiện ký tự “s” ở quyền execute của group. Nếu group không có quyền execute, ký tự S sẽ viết hoa.
  • 141. Sticky bit Sticky Bit Permission • Dùng để bảo vệ tập tin trong các thư mục public. Khi một thư mục được set sticky bit: - Chỉ có owner hoặc root được phép xóa files/rename trong thư mục. - Các user khác vẫn có quyền tạo/ ghi file nhưng không được phép xóa/rename. - Sticky bit thể hiện qua ký tự “t” ở phần quyền execute của others, nếu others không có quyền x, ký tự T sẽ viết hoa. Set sticky bit:
  • 143. Chương 6: Quản lý ổ cứng
  • 144. Các vấn đề thảo luận  Hiểu về hệ thống tập tin.  Các kiểu hệ thống tập tin.  Qui ước đặt tên đĩa.  Qui ước đặt tên phân vùng.  Các công cụ thao tác phân vùng.  File /etc/fstab  Quản lý quotas
  • 145. Hiểu về hệ thống tập tin Hệ thống tập tin: định nghĩa cấu trúc của một phân vùng ổ đĩa. Superblock: chứa các thông tin về hệ thống tập tin Loại hệ thống tập tin: - Kích thước. - Trạng thái. - Các thông tin khác (inode tables, metadata). Nếu superblock gặp vấn đề, hệ thống tập tin đó sẽ không sử dụng được.
  • 146. Hiểu về hệ thống tập tin Trên mỗi loại hệ thống tập tin sẽ lưu một hệ thống kiến trúc inodes khác nhau. Mỗi inode bao gồm tất cả những thông tin về một file ngoại trừ tên file: - Type. - Ownership and associated group. - Permissions. -Time stamps: mtime (modification time), ctime (inode change time), atime (access time). - Link (hard) count. - Pointers to direct and indirect data blocks (where the contents are stored).
  • 147. Các kiểu hệ thống tập tin - ext2. - ext3. - ext4. - NTFS. - msdos: FAT16, FAT32 - vfat: FAT - iso9660: cdrom. - nfs: remote servers, hệ thống lưu trữ phân tán. - swap. - xfs, bfs, hfs, cdfs.
  • 148. Qui ước đặt tên đĩa IDE hard disks:  /dev/hda Primary master IDE (often the hard disk)  /dev/hdb Primary slave IDE  /dev/hdc Secondary master IDE (often a CD-ROM)  /dev/hdd Secondary slave IDE
  • 149. Qui ước đặt tên đĩa SCSI  /dev/sda Đĩa SCSI đầu tiên  /dev/sdb Đĩa SCSI thứ 2  /dev/sdc Đĩa SCSI thứ 3
  • 150. Qui ước đặt tên phân vùng  Primary partitions: Chứa filesystem. Nếu tất cả 4 primary partition tồn tại trông một đĩa IDE, các partition được đánh số như sau: /dev/hda1. /dev/hda2. /dev/hda3. /dev/hda4. Một trong các primary partition này có thể được đánh dấu là acvite và được BIOS lựa chọn để boot.  Extended partitions: Chứa các logical partition. Chỉ có một extended partition /dev/hda1 (primary). /dev/hda2 (extended).
  • 151. Qui ước đặt tên phân vùng • Logical partition Logical partitions được đánh số từ 5 đến 16. Các partition với một primary, 1 extended và 4 logical được đánh số như sau: /dev/hda1 (primary). /dev/hda2 (extended). /dev/hda5 (logical). /dev/hda6 (logical). /dev/hda7 (logical). /dev/hda8 (logical).
  • 152. Xem thông tin ổ đĩa Xem thông tin tình trạng sử dụng: #df –k
  • 153. Liệt kê các phân vùng
  • 154. Chia phân vùng • Cú pháp: fdisk [device] Ví dụ: fdisk /dev/sdb
  • 155. Các option của fdisk CÁC OPTIONS: Các lệnh thường gặp: n: thêm partition, người dùng sẽ được yêu cầu chọn loại partition. (primary, extended), cylinder bắt đầu, cyclinder kết thúc (có thể chọn kích theo kích thước, ví dụ +300M). Mặc định partition được tạo dạng ext2, có thể dùng lệnh t để đổi kiểu partition. l: list danh sách các partition hiện có trong hệ thống. p: xem danh sách các partion đang chỉnh sửa nhưng chưa lưu trữ lại. t: đổi type của partition. q: thoát, không lưu. w: write, lưu lại các thay đổi. m: help.
  • 156. mkfs Sau khi tạo ra các partition, ta cần “make file system” trên các paritition này (có thể xem tương tự như việc format các partition). Cú pháp: mkfs [-t fstype] [fs_options] device
  • 157. Các option của mkfs CÁC OPTIONS CHÍNH -c Check bad sectors. -L label Đặt label cho các partition (ext2). -n label Đặt label cho các partiontion DOS (11 ký tự). -q Sử dụng mkfs ở chế độ quiet, kết quả là không xuất output. -v Used to enter verbose mode (xuất tất cả mọi thông tin output).
  • 158. Tạo swap TẠO SWAP PARTITION #mkswap <device>. Ví dụ: #mkswap /dev/sda5.
  • 159. Xem thông tin đĩa DISK SPACE: #df [options] <device> Các options: -h Hiển thị các thông tin theo dạng dễ đọc cho người dùng. (M: Megabyte, G: Gigabyte). -I Hiển thị thông tin inode thay cho thông tin về free space.
  • 160. Xem tình trạng sử dụng đĩa #du [options] [directories] Các options chính: -a: all files, không chỉ đơn thuần là thư mục. -c: in thống kê total của tất cả items. -h: in dạng dễ đọc đối với người dùng (M:megabytes, G:gigabytes). -s: summary mỗi directory. -S: không thống kê thư mục con.
  • 161. Kiểm tra và sửa lỗi fsck [options] [-t type] [fs-options] filesystems -A: check tất cả các file system trong file /etc/fstab. -t : qui định type, mặc định là ext2. -c : check bad blocks. -f: force to check. -p: automatically repair. -y: answers “yes” cho mọi câu hỏi.
  • 162. Kết buộc phân vùng  Trong Linux không tồn tại khái niệm đĩa “C”, đĩa “D” như trong Windows.  Mỗi partition sẽ được ánh xạ, hay còn gọi là kết buộc (mount) thành một thư mục nào đó bên dưới cây thư mục gốc (/).  Câu lệnh để thực thi công việc này là mount.
  • 163. mount –t <fstype> -o <option> <device> <mount_point> umount <mount_point> or umount <device> Examples: #mount –t vfat /dev/hdb1 /tmp/usb #mount –t iso9660 /media/cdrom /mnt/cdrom #umount –f /tmp/usb #umount –f /media/cdrom Lưu ý: Khi có một terminal đang đứng ở vị trí muốn umount mà chạy lệnh umount thì hệ thống sẽ báo “device busy”. Câu lệnh mount & umount
  • 164. Mount Cú pháp: mount [command_line_options] [device] [directory] Một số options chính: -a: tự động mount các mục trong /etc/fstab. -t: file system type. -o: mount options. -r: mount as read only. -w: mount in read/write mode. -h: help. -v: verbose.
  • 165. Mount Giả sử ta có đĩa usb có dạng FAT32 nằm tại /dev/sdb1, cần kết buộc ổ đĩa này thành thư mục /mnt/USB ta thực thi các bước sau: #mkdir /mnt/usb (nếu chưa tồn tại) #mount –t vfat /dev/sdb1 /mnt/usb Kể từ thời điểm đó, mọi thao tác đọc/ghi vào thư mục /mnt/usb tương ứng với đọc/ghi vào ổ đĩa usb.
  • 166. umount một partition Cú pháp: umount <device> umount <mount point> Ví dụ: umount /dev/sdb1 umount /mnt/USB Umount
  • 167. Mỗi dòng tương ứng với một partition sẽ được mount, mỗi dòng gồm nhiều trường. Cột 1: device mount tên partition được mount. Cột 2: mount_point tên thư mục sẽ mount. Cột 3: File system type (ext2, ext3, ext4, vfat, msdos, iso9660, nfs, swap, auto). Cột 4: Option mỗi options cách nhau bởi dấu “,” defaults gồm: rw, suid, dev, exec, auto, nouser, async. Cột 5: Dump partition có backup filesystem hay không ? Với kiểu ext2,ext3 thường là 1, các kiểu còn lại là 0. Cột 6: Check file system (0 bỏ qua, ≠0 check nhỏ hơn ưu tiên, trường hợp bằng thì ưu tiên hàng trên) nếu là 1, partition sẽ được kiểm tra khi thực thi lệnh fsck –A. file /etc/fstab
  • 168. MOUNT OPTIONS - ro: read only. - rw: read write. - user: cho phép user thông thường được phép mount, nhưng chỉ có những super user mới được umountusers, cho phép mọi user mount và umount. - auto: tự động mount khi gõ mount -a. - exec: cho phép thực thi chương trình trong partition này. - defaults: gồm rw , suid, dev, exec, auto, nouser, and async. Mount options trong fstab
  • 169. Khi thêm vào file fstab thì reboot lại hệ thống mới đọc những dòng mới. Lệnh cho hệ thống đọc file fstab: #mount –a Chú ý: Fstab là file quan trọng của hệ thống khi chỉnh bất cứ gì phải đảm bảo đúng cú pháp. Thông thường để mount vĩnh viễn thiết bị tránh rủi ro ta nên thêm dòng lệnh mount vào file /etc/rc.local thay vì /etc/fstab #vi /etc/rc.local Thêm câu lệnh mount vào mount /dev/sda1 /mnt file /etc/fstab
  • 170. Quota là một công cụ cho phép giới hạn sử dụng file system của hệ thống trên linux. Các bước cấu hình: Bước 1: Dùng lệnh sau để xem các partition có trong hệ thống: #fdisk –l Ở đây ví dụ là /dev/sda1 Bước 2: Tạo thư mục dùng làm mount point để ánh xạ /dev/sda1 vào hệ thống tập tin của linux: #mkdir /tmp/quota_sda1 Quản lý quotas
  • 171. Bước 3: Cấu hình file /etc/fstab để mount partition sda1 ánh xạ vào mount point vừa tạo: /dev/sda1 /tmp/quota_sda1 ext3 defaults,usrquota,grpquota 0 2 Bước 4: Dùng lệnh sau để đọc lại file fstab mới vừa thêm: #mount –a Doc fstab #mount –o remount /dev/sda1 Bước 5: Sử dụng lệnh quotacheck để tạo user hoặc group chạy dịch vụ quota #quotacheck –auvgmf Quản lý quotas
  • 172. Kiểm tra thấy có 2 file quyền 600 là aquota.group và aquota.user trong /tmp/quota_sda1 Bước 6: Bật chức năng quota của hệ thống: #quotaon –a (Tắt: quotaoff –a, Bật cho 1 user: quotaon –u <user>) Bước 7: Thiết lập quota cho user: #edquota –u vnlamp Thiết lập: Soft: 10 Hard: 20 Soft limit: Cho phép sử dụng quá dung lượng này trong khoảng “grade periods” Hard limit: Dung lượng tối đa có thể sử dụng (Các thông số trên tính bằng KB) Quản lý quotas
  • 174. Chương 7: Quản lý boot loader
  • 175. Các vấn đề thảo luận  Quá trình khởi động Linux  Boot loader (boot manager)  Boot loader GRUB  Boot loader LILO  Kernel image và initrd  Tiến trình init và file inittab  Tiến trình rc.sysinit  /etc/rc.d/rc script
  • 176. Quá trình khởi động của Linux
  • 177. • BIOS/ POST • MBR (lilo hoặc grub): cho phép lựa chọn hệ điều hành boot. • Kernel + initrd: load kernel và kiểm tra phần cứng. • Mount root file system (read only) • /sbin/init: tiến trình cha của mọi tiến trình. • /etc/inittab: quyết định run level và gọi start các dịch vụ cần thiết của run level đó. • Hiển thị đồ họa nếu ở runlevel 5. Quá trình khởi động của Linux
  • 178. Boot loader hay còn gọi là boot manager cho phép quản lý nhiều hệ điều hành, chọn boot vào hệ điều hành nào. Hai boot loader phổ biến của Linux: • LILO (LInux LOader) • GRUB (GRand Unified Boot loader) • Khi thay đổi file cấu hình, GRUB tự động nhận biết, LILO thì phải dùng lệnh /sbin/lilo để update cấuhình. • Ngày nay, GRUB là boot loader mặc định của đại đa số các hệ điểu hành Linux. Boot Loader
  • 179. • File cấu hình grub.conf: default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Linux Fedora (2.6.5-1.358smp) root (hd0,0) kernel /vmlinuz-2.6.5-1.358smp ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.5-1.358smp.img title Windows server 2003 rootnoverify (hd0,1) chainloader +1 Boot Loader GRUB
  • 180. • Cách phân biệt partition trong boot loader GRUB khác với cách thông thường của Linux. • GRUB không phân biệt IDE, và SCSI. đĩa cứng được hiểu là: hd%d. • %d: là số nguyên, bắt đầu từ zero để chỉ partition đầu tiên. • LILO có cách hiểu thông thường như Linux: hdXY , sdXY. Boot Loader GRUB (tt)
  • 181. • Một số lệnh của grub: sử dụng trong mode grub, hoặc trong file grub.conf Boot Loader GRUB (tt)
  • 182. • File cấu hình lilo.conf: boot=/dev/hda prompt timeout=10 image=/boot/vmlinuz-2.6.5-1.358smp label=Linux Fedora (2.6.5-1.358smp) root=/dev/hda1 read-only other = /dev/hda2 label=Windows server 2003 table=/dev/hda Boot Loader LILO
  • 183. Để cài đặt LILO làm boot loader, dùng lệnh: • /sbin/lilo – yêu cầu phải có file lilo.conf • Gỡ bỏ boot loader LILO, dùng lệnh: • /sbin/lilo –u • Tìm hiểu lệnh lilo: • man lilo • Tìm hiểu file cấu hình boot loader lilo: • man lilo.conf Boot Loader LILO (tt)
  • 184. • Kernel image là hình ảnh nhỏ nhất của kernel được nén thành file vmlinuz-version.tar.gz. • Kernel image chứa những thành phần quan trọng cần thiết đầu tiên để boot máy tính. • initrd – initial ram disk: được sử dụng để detect phần cứng và load driver. • Đồng thời mount file systems dạng read-only để tiến hành kiểm tra. Kernel image và initrd
  • 185. • Tiến trình init là cha của mọi tiến trình. • Tiến trình init sẽ tìm đọc file /etc/inittab để quyết định runlevel nào sẽ được boot. • Mỗi dòng trong /etc/inittab có dạng như sau: Tiến trình init và file inittab
  • 187. • Tiến trình rc.sysinit thực thi những nhiệm vụ sau: • thiết lập hostname của máy tính và detect môi trường network. • Mount /proc file system. • Thiết lập các tham số của kernel. • Thiết lập giờ hệ thống, fonts. • Khởi tạo phân vùng swap. • Check file system và mount lại ở mode read-write. • Load những module cần thiết. Tiến trình rc.sysinit
  • 188. /• Thực thi tất cả script liên quan đến run level đó. • Vd: nếu runlevel là 5, sẽ gọi thực thi các script trong /etc/rc.d/rc5.d • Các script này là file symbolic link, link đến các script thật sự, thường chứa trong /etc/init.d etc/rc.d/rc script
  • 189. • Những script có bắt đầu bằng S, hệ thống sẽ gọi chạy lệnh: /etc/rc.d/init.d/<command> start. • Những script bắt đầu bằng K, hệ thống sẽ gọi chạy lệnh: /etc/rc.d/init.d<command> stop. /etc/rc.d /rc script (tt)
  • 191. Chương 8: Quản lý tiến trình và các dịch vụ cơ sở
  • 192. Các vấn đề thảo luận  Chương trình và tiến trình  Priority  Phân loại process  Foreground & background process  Các câu lệnh xem thông tin process  Quản lý công việc  Runlevel  Quản lý dịch vụ
  • 193. • Một Chương trình là một file thực thi trong hệ thống, ví dụ /sbin/shutdown, /sbin/init. • Process là một instance của một program đang thực thi (ví dụ khi ta chạy cùng lúc nhiều của sổ Word, mỗi cửa sổ là một instance của ứng dụng Word). Process đôi khi còn được gọi là task. • Kernel của hệ điều hành Linux cho phép nhiều process cùng thực thi tại 1 thời điểm, chia sẻ chung tài nguyên CPU của hệ thống. Chương trình và tiến trình
  • 194. • Mỗi process có một độ ưu tiên (priority) ứng với nó. • Priority quyết định process đó sẽ được sử dụng nhiều hay ít tài nguyên CPU hơn so với các process khác. • Có thể điều chỉnh thông số priority qua câu lệnh: nice và renice priority
  • 195. Có 5 loại process trong một hệ thống Linux • Daemon • Parent • Child • Orphan • Zombie or defunct Phân loại process
  • 196. • Daemon là các process quan trọng, thường đảm nhận chức năng hệ thống (system functions). • Các daemon process thường không gắn với một terminal cụ thể (không truy xuất qua bàn phím, màn hình), mà thường là các process chạy ngầm bên dưới hệ thống. Khi sử dụng câu lệnh ps sẽ thấy ký hiệu ? tại trường TTY. • Daemons thường lắng nghe một sự kiện cụ thể(signal, data input from network, time out…). Khi sự kiện xảy ra, daemon process sẽ xử lý, phục vụ sự kiện sau đó lại trở lại trạng thái sleep. Daemons
  • 197. • Zombie process là những process đã hoàn tất nhưng vẫn còn lưu entry trong bảng process table. • Orphan process là process mà process cha đã hoàn thành và kết thúc nhưng nó vẫn còn chạy. Zombie, Orphan
  • 198. • Mỗi một process có một mã process, gọi là process ID (PID) • Ngoài ra, giống như một file, mỗi process còn có khái niệm owner và group: tượng trưng bởi UID và GID để tượng trưng có các quyền hạn truy cập của process trong hệ thống. • Các process còn có các process cha, tượng trưng bởi Parent process ID. Các đặc tính của process
  • 199. • Foreground process: Các process có tương tác với người dùng ( có input, output, GUI….) • Ví dụ: ls –l /etc Background process: Các process chạy nền, không tương tác với người dùng. • Ví dụ : Service httpd start Foreground & background process
  • 200. • ps • pstree • top Các câu lệnh xem thông tin process
  • 201. • Xem thông tin các process đang thực thi trong hệ thống • Cú pháp ps [options] • -l thể hiện dưới dạng long list • -w thể hiện dưới dạng wide output • -x Xem cả các process không gắn với terminal (daemon) • -a process của các user khác • -U user xem process của một user cụ thể ps
  • 202. • Ví dụ ps ps -aux ps -aux | grep httpd ps -ef ps
  • 203. ps
  • 204. • Xem danh sách các process theo dạng cây, từ parent đến các children. • Tham số: -p: in cả process ID. pstree
  • 205. • Có tính năng tương tự như ps nhưng danh sách các process được refresh liên tục (tương tự task manager trong windows). • Các thông số về CPU , Ram usage cũng được thể hiện và update. • Tham số thường dùng: -d delay: khoảng thời gian refresh giữa 2 lần. -n number: chạy number lần và ngưng. top
  • 206. top
  • 207. top
  • 208. top
  • 209. top
  • 211. • Mỗi process có một priority, tượng trưng bởi số nice number từ -20 -> +19 • -20: highest • +19: lowest • Một process được khởi động bởi user thường có giá trị nice = 0 nice number
  • 212. Cú pháp: nice [–n number] [command] Câu lệnh nice dùng để thay đổi nice number của các process tại thời điểm start time. User thông thường có thể đặt các giá trị nice từ 0 đến 19, user quản trị (super user) có thể đặt giá trị nice từ -20 đến 19. Nếu số number không được nhập trong lệnh nice, số mặc định sẽ là +10. • Lệnh nice không có tham số -n và command sẽ in giá trị nice number mặc định của hệ thống. nice
  • 213. Ví dụ: • nice –n -10 vi /root/data.txt • nice –n -15 find / -name *.txt • nice --10 ls –R / (number =-10) nice
  • 214. • &: Cho một job hoạt động ở background. Ví dụ: # ls –l –R / > /root/list.txt & Ứng dụng ls sẽ chạy nền bên dưới. Can thiệp vào hoạt động
  • 215. • Ctrl C: Ngưng job đang thực thi. • Ctrl Z: Tạm ngừng job đang thực thi. Sau khi ấn Ctrl Z ta có thể dùng 2 câu lệnh: • bg: tiếp tục job vừa ngừng ở trạng thái background. • fg: tiếp tục job vừa ngừng ở trạng thái foreground. Ngưng và tạm ngưng công việc
  • 216. • Kiểm tra BIOS, thực hiện POST. • Tìm load boot loader ( giả sử GRUB) – GRUB đọc file /boot/grub/grub.conf để chọn hệ điều hành khởi động. • Load kernel, chạy /sbin/init (cha của mọi tiến trình trong Linux) để kiểm tra hệ thống tập tin, chạy một số chương trình giúp hệ điều hành hoạt động bình thường. Quản lý khởi động
  • 217. • Đọc file /etc/inittab xác định runlevel. • Dựa vào runlevel được chạy , tiến trình init thực thi các script đặt trong các thưc mục /etc/rc.d. Run level
  • 218. • S: tập tin chạy khi khởi động. • K: tập tin chạy khi shutdown. • Thứ tự chạy từ lớn ->bé. • Thường các chương trình khởi động được đặt trong /etc/init.d và đặt symbolic link (pointer) trong /etc/rc.d Run level
  • 219. • Runlevel khởi động mặc định được định nghĩa ở /etc/inittab. • Lưu ý: - Hầu hết người dùng bình thường sử dụng level 5 ( GUI như Windows). - Sử dụng command line : level 3. - Không được set là 6 (khởi động lại máy tính) hoặc 0 ( máy không khởi động được ). - Từ command line chuyển sang GUI sử dụng: startx hoặc init 5. /etc/inittab
  • 220. • Tắt máy: init 0 hoặc shutdown. • Khởi động lại: init6 hoặc reboot. /etc/inittab
  • 221. • Start/Stop/Restart daemon: Nếu script khởi động tồn tại trong /etc/init.d thì daemon có thể khởi động bằng cách: Hoặc: Start|stop|restart dịch vụ
  • 222. • Quản lí các tiến trình trên Linux. • Thường dùng để bật tắt các chương trình chạy khi hệ điều hành khởi động. • Liệt kê trạng thái cấu hình các dịch vụ. chkconfig
  • 223. • Bật một chương trình khởi động cùng hệ điều hành: • Hoặc: • Tắt: chkconfig
  • 225. Quản lý các dịch vụ cơ sở
  • 226. Các vấn đề thảo luận  Dịch vụ syslogd  Dịch vụ crond  Dịch vụ xinetd
  • 227.  Người quản trị có nhu cầu thường xuyên theo dõi các sự kiện xảy ra trong hệ thống.  Khi có sự cố, người quản trị có nhu cầu tìm lại các sự kiện xảy ra trước thời điểm đó trong hệ thống.  Một hệ thống luôn có nhu cầu cần lưu log.  Có thể lưu log cục bộ, hoặc lưu log tập trung. Dịch vụ syslogd
  • 228.  Log trong hệ thống được syslog được mô tả như sau: facility: cho biết ứng dụng nào phát sinh ra thông điệp.  syslog định nghĩa các facility có sẵn: authpriv , cron, daemon, kern, lpr , mail, mark, news, syslog, user, uucp.  syslog dành facility từ local0 -> local7 cho người dùng định nghĩa.  level: mức độ nghiêm trọng của thông điệp. debug < info < notice < warn < err < crit, alert < emerg  action: Thông điệp sẽ được xử lí như thế nào? Lưu hay không, lưu ở đâu? Dịch vụ syslogd
  • 229. Tập tin cấu hình: /etc/rsyslog.conf Dịch vụ syslogd
  • 230. Tập tin cấu hình: /etc/rsyslog.conf Dịch vụ syslogd
  • 231.  Khởi động lại dịch vụ khi thay đổi rsyslog.conf service rsyslog restart  Xem những dòng mới của file log tail -f /var/log/messages  Có khả năng lưu các log vào các máy ở xa Dịch vụ syslogd
  • 232. Logrorate: tiện ích để quản lí các log, tránh trường hợp ghi log quá nhiều dẫn đến cạn kiệt dung lượng ổ cứng. Các tập tin cấu hình:  /etc/logrotate.conf: định nghĩa các option dùng chung cho việc quản lí log.  /etc/logrotate.d/: cấu hình cho phép mỗi dịch vụ có thể định nghĩa cách thức quản lí log riêng phù hợp với dịch vụ đó . Kích hoạt lại logrorate: [root@vnlamp tmp]# logrotate –f <configure file> Dịch vụ syslogd - logrotate
  • 233. Một số tham số thường dùng  Compress/nocompress : nén/không nén những file log đã sử dụng create mode owner group: tạo file log mới có thuộc tính (mode, owner group).  Nocreate: không tạo file log mới.  mail address: khi hết chu kỳ sử dụng file log sẽ được gửi tới địa chỉ (address).  daily: chu kỳ sử dụng file log theo ngày  weekly: chu kỳ sử dụng file log theo tuần.  monthly: chu kỳ sử dụng file log theo tháng.  rotate count: xác định số lần luân phiên sử dụng file log.  size size: chu kỳ sử dụng file log được xác định theo kích thước.  Include /etc/logrotate.d: đọc thêm các thông tin cấu hình tại các file trong thư mục /etc/logrotate. Các tham số khai báo ở các file này có độ ưu tiên cao hơn các tham số khai báo trong file /etc/logrotate.conf. Dịch vụ syslogd - logrotate
  • 234.  Cron là một tiện ích cho phép thực hiện các tác vụ (các lệnh, các script) một cách tự động theo định kỳ, ở chế độ nền của hệ thống.  Thêm các script của job vào các thư mục /etc/cron.hourly, /etc/cron.daily,…để lên lịch chạy các job  Crontab (CRON TABle) là một file chứa đựng bảng biểu (schedule) của các entries được chạy.  Một cron schedule đơn giản là một text file. Mỗi người dùng có một cron schedule riêng, file này thường nằm ở /var/spool/cron. Crontab
  • 235. #vi /var/spool/cron/<user> Các giá trị: Cột 1: Minutes: 059. Cột 2: Hours: 023. Cột 3: Day of the month: 131. Cột 4: Month: 112. Cột 5: Weekday: 0: Sunday. Cột 6: Command (đường dẫn tuyệt đối). Crontab
  • 236. Crontab là công cụ dùng để lập lịch chạy một command hoặc một ứng dụng nào đó. Thiết lập crontab: Chạy lệnh sau trên user nào thì sẽ thiết lập crontab cho user đó #crontab –e Hoặc: #vi /var/spool/cron/<tên user> List crontab: #crontab –l Remove crontab: #crontab -r Crontab
  • 237.  Xinetd daemon (viết tắt của eXtended InterNET Daemon) là một TCP wrapped super service, để kiểm soát truy cập một tập con những dịch vụ mạng thông dụng như: FTP, IMAP và Telnet…  Cung cấp những tuỳ chọn cấu hình xác định để kiểm soát truy cập, logging, binding, redirection và kiểm soát sử dụng tài nguyên..  Xinetd cung cấp những tính năng nổi trội: - Khả năng điều khiển truy cập - Khả năng ngăn cản kiểu tấn công từ chối dịch vụ - Khả năng log đa dạng hơn - Khả năng giới hạn lượng process phục vụ dịch vụ. - Khả năng tương tác người dùng. xinetd
  • 238. xinetd
  • 239. Cấu hình xinetd:  /etc/xinetd.conf: định nghĩa một số option chung cho các dịch vụ sử dụng xinetd.  /etc/xinetd.d/: mỗi dịch vụ có một file cấu hình, định nghĩa cụ thể cấu hình của dịch vụ đó khi sử dụng xinetd. xinetd
  • 240.  log_type: SYSLOG authpriv: chỉ định đầu ra của service log. Bạn có thể gửi nó đến SYSLOG.  log_on_success: Cấu hình cho việc log nếu kết nối thành công. HOST name và Process ID sẽ được log vào /var/log/secure.  log_on_failure: cấu hình cho việc log khi kết nối bị dropped hoặc không được phép truy cập /var/log/secure.  cps: giới hạn tỷ lệ các kết nối. Tham số đầu tiên: là giới hạn số lượng kết nối trong 1s. Nếu tỷ lệ các kết nối cao hơn giá trị này, dịch vụ sẽ tạm thời bị disabled.  Tham số thứ 2: thời gian chờ (tính bằng s) để enable lại dịch vụ sau khi nó bị disabled. Giá trị mặc định là 50 connections và thời gian nghỉ là 10s instances: số lượng lớn nhất các requests mà xinetd có thể handle tại một thời điểm.  per_source: giới hạn số lượng kết nối cho mỗi địa chỉ nguồn.  includedir: đọc các file cấu hình cho các dịch vụ khác nằm trong thư mục /etc/xinetd.d. xinetd
  • 242. Trước khi cho phép xử lí request, xinetd có thể kiểm tra sự hợp lệ của IP request bằng những file sau:  /etc/hosts.allow: những host trong file này được chấp nhận.  /etc/hosts.deny: những host trong file này bị discard request. xinetd
  • 244. Chương 9: Cài đặt phần mềm
  • 245. Các vấn đề thảo luận  Cài đặt phần mềm trên CentOS  Cài bằng mã nguồn đã được biên dịch (RPM)  Cài bằng mã nguồn chương trình  Cài đặt qua Internet
  • 246.  Phần mềm trên Linux (còn được gọi là gói – package) được cung cấp dưới 2 dạng: - đã được biên dịch (binary).  Với dạng binary thì ta chỉ cần dùng các tool hỗ trợ trên phiên bản Linux đang dùng để cài đặt trực tiếp. - mã nguồn.  Mã nguồn chương trình thường được xuất bản dưới dạng nén tar.gz.  Đối với dạng này thì ta cần một trình biên dịch để dịch chương trình, sau đó mới cài đặt. Phần mềm trên các distro như Redhat, CentOS, Fedora được đưa ra dưới dạng RedHat Package Manager (RPM). Các distro phổ biến khác như Debian, Ubuntu, Mint dùng định dạng DEB (Debian Package format). Giới thiệu cài đặt phần mềm
  • 247.  RPM: Để cài đặt gói với rpm, trước hết cần phải có file rpm của gói trên đĩa cứng hoặc đường dẫn URL đến file rpm trên Internet. Một số option chính hay dùng -i Cài đặt (Install). -U Nâng cấp (Upgrade). -e Gỡ bỏ(Erase). -h Hiển thị trạng thái cài đặt gói dưới các dấu # (Hash). -q Truy vấn thông tin gói (Query). Cài đặt mã nguồn đã được biên dịch
  • 248.  RPM: Cài đặt(-i) một gói mới: # rpm -i samba-3.0.25b-1.el5_1.4 .i386.rpm Upgrade(-U) package: # rpm -U samba-3.0.25b-1.el5_1.4 .i386.rpm Update(-F) package: # rpm -F samba-3.0.25b-1.el5_1.4 .i386.rpm Force the installation # rpm -ivh --force --nodeps packagename.rpm Cài đặt mã nguồn đã được biên dịch
  • 249.  RPM: Truy vấn gói phần mềm: rpm -q [options] -qa — Lists all installed packages. -qf file — Lists the package that owns file. -qi package — Lists lots of information about a package. -qR package — Lists components that package depends on. -ql package — Lists all the files contained in package. -qd package — Lists all documentation files that come in package. -qc package — Lists all configuration files that come in package. Cài đặt mã nguồn đã được biên dịch
  • 250. Liệt kê tất cả các gói: # rpm -qa Lọc chỉ xem các gói liên quan đến samba # rpm -qa | grep -i ‘samba‘ Nếu muốn xem tất cả các gói theo từng trang: # rpm -qa | more # rpm -qi samba # rpm -ql samba # rpm -qilp samba-3.0.25b-1.el5_1.4 .i386.rpm | more Cài đặt mã nguồn đã được biên dịch
  • 251. Gỡ bỏ một gói phần mềm: rpm -e packagename #rpm –e samba Cài đặt mã nguồn đã được biên dịch
  • 252. Bước 1: Download gói và giải nén (Thông thường dạng tar.gz). Bước 2: Đọc tài liệu liên quan hiểu rõ về gói. Bước 3: Cấu hình gói. Bước 4: Biên dịch gói. Bước 5: Cài đặt gói. Bước 6: Chạy gói. Bước 7: Dọn dẹp phân vùng tạm và rác. Cài đặt phần mềm bằng biên dịch
  • 253. # wget http://example/samba-laster.tar.gz # mv samba-laster.tar.gz /usr/local/src # cd /usr/local/src # tar -zxvf samba-laster.tar.gz # cd /usr/local/src/samba-3.6.23a/source Download gói và giải nén
  • 254. # more README # cat README # ls -l | grep drwx Đọc các tài liệu liên quan
  • 255. Cấu hình gói: #./configure Biên dịch gói: #make Cài đặt gói: #make install ** Chúng ta đang ở trong thư mục mã nguồn phần mềm** Biên dịch phần mềm
  • 256. # make clean # cd /usr/local/src # rm -rf samba-3.6.23a Gỡ cài đặt
  • 257. yum là công cụ giúp ta cài đặt gói một cách dễ dàng, thuận tiện mà không cần phải quan tâm đến các gói phụ thuộc (dependency). Ngoài ra nó còn hỗ trợ chức năng xóa, liệt kê, tìm kiếm, history, ... Tùy theo hệ điều hành mà ta có câu lệnh tương ứng. RedHat: yum Debian: apt-get Cài đặt qua Internet
  • 258.  Tìm kiếm một gói: giúp ta tìm chính xác tên gói dựa vào tên thông thường của ứng dụng: #yum search <tên-ứng-dụng>  Xem thông tin về một gói: #yum info <tên-gói>  Cài đặt gói: #yum install <tên-gói> Cài đặt qua Internet
  • 259.  Cài đặt gói cục bộ dùng file rpm: được dùng khi ta có gói rpm nhưng không thể cài với lệnh rpm vì thiếu dependency: #yum localinstall <đường-dẫn-đến-file-rpm>  Xóa gói: #yum remove <tên-gói>  Update hệ thống cập nhật các gói khi trên kho phần mềm có version mới hơn: #yum update  Sử dụng YUM trong mạng có proxy: thêm vào file /etc/yum.conf nhưsau # vi /etc/yum.conf … proxy=http://proxy-ip:port Cài đặt qua Internet
  • 261. Chương 10: Cài đặt & cấu hình mạng
  • 262. Các vấn đề thảo luận  Cấu hình mạng trên Linux  Các file cấu hình cơ bản  Cấu hình IP card mạng  Routing  Lệnh traceroute, netstat, tcpdump  Khởi động và dừng dịch vụ
  • 263. Cấu hình mạng trên Linux Các bước cấu hình mạng trên một hệ thống Linux: Bước 1: Cấu hình mạng cho card mạng. Bước 2: Đặt IP cho từng card mạng (IP tĩnh hoặc động). Bước 3: Cấu hình routing. Bước 4: Cấu hình các dịch vụ naming.
  • 264. Các file cấu hình cơ bản 1. File /etc/hosts: File này dùng để ánh xạ địa chỉ ip tương ứng với tên máy, được sử dụng để phân giải tên cho hệ thống cục bộ.
  • 265. Các file cấu hình cơ bản 2. File /etc/hosts.conf: File này quy định thứ tự sử dụng nguồn phân giải tên cho hệ thống cục bộ. Dòng đầu tiên cho biết thứ tự phân giải tên miền dựa vào file /etc/hosts, sau đó mới dùng dịch vụ DNS.
  • 266. Các file cấu hình cơ bản 3. File /etc/hosts.allow, /etc/hosts.deny • /etc/host.allow: cho phép các máy tính được truy cập • /etc/host.deny: cấm các máy truy cập • Cú pháp: Dịch vụ: host Ví dụ: - Cho phép máy tính với địa chỉ 192.168.1.1 được phép kết nối tới tất cả các dịch vụ. - Cho phép máy tính với địa chỉ: 192.168.1.2 và 192.168.1.3 được phép kết nối tới proftpd • Thêm vào /etc/hosts.allow : ALL: 192.168.1.1 proftpd: 192.168.1.2, 192.168.1.3 Lưu ý: Tập tin hosts.allow được đọc trước
  • 267. Các file cấu hình cơ bản 4. File /etc/resolve.conf - Chỉ định danh sách các DNS server và tên miền tương ứng để cho phép máy trạm có thể yêu cầu phân giải tên miền. - Từ khóa nameserver chỉ định địa chỉ của DNS server để phân giải tên miền cho hệ thống cục bộ.
  • 268. Các file cấu hình cơ bản 5. File /etc/networks - Lưu địa chỉ mạng cho hệ thống cục bộ, hỗ trợ xây dựng bảng định tuyên mạng. Địa chỉ mạng được dựa vào địa chỉ localhost và địa chỉ IP của card mạng cục bộ. - Lệnh route dùng để xem bảng định tuyến mạng của hệ thống được xây dựng đựa vào file /etc/networks
  • 269. Cấu hình IP card mạng 1. Xem địa chỉ IP - Để xem IP dùng lệnh ifconfig. + eth0 là tên của card mạng. + lo là tên của loopback interface.
  • 270. Cấu hình IP card mạng Cách 1: dùng lệnh như sau: #ifconfig <interface_name> <IP_address> netmask <netmask_address> up Khi dùng lệnh này để thay đổi IP thì hệ thống lưu trữ tam thời thông tin cấu hình này trong bộ nhớ và sẽ bị mất khi hệ thống khởi động lại. Ví dụ: #/sbin/ifconfig eth0 192.168.1.20 netmask 255.255.255.0 #/sbin/ifconfig eth0 down #/sbin/ifconfig eth0 up #ifup eth0 #ifdown eth0
  • 271. Cấu hình IP card mạng Cách 2: ta có thể thay đổi thông tin cấu hình mạng trực tiếp trong file: /etc/sysconfig/network-scripts/ifcfg-ethX (trong đó X chỉ định thứ tự card mạng trong hệ thống)
  • 272. Routing Bảng Routing được cấu hình, kiểm tra, thay đổi bằng công cụ /sbin/route. Thêm một static route #/sbin/route add -net 192.168.65.0 gw 192.168.64.2 dev eth0 Thêm Default Gateway #/sbin/route add default gw 192.168.1.1 eth0 Liệt kê bảng kernel routing: #/sbin/route -n Ngoài ra ta còn có thể cấu hình định tuyến động bằng nhiều công cụ như zebra, quagga.
  • 273. Lệnh traceroute, netstat, tcpdump • Lệnh traceroute: Theo dõi đường đi của gói tin trong hệ thống mạng. Lệnh traceroute thường dùng để debug, xác định vì sao gói tin không di chuyển đến một network được. • Lệnh netstat: Liệt kê các port đang lắng nghe, các kết nối đang mở đến máy tính, và tình trạng của các kết nối này. Với tham số -r: netstat –r hiển thị bảng routing • Lệnh tcpdump: để bắt gói tin di chuyển trong network. Có thể lưu lại thành file, dùng ethereal để phân tích gói tin, xác định loại traffic, hoặc tìm kiếm các dấu hiệu mong muốn.
  • 274. Khởi động và dừng dịch vụ Sử dụng các công cụ như: /sbin/ifconfig hoặc ifup, ifdown Sử dụng các scripts file: #/etc/rc.d/init.d/network restart | stop | start Hoặc #/etc/init.d/network restart | start | stop | status
  • 275. Thực hành Học viên Thực hành cấu hình IP Card mạng trên máy
  • 278. Các vấn đề thảo luận  NFS là gì?  Các bước hoạt động của NFS  Khởi động NFS  Cấu hình NFS  /etc/exports  NFS tại client
  • 279. NFS là gì? NFS là giao thức chia sẻ file phổ biến trên UNIX. Nó cho phép mount một thư mục trên một máy tính từ xa vào một thư mục cục bộ.  NFS: Network File System  RFC: 1094, 1813, 5662  Hoạt động Tầng ứngdụng  Chức năng: Chia sẻ file trong hệ thống Unix, Linux  Mô hình Client - Server: Server Port: 2049, 4045
  • 281. Các bước hoạt động Bước 1: Client liên lạc với portmapper của server để tìm xem port nào chạy dịch vụ NFS mount. Bước 2: Client liên lạc với mount service để gởi yêu cầu mount. Mount service sẽ kiểm tra quyền của Client. Nếu Client có quyền mount thì sẽ chấp nhận yêu cầu, ngược lại gửi từ chối đến Client. Bước 3: Client liên lạc đến portmapper lần nữa, lần này là để tìm xem NFS Server chạy port nào.(mặc định là port 2049). Bước 4: Khi Client muốn tạo một yêu cầu đọc hay ghi đến NFS Server, một RPC được gởi đến NFS Server. Bước 5. NFS Server đáp ứng yêu cầu. Client cập nhật lại bảng mount.
  • 282. Khởi động NFS Start service nfs: 1. Khởi động dịch vụ NFS Server: # service nfs start Hoặc #/etc/init.d/nfs start 2. Khởi động cùng hệ thống # chkconfig nfs on
  • 283. Cấu hình NFS Bước 1: Tạo file /etc/exports. Bước 2: Khởi động dịch vụ NFS, sử dụng dòng lệnh đọc /etc/exports. Để export tất cả file system trong file /etc/exports # exportfs -a Để export thư mục /export/stuff đến host có quyền đọc và ghi: # exportfs -o rw vnlamp:/export/stuff Bước 3: Sử dụng câu lệnh mount trên client để sử dụng dịch vụ chia sẻ file NFS # mount -o rw,bg,intr,soft vnlamp:/export/home /home ** Tắt tường lửa là điều hết sức quan trọng 
  • 284. /etc/exports Format của file /etc/exports /dir/to/export client1(permissions) client2(permissions) /dir/to/export thư mục bạn muốn chia sẻ cho người khác. client1, client2 là host name của các NFS client. Hostname của client có thể là IP Address, IP Network, TCP/IP hostname, full host.domain name. Ví dụ: pqdung pqdung.vnlamp.com 10.0.0.11 10.0.0.0/24
  • 285. /etc/exports Permission: Permission trong /etc/exports được áp lên mỗi client như sau: ro Quyền chỉ đọc. Không được phép tạo file trong phân vùng mount này. Quyền này là quyền mặc định. rw Cho phép đọc và ghi trên phân vùng mount. Thường được dùng cho home directories, mail spools, etc.
  • 286. /etc/exports Một ví dụ file /etc/exports: # /etc/exports for vnlamp.example.org /export/homepqdung(rw) account(rw) artist(rw) @shire(rw) unixadmin(rw,no_root_squash) /export/usr/local dancer(rw) doctor(rw) engineer(rw) 192.168.3.0/24(ro,all_squash) *.vnlamp.example.com (rw)
  • 287. Mount tại client Client sử dụng dịch vụ NFS bằng câu lệnh: # mount -o rw,bg,intr,soft pqdung:/export/home /home Ngoài ra còn có thể sử dụng file /etc/fstab pqdung:/export/home /home nfs rw,bg,intr,soft 0 0
  • 288. Thực hành cấu hình NFS Server Học viên thực hành cấu hình NFS Server trên máy
  • 291. Các vấn đề thảo luận  Giới thiệu FTP  Port hoạt động chính của FTP  Phân loại FTP  Vấn đề Firewall  Cài đặt VSFTPD  Khởi động và dừng dịch vụ
  • 292. Giới thiệu FTP FTP viết tắt từ File Transfer Protocol, một giao thức truyền tải tập tin từ một máy tính đến máy tính khác thông qua một mạng TCP hoặc qua mạng Internet. Thông qua giao thức FTP, người dùng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin media (nhạc, video)... từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải các tập tin có trên máy chủ về máy tính cá nhân. FTP cũng là giao thức dùng để truyền tải dữ liệu web lên máy chủ web.
  • 293. Port hoạt động chính của FTP FTP Control Channel, TCP Port 21: Tất cả các lệnh giữa client và server trao đổi nhau thông qua port 21. FTP Data Channel, TCP Port 20: Port dùng để truyền dữ liệu giữa client và Server
  • 294. Phân loại FTP FTP phân làm 2 loại chính là: Active và Passive Active Mode: - Client kết nối từ một Random Port (N>1023) đến port 21 của Server để chứng thực. - Nếu Server chấp nhận kết nối. - Client sẽ mở tiếp port N+1 và lắng nghe kết nối dữ liệu từ Server. - Server sẽ truyền dữ liệu đến Client thông qua port 20 đến port N+1 của Client và ngược lại.
  • 295. Phân loại FTP Passive Mode: - Client kết nối từ một Random Port (C > 1023) đến port 21 của Server để chứng thực và báo cho server biết là sử dụng mode Passive. - Nếu Server chấp nhận kết nối. - Server sẽ trả lời Client kèm theo một Random Port (S > 1023) để thực hiện việc truyền dữ liệu. - Client sẽ mở tiếp port C+1 kết nối dữ liệu đến port S+1 của Server.
  • 297. Cài đặt FTP Server  Cài đặt: Cấu hình IP của FTP Server phải là IP tĩnh. Kiểm tra đã có cài gói vsftpd chưa? #rpm -qa | grep vsftpd Nếu không hiện ra gì ta tiến hành cài như sau: #yum install vsftpd-* -y Kiểm tra lại bằng câu lệnh nếu thấy có các gói như sau là hoàn tất: #rpm -qa | grep vsftpd*
  • 298. Cấu hình FTP Server File cấu hình chính: /etc/vsftpd/vsftpd.conf Giải thích một số cấu hình: Enable mode Passive: pasv_enable=YES pasv_min_port=41361 pasv_max_port=65534 pasv_address=xxx.xxx.xxx.xxx dirmessage_enable pam_service_name Các cấu hình khác: anonymous_enable=NO # không cho phép anonymous login vào local_enable=YES # Cho phép người dùng cục bộ login vào write_enable=YES # Cung cấp quyền ghi cho người dùng xferlog_enable=YES # Cho phép ghi log xferlog_file=/var/log/vsftpd.log # Vị trí file log connect_from_port_20=YES # Sử dụng cổng 20 cho FTP-Data ftpd_banner=FTP xin chao # Lời chào khi truy cập FTP userlist_enable=YES # Những người dùng trong user_list bị cấm truy cập
  • 299. Cấu hình FTP Server Các cấu hình người dùng anonymous truy cập: anonymous_enable=YES # Cho phép người dùng anonymous login anon_world_readable_only # Anonymous chỉ được phép download anon_upload_enable # Cho phép anonymous upload anon_mkdir_write_enable # Cho phép anonymous tạo thư mục anon_other_write_enable # Cho phép anonymous quyền ghi file
  • 300. Thực hành cấu hình FTP Server Học viên thực hành cấu hình FTP Server trên máy
  • 303. Các vấn đề thảo luận  Giới thiệu giao thức SSH  Giới thiệu dịch vụ SSH  Cấu hình SSH Server  SCP  SSH chứng thực dùng key
  • 304. Giới thiệu giao thứcSSH SSH: là chữ viết tắt của cụm từ Secure Shell, là một giao thức giúp thiết lập một kết nối đến tài nguyên một cách bảo mật. Mô hình hoạt động: TCP/IP lớp Ứng dụng Công cụ: OpenSSH,
  • 305. Giới thiệu dịch vụ SSH - Một số chương trình trước đây như: telnet, rlogin không sử dụng cách thức mã hoá. Do đó thông tin rất dễ bị rò rỉ. - Dịch vụ SSH giúp người dùng có thể điều khiển các máy tính ở xa hoặc copy dữ liệu từ máy chủ, viết tắt của cụm từ secured shell. - Mọi dữ liệu truyền theo giao thức đều được mã hóa và rất an toàn, không thể bị “xem trộm” trên đường truyền.
  • 306. Cài đặt cấu hình SSH Server - Mặc định dịch vụ ssh được cài đặt tại cái máy Linux, chúng ta không cần cài đặt thêm dịch vụ này. (Nếu chưa thì cài thêm gói openssh-server-*.rpm từ đĩa hoặc down trên mạng về) - Kết nối đến: ssh [-l username] <ip_máy_chủ> Ví Dụ: ssh –l root 192.168.1.20 hoặc ssh root@192.168.1.20 Người dùng sẽ được yêu cầu nhập password trên máy truy xuất đến, nếu chứng thực thành công có thể điều khiển máy tính từ xa. Sau khi connect đến được máy server, ta có thể hoàn toàn điều khiển máy server như điều khiển một máy Linux cục bộ.
  • 307. Cấu hình SSH Server - File cấu hình của dịch vụ sshd nằm ở /etc/ssh/sshd_config. Một số cấu hình chính: - AllowGroups: chỉ cho phép một số group được đăng nhập vào máy thông qua ssh - AllowUsers: chỉ cho phép một số users được đăng nhập vào máy thông qua ssh - DenyGroups, DenyUsers: Những groups và users bị cấm - ListenAddress: địa chỉ mà SSH server sẽ lắng nghe - Port: mặc định là 22
  • 308. SCP - SCP là dịch vụ copy file trên một máy khác, sử dụng giao thức ssh. Cú Pháp: #scp <nguồn> <đích> Ví dụ muốn copy file /root/test.txt lên máy 192.168.10.10, tại thư mục /home/sv với quyền sv, ta thực thi: #scp /root/test.txt sv@192.168.10.10:/home/sv Ngược lại, chúng ta cũng có thê copy một file từ máy ở xa về máy cục bộ. #scp root@192.168.10.1:/root/baitap.txt /root
  • 309. Cách tạo khóa : ####Lệnh tạo key trên linux########## #ssh-keygen –t rsa –b 1024 ######Trên Windows ############## dùng tool puttygen.exe để tạo Key và passwd  Tiếp theo, copy nội dung "Public key" vào file ~/.ssh/authorized_keys trên server. (mỗi dòng 1 key) #ssh-copy-id -i ~/.ssh/id_rsa “root@192.168.197.43 -p 2222” Lưu "Private key" trên client. Các bạn hãy tập convert key từ linux sang window và ngược lại SSH Chứng thực dùng key
  • 310. Bạn chỉ cần thực hiện một việc là thiết lập chính xác đặc quyền trong file ~/.ssh/authorized_keys trên server: # chmod 600 ~/.ssh/authorized_keys Mặc định cơ chế dùng key đã được mở bởi các dòng trong file /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys SSH Chứng thực dùng key
  • 312. Chương 14: Dynamic Host Configuration Protocol (DHCP) Server
  • 313. Các vấn đề thảo luận  Giới thiệu về DHCP  Mô hình hoạt động  Cài đặt cấu hình DHCP  DHCP Reservation  Cấu hình DHCP Client
  • 314. Giới thiệu giao thức DHCP ĐẶT VẤN ĐỀ - 1: Quá nhiều máy để cấu hình Static IP  Cần một máy chủ để cấp IP cho toàn bộ máy
  • 315. Giới thiệu giao thức DHCP  DHCP = Dynamic Host Configuration Protocol  RFC 1533, 1534, 1541, 1542, 2131  Tiền thân: BOOTP  Hoạt động Tầng ứngdụng  Chức năng:cấp phát địa chỉ IP động  Mô hình Client - Server: Server Port: 67 Cung cấp địa thông tin cấu hình TCP/IP cho các client Client: Port: 68 Yêu cầu server cấp thông tin cấu hình TCP/IP
  • 316. Mô hình hoạt động
  • 317. Cài đặt cấu hình DHCP Server 1. Cài đặt: Thực hiện câu lệnh: #yum install dhcp –y 2. Cấu hình: File Cấu hình chính: /etc/dhcp/dhcpd.conf Giải thích các dòng cấu hình. 3. Khởi động dịch vụ: #/etc/init.d/dhcpd start|stop|restart 4. Cấu hình dịch vụ dhcp lắng nghe trên card mạng: #vi /etc/sysconfig/dhcpd DHCPDARGS=eth0
  • 318. Cấu hình DHCP Server subnet 192.168.1.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.200; option time-offset -18000; # Eastern Standard Time option domain-name "vnlamp.com"; range dynamic-bootp 192.168.1.10 192.168.1.150; default-lease-time 21600; max-lease-time 43200; allow client-updates; zone vnlamp.com. { primary 192.168.1.200; key rndckey; } zone 1.168.192.in-addr.arpa. { primary 192.168.1.200; key rndckey; }
  • 319. DHCP Reservation Đặt vấn đề: Khi ta muốn một máy có MAC Address là địa chỉ IP do ta chỉ định. DHCP Reservation Thêm các dòng cấu hình sau vào file /etc/dhcp/dhcpd.conf host clientxp { hardware ethernet 00:0C:29:C6:8E:97; fixed-address 192.168.1.150;} Với địa chỉ Mac Address của máy client
  • 320. Cấu hình DHCP Client Chỉnh file /etc/sysconfig/network-scripts/ifcfg-ethX với X là số tương ứng với card mạng. Dùng lệnh: #ip link show Để xem có bao nhiêu card Nội dung của file ethX: TYPE=Ethernet DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes DHCP_HOSTNAME=vnlamp
  • 321. Thực hành cấu hình DHCP Server Học viên thực hành cấu hình DHCP Server trên máy
  • 323. Chương 15: Domain Name System (DNS) Server
  • 324. Các vấn đề thảo luận  Giới thiệu về DNS  Phân loại DNS Server  Mô hình DNS Server  Cài đặt DNS Server  Cấu hình DNS Server mô hình Master-Slave
  • 325. Giới thiệu giao thức DNS ĐẶT VẤN ĐỀ - 1
  • 326. Giới thiệu giao thức DNS  Giải pháp người dùng nhớ Domain Name thay IP
  • 327. Giới thiệu giao thức DNS  DNS = Domain Name System  Rfc 1034, 1035  Chức năng Dùng phân giải tên miền thành địa chỉ IP và ngược lại Lịch sử:  Đầu tiên, lưu trữ bằng file host.txt  Ngày nay, lưu trữ bằng 1 CSDL phân tán - Tạo thành cây domain Mỗi node + Có một tên miền (domain name) + Có thể có sub domain
  • 328. Giới thiệu giao thức DNS  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ạ trong một thể thống nhất.  BIND (Berkeley Internet Name Distributed) phần mềm DNS Server được sử dụng nhiều nhất hiện nay trên thế giới. Một chương trình phục vụ DNS trên nền các hệ thống Unix/Linux…  Bind chạy nhanh, hiệu suất cao, đáp ứng được số lượng user lớn, cấu hình linh hoạt, …  Phân loại: * Master DNS (primary server) * Slave DNS (slave secondary server) * Caching Only DNS (caching name server)
  • 329. Giới thiệu giao thức DNS
  • 330. Giới thiệu giao thức DNS  DNS server lưu các thông tin cần thiết cho việc phân giải tên miền thành địa chỉ IP và ngược lại dưới dạng Resource records - RR. Có các loại resource records như sau:  Host (A) record: giúp ánh xạ domain name (tên máy tính) với một địa chỉ IP. Ví dụ: trong zone của domain vnlamp có một A record như: www A 203.162.44.38 A record này ánh xạ domain name www.vnlamp.vn thành địa chỉ IP 203.162.44.38  Alias (CNAME) record: giúp ánh xạ nhiều tên vào một máy tính cụ thể. Ví dụ: trong zone của domain vnlamp.vn, có một CNAME record như: ftp CNAME vnlamp.vn Khi đó máy tính có tên vnlamp.vn còn có tên khác là ftp.vnlamp.vn
  • 331. Giới thiệu giao thức DNS MX record: giúp xác định mailserver cho một domain. Ví dụ: trong zone của domain vnlamp.vn có MX record như sau: vnlamp.vn MX server.vnlamp.vn PTR record: loại resource record này có ý nghĩa trái với loại resource record A. PTR record cho biết một địa chỉ IP tương ứng với domain name nào. Ví dụ trong reverse lookup zone 203.162.44.in-addr.arpa có PTR record sau: 38.44.162.203.in-addr.arpa PTR www.vnlamp.vn Record này cho biết địa chỉ IP 203.162.44.38 là địa chỉ IP của máy tính có tên www.vnlamp.vn SRV resource record: loại resource record này giúp xác định vị trí của một số dịch vụ. Một số ứng dụng đặc biệt có thể “hiểu” được SRV record sẽ truy vấn name server để xác định dịch vụ cần tìm kiếm đang ở trên máy tính nào, dịch vụ đang lắng nghe trên port nào… SOA record: thông tin cho toàn bộ 1 zone NS record: thông tin các name server của một miền
  • 332. Phân loại DNS Server • Master DNS (primary server) - Là nguồn phân giải tên miền chính thức. Thông tin về một tên miền do được phân cấp quản lý thì được lưu trữ tại đây và sau đó có thể được chuyển sang các Slave DNS Server. Các tên miền do Master quản lý thì được tạo, và sửa đổi tại Master và sau đó được cập nhật đến các Slave. • Slave DNS (slave secondary server) - Khi lượng truy vấn vùng (zone) tăng cao, Master sẽ chuyển bớt tải sang Slave (quá trình này còn được gọi là cân bằng tải), hoặc khi Master bị sự cố thì Slave hoạt động thay thế cho đến khi Master hoạt động trở lại. • Caching Only DNS (caching name server) - Tăng tốc độ truy vấn DNS cho các Client trong mạng LAN bằng cách cache các Record lại.
  • 333. Mô hình DNS Server
  • 334. Cài đặt DNS Server  Cài đặt: Cấu hình IP của DNS Server phải là IP tĩnh. Kiểm tra đã có cài DNS Server chưa? #rpm -qa | grep bind Nếu không hiện ra gì ta tiến hành cài như sau: #yum install bind-* -y Kiểm tra lại bằng câu lệnh nếu thấy có các gói như sau là hoàn tất: #rpm -qa | grep bind*
  • 335. Cấu hình DNS Server Thư mục chứa File cấu hình chính: /var/named/chroot/etc/ Thư mục chứa các cơ sở dữ liệu dùng để phân giải thuận nghịch: /var/named/chroot/var/named/ File chứa log: /var/log/messages Lệnh xem log file: #tail –f /var/log/messages Lệnh khởi động dịch vụ DNS: #/etc/init.d/named start|stop|restart
  • 336. Cấu hình DNS Server (Master) Tạo File /var/named/chroot/etc/named.conf  Giải thích file /var/named/chroot/etc/named.conf. Tạo 2 File cơ sở dữ liệu:  file /var/named/chroot/var/named/vnlamp.net.zone  file /var/named/chroot/var/named/1.168.192.inaddr.arpa.zone Giải thích ý nghĩa các thông số 2 file trên. Khởi động dịch vụ sau khi đã tạo nội dung hoàn chỉnh.
  • 337. Cấu hình DNS Server (Slave) Cấu hình Tương tự Master Server Tạo File /var/named/chroot/etc/named.conf  Giải thích file /var/named/chroot/etc/named.conf Tạo 2 File cơ sở dữ liệu:  file /var/named/chroot/var/named/vnlamp.net.zone  file /var/named/chroot/var/named/1.168.192.inaddr.arpa.zone Giải thích ý nghĩa các thông số 2 file trên.
  • 338. Thực hành cấu hình DNS Server Học viên thực hành cấu hình DNS Master Slave trên máy