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
Chương 16:
Web Server
Các vấn đề thảo luận
 Giới thiệu WebServer
 Cài đặt WebServer
 Cấu hình WebServer
 Cấu hình Virtual host
Giới thiệu WebServer
- Web Server (máy phục vụ Web): máy tính mà trên đó cài
đặt phần mềm phục vụ Web.
- Tất cả các Web Server đều hiểu và chạy được các file
*.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ
một số kiểu file chuyên biệt.
Chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx...;
Apache dành cho *.php...; Sun Java System Web Server của
SUN dành cho *p...
- Web Server Software còn có thể được tích hợp với CSDL
(Database), hay điều khiển việc kết nối vào CSDL để có thể
truy cập và kết xuất thông tin từ CSDL lên các trang Web và
truyền tải chúng đến người dùng.
Cài đặt WebServer
1. Cài đặt Apache và PHP
Thực hiện lệnh
#yum install httpd* php* -y
2. Cấu hình Apache:
Giải thích các dòng trong File cấu hình /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"
Timeout 120
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 10
StartServers 5
MaxClients 512
ServerLimit 1024
MaxRequestsPerChild 0
Listen 1.2.3.4:80
Listen 1.2.3.4:443
Cấu hình Virtual host WebServer
Cấu hình virtual host webServer
<VirtualHost ip:80>
ServerAlias www.webserver.com
ServerAdmin webmaster@www.webserver.com
DocumentRoot /var/www/html
BytesLog logs/www.webserver.com-bytes_log
ServerName webserver.com
User apache
Group apache
CustomLog /var/www/html/logs/www.webserver.com combined
( hoặc common)
</VirtualHost>
Khởi động dịch vụ httpd
#/etc/init.d/httpd start|stop|restart
Thực hành
Học viên cấu hình 2 Virtual host: vnlamp.com và vnlamp.net
trên cùng 1 Web Server.
Hỏi & Đáp
Chương 17:
Mail Server
Các vấn đề thảo luận
 Giới thiệu WebServer
 Cài đặt WebServer
 Cấu hình WebServer
 Cấu hình Virtual host
- Email Server - Máy chủ thư điện tử là máy chủ dùng để gửi
và nhận thư điện tử, là một giải pháp Email dành cho các
doanh nghiệp để quản lý và truyền thông nội bộ, thực hiện các
giao dịch thương mại yêu cầu sự ổn định, tính liên tục và với
tốc độ nhanh, đồng thời đảm bảo tính an toàn của dữ liệu, khả
năng backup cao....
- Hệ thống thư điện tử chuẩn phải giải quyết được các vấn đề
như mail bị virus, spam, bị đưa vào blacklist, không check
được webmail, check online/offline, không thể kiểm soát nội
dung...
Email Server là gì?
- Email server có thể xử lý số lượng lớn thư điện tử hàng ngày.
- Có server riêng biệt.
- Email server có tính năng bảo mật an toàn dữ liệu.
- Có hệ thống quản trị (Control panel) để quản lý và tạo các tài
khoản email cho nhân viên.
- Có thể cài đặt dung lượng tối đa cho từng email.
- Nhân viên có thể tự đổi mật khẩu riêng với email server
- Kiểm tra và quản lý nội dung email của nhân viên trong công ty.
- Email server có khả năng chống virus và spam mail hiệu quả cực
cao.
- Email server hỗ trợ Forwarder Email để cài đặt Email Offline.
- Có thể check mail trên cả webmail và Outlook Express.
Các đặc tính của hệ thống Email
- Hệ thống Mail Server là một hệ thống tổng thể bao gồm nhiều thành
phần hoạt động tương tác với nhau.
SMTP Server: gọi là Mail Transfer Agent (MTA). SMTP server sử dụng
để chuyển e-mail từ người gửi đến Mail Server chứa hộp thư, dùng giao
thức SMTP.
POP3/IMAP Server: Gọi là Mail Delivery Agent (MDA), lưu các thư
nhận được vào hệ thống và khi cần người dùng sử dụng chương trình mail
client lấy các thư này về máy tính để đọc.
Chương trình mail client giao tiếp với POP/IMAP server dựa trên giao
thức POP3/IMAP. Thông thường mail server hỗ trợ cả hai giao thức SMTP
và POP3, còn IMAP thì ít hơn.
Các thành phần của hệ thống Email
Mail User Agent (MUA): Trình tương tác với người dùng, soạn thảo, gửi
hoặc nhận e-mail.
DNS Server: Lưu trữ 1 hoặc nhiều bản ghi MX cho các tên miền, nhằm
xác định địa chỉ của hệ thống Mail muốn giao tiếp.
Database server: Lưu trữ các thông tin về người dùng hệ thống, cung cấp
dữ liệu phục vụ cho vấn đề chứng thực người dùng.
Webserver, webmail: Cung cấp giao diện người dùng nền web, người
dùng có thể thực hiện các thao tác tương tác với hệ thống qua giao diện
này.
Các thành phần của hệ thống Email
Một hệ thống Email chuẩn
Gỡ cài đặt Sendmail.
#yum remove sendmail –y
Cài đặt postfix
#yum install postfix* dovecot* -y
Cấu hình postfix
#vi /etc/postfix/main.cf
myhostname = mail
mydomain = vnlamp.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain,
localhost, $mydomain
mynetworks = 192.168.2.0/24
home_mailbox = Maildir/
Cài đặt và cấu hình postfix
#vi /etc/dovecot.conf
protocol imap {
listen = *:143
# ssl_listen = *:10943
}
protocol pop3 {
listen = *:110
}
#/etc/init.d/postfix start
#/etc/init.d/dovecot start
Cấu hình dovecot
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks
#vi /etc/postfix/header_checks
/^Subject:.*virus*/ REJECT
#vi /etc/postfix/body_checks
/trojan/ REJECT
Tạo group mail:
#vi /etc/aliases
test: test1,test2
#postalias /etc/aliases
Header & body check
Học viên cấu hình một hệ thống Email:
- Postfix (SMTP Server)
- Dovecot (IMAP Server)
- SquirrelMail (Web Mail)
- Database chứng thực bằng /etc/password.
Thực hành
Hỏi & Đáp
Chương 18:
Samba
Các vấn đề thảo luận
 Giới thiệu giao thức SMB
 Hiểu, cài đặt, cấu hình Samba
 Thiết lập Samba công cộng
 Mô hình WORKGROUP
 Quản lý Samba với SWAT
 Samba Client
Giới thiệu giao thức SMB
ĐẶT VẤN ĐỀ
Làm thế nào để chia sẻ tài nguyên giữa các hệ điều hành khác
nhau?
Giới thiệu giao thức SMB
- SMB = Session Message Block
- Hoạt động Tầng ứng dụng
Chức năng:
Là một giao thức của Microsoft được sử dụng để chia sẻ tài
nguyên và máy in giữa các máy hệ điều hành Window với
nhau.
Samba là chương trình tiện ích sử dụng giao thức smb và
nmb (NetBiOS name) hỗ trợ chia sẻ tài nguyên từ hệ thống
Linux với các hệ thống khác như Linux, Unix, Windows,
MacOS.
 Mô hình Client - Server, Client - Client:
Port: 137, 138 (UDP), 139 (TCP) và 445
Hiểu về Samba
Tài khoản và Mật khẩu:
Samba sử dụng cơ sở dữ liệu lưu tài khoản và mật khẩu của
người dùng hoàn toàn tách biệt với hệ thống chứng thực của
Linux.
Samba được dùng để thiết lập các:
- Linux Server như một file server công cộng không
chứng thực người sử dụng
- Linux Server như một file server có chứng thực
người sử dụng theo mô hình workgroup
- Linux Server như một Primary Domain Controller
Cài đặt Samba
Các gói phần mềm cần phải có
Server: samba, samba-common, samba-swat
Client: samba-common and samba-client.
#yum install samba-* -y
Khởi động | dừng dịch vụ:
#/etc/init.d/smb start|stop|restart
#/etc/init.d/nmb start|stop|restart
Cấu hình Samba
• File cấu hình /etc/samba/smb.conf cho phép thiết lập như
sau:
- Chọn mô hình mạng workgroup/domain
- Thiết đặt chế độ chứng thực người dùng
- Mô tả các tài nguyền được chia sẻ
- Đóng vai trò là Domain Controller
- Tích hợp vào Active Directory
Thiết lập Samba Server công cộng
• Samba/Linux Server chia sẻ thư mục
• Máy trạm Windows, Linux, MacOS truy cập vào thư mục
chia sẻ
Theo hai cách
- Địa chỉ thư mục chia sẻ: DiaChiServerTenThuMucChiaSe
hoặc NetBiOS_NameTenThuMucChiaSe
- Dùng chức năng Network Places để tìm (browse) server
Nhập username /password
- Nếu là tài khoản của samba, truy cập vào tài nguyên theo
các quyền đã được cấp cho tài khoản này.
- Nếu không là tài khoản của samba, truy cập vào tài nguyên
dưới danh nghĩa của một tài khoản mặc định «smbguest».
Cấu hình Samba Server công cộng
• Sửa đổi tập tin smb.conf
• Phần mô tả tổng quát
[global]
workgroup = tên mô hình mạng
netbios name = Tên file server
server string = Mô Tả về Server
security = share
hosts allow = 10.254.60. 192.168.56. chỉ cho phép các
máy tính này được truy cập
wins support = yes
Đặc tả thư mục chia sẻ
• Sửa đổi tập tin smb.conf
• Định nghĩa các thư mục chia sẻ
[Data]
path = /home/
guest ok = Yes
writeable = No
read only = Yes
create mask = 0755
force user = root
force group = root
[testsmb]
path = /home/testsmb
guest ok = Yes
writeable = Yes
read only = No
create mask = 0755
browseable = no
force user = testsmb
force group = testsmb
Kiểm tra lại dịch vụ
• Kiểm tra tính đúng đắn của file cấu hình
#testparm
Khởi động lại dịch vụ samba
#/etc/init.d/smbd restart
#/etc/init.d/nmbd restart
Truy cập vào thư mục công cộng
• Khởi động một máy tính windows
• Mở cửa sổ MS-DOS; Ping đến địa chỉ IP của Samba/Linux
server để kiểm tra nối kết mạng
• Truy cập đến các thư mục chia sẻ trên Samba/Linux
Bằng chức năng Network places
Hoặc Server-IP
• Nhập tên và mật khẩu bất kỳ khi yêu cầu
• Thử tạo thư mục/tập tin trong các thư mục chia sẻ
data và testsmb
Mô hình workgroup
- Samba duy trì một cơ sở dữ liệu tài khoản riêng.
- Có thể đồng bộ hóa tài khoản người dùng từ của Linux sang
samba bằng tiện ích libpam-smbpass
# yum install libpam-smbpass
- Đưa tài khoản người dùng Linux vào samba và đặt
mật khẩu trên samba
# smbpasswd -a username
- Nhập mật khẩu cho người dùng samba này
Lưu ý: Người dùng username là tên một tài khoản đã tồn tại
trên Linux
Quản lý Samba với SWAT
- Sử dụng SWAT (Samba Web Administration Tool) để thao
tác lên Samba Server dễ dàng hơn.
- Tất cả mọi cấu hình đều được thao tác qua giao diện web.
SWAT sẽ chuyển những thông tin từ trình duyệt web của
người quản trị thành những cấu hình trong file cấu hình
smb.conf.
- Swat được điều khiển bởi xinetd
Cài đặt SWAT
 File cấu hình chính của Swat:
/etc/xinetd.d/swat
 Mặc định SWAT ở trạng thái disabled
service swat
{
port = 901
socket_type = stream
wait = no
only_from = localhost
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
 Khởi động lại xinetd
Vào trình duyệt Web trong hệ thống mạng LAN truy cập
http://<IP Samba Server>:901
SWAT
Samba client
Tập lệnh được sử dụng trên hệ điều hành Linux để truy xuất
đến Samba Server
Browse server:
#smbclient -L hostname
Ví dụ:
# smbclient -L IP
Remote access
#smbclient //server/share
Ví dụ:
# smbclient //server/data
Mount với smbmount
# smbmount //server/data /mnt
Unmount this directory với umount:
# smbumount /mnt/data
Thực hành
Học viên cấu hình Linux Server như một file server có
chứng thực người sử dụng theo mô hình workgroup
Hỏi & Đáp
Chương 19:
Proxy Server
Các vấn đề thảo luận
 Hiểu về Proxy
 Cài đặt Squid Proxy
 Cấu hình Squid Proxy
Hiểu về Proxy
1. Proxy là gì?
- Là một chương trình trung gian thay thế cho Server thật sự
mà người dùng cần giao tiếp.
- Proxy xác định những yêu cầu từ client và quyết định đáp
ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy sẽ
kết nối với server thật thay cho client và tiếp tục chuyển tiếp
đến những yêu cầu từ client đến server, cũng như đáp ứng
những yêu cầu của server đến client.
Vì vậy proxy server giống cầu nối trung gian giữa server
và client
Hiểu về Proxy
2. Lợi ích của Proxy:
- Tăng tốc độ truy cập trang web
- Kiểm soát được user đã truy cập web gì.
- Bảo mật thông tin hệ thống mạng bên trong.
***Proxy chỉ an toàn khi ta biết rõ về nó.
3. Squid Proxy:
- Là một chương trình Internet proxy-caching có vai trò tiếp
nhận các yêu cầu từ các clients và chuyển cho Internet server
thích hợp.
- Đồng thời, nó cũng lưu lại trên đĩa những dữ liệu được trả
về từ Internet server gọi là caching.
Những giao thức hỗ trợ trên Squid: HTTP, FTP, SSL, …
Hiều về Proxy
Cài đặt Squid Proxy
1. Cài đặt:
Kiểm tra Squid đã có trên hệ thống chưa:
#rpm -qa | grep squid
Nếu chưa có thì thực hiên câu lệnh cài đặt:
#yum install squid -y
Kiểm tra lại:
Cấu hình Squid Proxy
- File cấu hình của squid nằm ở /etc/squid/squid.conf
- Port kết nối: Mặc định squid sử dụng port 3128,
có thể cấu hình để sử dụng port 8080 giống với nhiều server
ngoài thực tế:
http_port 8080
- Nơi lưu file cache của squid:
cached_dir <type> <directory> <size> <first level dir> <second level dir>
Ví dụ: cached_dir ufs /usr/local/squid/var/cache/ 100 16 256
1. Lưu cache tại thư mục /usr/local/squid/var/cached/ dạng
ufs (default), dung lượng tối đa 100MB. Số thư mục con
cấp 1 là 16, cấp 2 là 256.
2. Cache_mem 16MB #Dùng 16MB Ram lưu cache
****Sau khi cấu hình xong hoàn tất sử dụng lệnh :
#squid –z
để tạo cache_dir
Cấu hình Squid Proxy
- Mặc định, mọi kết nối thông qua squid sẽ được lưu vào tập
tin /var/log/squid/access.log, việc sử dụng cached sẽ lưu vào
file log /var/log/squid/cache.log
- Nơi lưu trữ này có thể tùy chỉnh qua tham số: access_log
và cache_log trong file cấu hình
1. access_log /var/log/squid/access.log
2. cache_log /var/log/squid/cache.log
Cấu hình Squid Proxy
Điều khiển truy cập
- Việc điều khiển truy cập trang web trong squid thường
thông qua 2 dòng lệnh cấu hình:
acl : định nghĩa các “bộ lọc” để so khớp các truy xuất web
+ Cú pháp: acl <name> <type> <[!]options>
http_access: qui định các truy xuất web là được phép (allow) hay bị
cấm (deny)
+ Cú pháp:
http_access <allow|deny> <[!]acl1> <[!]acl2>
- Ví dụ: Cho phép các máy từ đường mạng 192.168.1.0/24
hoặc 192.168.2.0/24 được truy xuất web thông qua proxy
acl allow_subnet src 192.168.1.0/255.255.255.0
http_access allow allow_subnet
Cấu hình Squid Proxy
Học viên thực hành trên máy Cấu hình Squid Proxy và thiết
lập một số Rule căn bản như sau:
1. Cấm truy cập web trong thời gian làm việc.
2. Hạn chế truy cập và download theo định dạng file.
3. Hạn chế băng thông.
4. Hạn chế download upload (header body của mỗi gói tin).
5. Redirect về 1 trang web khi squid cấm.
6. Chỉ cho phép tối đa 5 connection sử dụng proxy.
7. Chứng thực người dùng khi sử dụng Squid.
Hỏi & Đáp
Chương 20:
Tường lửa (Firewall)
Các vấn đề thảo luận
 Tường lửa là gì?
 Đặc điểm các loại tường lửa.
 Tại sao sử dụng tường lửa?
 Phần mềm Shorewall.
Tường lửa là gi?
- Là rào chắn mà một số cá nhân, tổ chức, doanh nghiệp, cơ
quan nhà nước lập ra nhằm ngăn chặn người dùng mạng
Internet truy cập các thông tin không mong muốn hoặc/và
ngăn chặn người dùng từ bên ngoài truy nhập các thông tin
bảo mật nằm trong mạng nội bộ.
- Tường lửa có hai loại: phần mềm hoặc phần cứng:
+ Tường lửa cứng: Là những firewall được tích hợp trên
Router.
+ Tường lửa mềm: Là những phần mềm được cài đặt trực
tiếp trên Server.
Đặc điểm các loại tường lửa
Đặc điểm của Firewall cứng:
- Không được linh hoạt như Firewall mềm: (Không thể
thêm chức năng, thêm quy tắc như firewall mềm)
- Firewall cứng hoạt động ở tầng thấp hơn Firewall mềm
(Tầng Network và tầng Transport).
- Firewall cứng không thể kiểm tra được nột dung của gói
tin.
+ Ví dụ Firewall cứng: thiết bị firewall của cisco, astaro,
fotigate, sonicwall, nokia, junniper
Đặc điểm các loại tường lửa
Đặc điểm của Firewall mềm:
- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chức
năng.
- Firewall mềm hoạt động ở tầng cao hơn Firewall cứng
(tầng ứng dụng).
- Firewal mềm có thể kiểm tra được nội dung của gói tin
(thông qua các từ khóa).
+ Ví dụ về Firewall mềm: Zone Alarm, iptables, TMG…
Tại sao sử dụng tường lửa
** Đặt vấn đề: Khi máy tính người dùng kết nối Internet mà
không có Firewall?  hacker, trojan, virus có thể truy cập và
lấy cắp thông tin cá nhân
Sử dụng Firewall:
- Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ
Intranet ra Internet).
- Cho phép hoặc cấm những dịch vụ phép truy nhập vào
trong (từ Internet vào Intranet).
- Theo dõi luồng dữ liệu mạng giữa Internet và Intranet.
- Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập.
- Kiểm soát người sử dụng và việc truy nhập của người sử
dụng.
- Kiểm soát nội dung thông tin thông tin lưu chuyển trên
mạng.
 Phòng chống rủi ro về vấn đề an toàn thông tin
Shorewall
- Là một bức tường lửa xây dựng trên Netfilter / Iptables của
dòng hệ điều hành Linux.
- Là một công cụ cấu hình Netfilter cấp cao. Shorewall dựa
vào mô tả của người dùng trong các file cấu hình từ đó
chuyển các cấu hình này sang các rule của iptables một
cách tối ưu và linh hoạt nhất.
- Về bản chất shorewall đóng vai trò trung gian cho việc
giao tiếp giữa người dùng và iptables.
Shorewall là lựa chọn tốt nhất cho một giải pháp firewall
trên linux vì nó có khả năng xử lý linh hoạt và thay đổi
nhanh các biến môi trường trong hệ thống mạng.
Ưu điểm mạnh nhất của shorewall là cơ chế check lỗi
trước khi đưa vào hoạt động
Cài đặt Shorewall
1. Cài đặt:
#yum install wget perl*
#wget
http://www.shorewall.net/pub/shorewall/CURRENT_STABLE
_VERSION_IS_4.5/shorewall-4.5.20/shorewall-core-4.5.20-
0base.noarch.rpm
#wget
http://www.shorewall.net/pub/shorewall/CURRENT_STABLE
_VERSION_IS_4.5/shorewall-4.5.20/shorewall-4.5.20-
0base.noarch.rpm
#rpm –ivh shorewall-core-4.5.20-0base.noarch.rpm
#rpm –ivh shorewall-4.5.20-0base.noarch.rpm
Cấu hình Shorewall
Các File cấu hình:
1. /etc/shorewall/shorewall.conf: dùng để thiết lập biến toàn
cục cho firewall.
2. /etc/shorewall/zones: chia những vùng mạng trong hệ
thống.
3. /etc/shorewall/interfaces: định nghĩa card mạng thuộc
vùng mạng nào.
4. /etc/shorewall/policy: áp đặt những chính sách cho phép
hoặc cấm truy cập cho toàn hệ thống.
5. /etc/shorewall/rules: Những trường hợp ngoại lệ của file
policy.
6. /etc/shorewall/masq: file định nghĩa NAT nhiều-một hoặc
nhiều-nhiều.
Cấu hình Shorewall
Mô hình Shorewall 2 card mạng
Các bước cấu hình shorewall
1. Chỉnh file shorewall.conf
STARTUP_ENABLED=Yes
2. Chỉnh file zones
#ZONE DISPLAY COMMENTS
net ipv4
loc ipv4
Các bước cấu hình shorewall
3. Chỉnh file interfaces
#ZONE INTERFACE BROADCAST OPTIONS
GATEWAY
net eth0 detect -
loc eth1 detect -
4. Chỉnh file policy
#SOURCE DEST POLICY LOG LIMIT:BURST
LEVEL
net net DROP
fw all ACCEPT
net all DROP info
all all REJECT info
Các bước cấu hình shorewall
5. Chỉnh file masq
#INTERFACE SUBNET ADDRESS PROTO PORT(S)
IPSEC
eth0 eth1
Hoàn tất cấu hình Shorewall 2 interfaces cơ bản.
Các lệnh khởi động dịch vụ.
#/etc/init.d/shorewall start|stop|restart|check
start: khởi động dịch vụ
stop: ngưng dịch vụ
restart: khởi động lại dịch vụ
check: kiểm tra lỗi các file cấu hình
Các bước cấu hình Shorewall
Học viên thực hành cấu hình shorewall hoàn chỉnh.
Thiết lập một số rule căn bản như sau:
- Cấu hình cho bên ngoài Internet truy cập vào được Local
các dịch vụ http,ssh,dns.
- Cấu hình cấm tất cả các truy cập không hợp lệ.
- Cấu hình shorewall kết hợp redirect với squid proxy
- Cấu hình NAT one-to-one
- Cấu hình DNAT
Hỏi & Đáp
Chương 21:
Sao lưu và phục hồi dữ liệu
Các vấn đề thảo luận
 Tại sao phải sao lưu (backup) dữ liệu?
 Lập kế hoạch sao lưu.
 Lựa chọn phương thức sao lưu.
 Các loại nén dữ liệu.
 Các loại sao lưu trên hệ thống Linux.
 Simple Backup
 Phục hồi
Tại sao phải sao lưu dữ liệu (Backup)
Đặt vấn đề:
Mỗi ngày các dữ liệu quan trọng đều được lưu trữ trên một
Server. Điều gì sẽ xảy ra khi ổ cứng hư đột ngột?
Ảnh hưởng đến cá nhân và toàn thể công ty, các dữ liệu mật
đều bị mất có thể gây thiệt hại rất lớn.
Cần đề ra một chiến lược sao lưu dữ liệu hợp lý theo thời
gian cụ thể một cách tự động.
Bên cạnh đó cần có một chiến lược phục hồi nhanh nhất
khi hệ thống gặp sự cố.
Lập kế hoạch sao lưu
- Xác định những file, thư mục, các dịch vụ liên quan cần
sao lưu.
- Lựa chọn phương thức sao lưu.
- Xác định cách lưu trữ an toàn đảm bảo tính toàn vẹn cho
dữ liệu.
- Thực hiện test phục hồi trên môi trường ảo với nhiều cách
khác nhau so sánh kết quả và thời gian phục hồi. Đảm bảo
thời gian hệ thống ngừng hoạt động khi gặp sự cố càng
ngắn càng tốt.
- Lập các biểu đồ thống kê lưu lượng lưu trữ, thời gian sao
lưu, sao lưu thành công hay thất bại
Lựa chọn phương thức sao lưu
Các loại phương thức:
- Full backup
- Differential backup
- Incremental backup
- Copy
- Comparing strategies
Các loại nén dữ liệu lưu trữ
- Sử dụng câu lệnh tar để tạo file nén và giải nén file.
- Tham khảo các option của lệnh tar.
- Giải nén một thư mục.
- Sử dụng compress/uncompress.
- Sử dụng gzip/gunzip.
- Sử dụng zip and unzip.
Các công cụ sao lưu trên Linux
- tar
- mt
- dd
- dump and restore
- cpio
- pax
Cài đặt Simple Backup
- Simple backup là một chương trình cho phép bạn sao lưu
File và thư mục. Hiện tai phiên bản mới nhất của Simple
Backup là simple-backup.2.7.7
Bước 1: Cài đặt:
#mkdir /thu-muc-cai-dat
#cd /thu-muc-cai-dat
#wget
http://sourceforge.net/projects/migas-
sbackup/files/stable/1.8.1/simplebackup-1.8.1.tar.gz/download
#tar –xzvf simplebackup-1.8.1.tar.gz
Bước 2: Copy simplebackup.pl trong thư mục vừa giải nén
vào /usr/local/bin
#cp simplebackup.pl /usr/local/bin
Cài đặt Simple Backup
Bước 3: Tạo thư mục simplebackup trong /usr/local
#cd /usr/local
#mkdir simplebackup
Bước 4: Tạo file cấu hình backup.conf
#simplebackup.pl –econf backup.conf
Hoàn tất cài đặt SimpleBackup
Cấu hình Simple Backup
Bước 1: Sửa lại nội dung của tập tin backup.conf như sau:
#vi /sbackup/backup.conf
backup_format = tar.gz
input_backup = chỉ ra thư mục cần sao lưu
output_backup = chỉ ra thư mục ta sao lưu tới
Bước 2: Test file cấu hình như sau
# simplebackup.pl --tconf /sbackup/backup.conf
Bước 3: Chạy chương trình backup như sau:
#simplebackup.pl --conf /sbackup/backup.conf
Bước 4: Tạo crontab như sau
0 12 * * * /sbackup/simplebackup.pl --conf
/sbackup/backup.conf
Lệnh trên hẹn sao lưu lúc 12h
3 mode của Simple Backup
MODE 1: FULL BACKUP
MODE 2: DIFFERENTIAL BACKUP
MODE 3: INCREMENTAL BACKUP
Phục hồi
Lập chiến lược phục hồi cụ thể với:
simplebackup.pl --rconf full/path/config_file.conf
Kiểm tra Simple Backup
Học viên thực hành cấu hình Simplebackup căn bản trên
máy.
Học viên thực hành cấu hình Simplebackup kết hợp với hai
dịch vụ NFS và SSH để sao lưu server từ xa kết hợp Crontab
để lập lịch Backup tự động.
Giả lập trường hợp dữ liệu bị mất, thực hiện Restore ghi nhận
thời gian và so sánh.
Hỏi & Đáp
Bonus
Các đề tài gợi ý học viên nghiên cứu
1. Tìm hiểu và triển khai hệ thống ảo hóa trên môi trường
Linux sử dụng XEN.
2. Tìm hiểu và triển khai hệ thống tương tự Active Directory
(Windows) trên Linux.
3. Tìm hiểu và triển khai hệ thống backup cho doanh nghiệp
sử dụng Amanda, Barcuda và so sánh.
4. Tìm hiểu và triển khai hệ thống RT Ticket.
5. Tìm hiểu và triển khai NginX.
6. Tìm hiểu và triển khai Linux Virtual Server.
7. Tìm hiểu và triển khai hệ thống monitor với Zabbix, Cacti,
Nagios.
Các đề tài gợi ý học viên nghiên cứu
10. Tìm hiểu và triển khai HAProxy.
12. Tìm hiểu và triển khai Snort.
13. Tìm hiểu và triển khai hệ thống email sử dụng các phần
mềm sau: Postfix + OpenLDAP + Dovecot + Jamm + SASL +
SquirrelMail + Mail Scanner + ClamAV + Spamassassin.
14. Tìm hiểu và triển khai hệ thống GIT cho việc quản lý
source code.
15. Tìm hiểu và triển khai hệ thống thống kê với Awstats.
16. Tìm hiểu và triển khai PerconaXtraDB Cluster.
17. Tìm hiểu và triển khai hệ thống mail server với iRedmail.
18. Tìm hiểu hệ thống OpenVPN chứng thực các loại.
Các đề tài gợi ý học viên nghiên cứu
1. Tìm hiểu và triển khai hệ thống email cho doanh nghiệp trên môi trường Linux. Đề tài
nhằm xây dựng hệ thống email cho doanh nghiệp trên nền phần mềm mã nguồn mở chạy
trên Linux, bao gồm:
- Postfix (SMTP Server)
- Dovecot (IMAP Server)
- SquirrelMail (Web Mail)
- MySQL (Database)
- LDAP address book
- DNS Server để phân giải tên miền
2. Tìm hiểu và triển khai hệ thống mạng cho công ty sử dụng nhiều hệ điều hành. Đề tài
nhằm tìm hiểu và triển khai xây dựng hệ thống mạng cho doanh nghiệp mà sử dụng hỗn hợp
nhiều loại hệ điều hành, xây dựng hệ thống backup dữ liệu người dùng một cách tự động.
- Cài đặt OS, phần mềm thông qua mạng.
- Xây dựng môi trường chia sẻ file giữa Windows và Linux.
- Xây dựng hệ thống backup file ở các máy client (Windows và Linux).
- Xây dựng môi trường quản lí user tập trung.
Bai tap phan quyen
- Tạo user, cấu trúc folder fileserver theo mô hình công ty sau:
- Công ty có 3 phòng ban: kỹ thuật , kinh doanh, ban giám đốc
- Mỗi phòng ban trừ ban giam đốc thì có 2 nhân viên, và 1 trưởng
phòng
- Ban giám đốc gồm có Tổng Giám đốc và 2 phó giám đốc.
- Tạo foler cho các phòng ban nằm tại /ctydata
- Tạo 04 folder chứa dữ liệu chung của công ty, p_kythuat,
p_kinhdoanh, bangiamdoc, home trong /ctydata.
Bai tap phan quyen
- Cấu hình thay đổi home của người dùng sang /ctydata/home. Load
Biến môi trường cho người dùng.
- Cấu hình người dùng tương ứng với phòng ban nào sẽ được full quyền
trên folder của phòng ban đó. Còn những phòng ban khác thì chỉ được
đọc.
- Cấu hình Ban giám đốc được full quyền lên tất cả các thư mục.
- Cấu hình người dùng không được xóa/rename file folder của người
khác tạo ra

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

  • 1.
  • 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.
  • 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.
  • 5.
  • 6.
    Các thuật ngữ OpenSource: 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ànhLinux 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ácphiê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ủaLinux 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ụngdù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 địnhcủ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ảnLinux  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.
  • 17.
  • 18.
  • 19.
  • 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ảoluậ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ânvùng mặc định
  • 25.
    Cấu hình Bootloader -GRand Unified Bootloader (GRUB). - Boot Record (MBR). - First hard disk sector.
  • 26.
  • 27.
  • 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 Boottừ CD CentOS
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
    Demo Cài đặt Chúngta 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 Saukhi cài đặt thành công Màn hình login đầu tiên ta sẽ thấy:
  • 51.
    DEMO khôi phụcpassword user root. DEMO cách tắt tường lửa.
  • 52.
  • 53.
    Chương 3: Tập lệnhcơ 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 tinprocess 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
  • 60.
    - Tối đa255 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 tinhoặ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ộidung 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ườidù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òngdữ 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ểnhướ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ả outputcủ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: Xemnộ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ếmnộ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ìmfile 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áclệ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ứacá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 #setcommand #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ănbả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ănbả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ưutrữ 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 dichuyển trong command mode
  • 96.
    Sao chép trongvi • Đá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ườidù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ườidù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.
  • 105.
  • 106.
  • 107.
    Công cụ quảnlý 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 Danhsá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ậtkhẩ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ậtkhẩ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àikhoả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 groupcho 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
  • 116.
  • 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.
  • 119.
  • 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.
  • 124.
    Cấu trúc phânquyền dạng số
  • 125.
    Cấu trúc phânquyền dạng số
  • 126.
  • 127.
    Người dùng Ba loạingườ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ácquyề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ácký 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ácquyề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 chmodgồ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ểnquyề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 đặcbiệ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 UserID • 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 BitPermission • 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:
  • 142.
  • 143.
  • 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 đặttê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 đặttê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 đặttê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 đặttê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ácphân vùng
  • 154.
    Chia phân vùng •Cú pháp: fdisk [device] Ví dụ: fdisk /dev/sdb
  • 155.
    Các option củafdisk 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ạora 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ủamkfs 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 SWAPPARTITION #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ạngsử 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ânvù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ử tacó đĩ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àofile 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ộtcô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ấuhì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ấycó 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
  • 173.
  • 174.
  • 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 haycò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ấuhì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ânbiệ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ấuhì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 đặtLILO 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 imagelà 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ìnhinit 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
  • 186.
  • 187.
    • Tiến trìnhrc.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 thitấ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 scriptcó 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)
  • 190.
  • 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ươngtrì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 processcó 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ạiprocess 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 processlà 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ộtprocess 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ôngtin 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.
  • 204.
    • Xem danhsá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ínhnă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.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
    • Mỗi processcó 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 [–nnumber] [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.
    • &: Chomộ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 traBIOS, 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ậptin 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ếuscript 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ộtchương trình khởi động cùng hệ điều hành: • Hoặc: • Tắt: chkconfig
  • 224.
  • 225.
    Quản lý cácdị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ảntrị 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 tronghệ 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ấuhình: /etc/rsyslog.conf Dịch vụ syslogd
  • 230.
    Tập tin cấuhình: /etc/rsyslog.conf Dịch vụ syslogd
  • 231.
     Khởi độnglạ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ố thamsố 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ôngcụ 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.
  • 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: SYSLOGauthpriv: 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
  • 241.
  • 242.
    Trước khi chophé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
  • 243.
  • 244.
  • 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ềmtrê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ấngó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ấtcả 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ộtgó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: Downloadgó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êndị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ôngcụ 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ếmmộ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 đặtgó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
  • 260.
  • 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ạngtrê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ấuhì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ấuhì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ấuhì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ấuhì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ấuhì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 IPcard 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 IPcard 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 IPcard 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 đượccấ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ênThực hành cấu hình IP Card mạng trên máy
  • 276.
  • 277.
  • 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ì? NFSlà 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
  • 280.
  • 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 Startservice 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ước1: 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 Clientsử 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ấuhình NFS Server Học viên thực hành cấu hình NFS Server trên máy
  • 289.
  • 290.
  • 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 FTPviế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 độngchí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 FTPphâ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 PassiveMode: - 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.
  • 296.
  • 297.
    Cài đặt FTPServer  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 FTPServer 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 FTPServer 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ấuhình FTP Server Học viên thực hành cấu hình FTP Server trên máy
  • 301.
  • 302.
  • 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 giaothứ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ịchvụ 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ấuhì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 SSHServer - 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ầnthự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
  • 311.
  • 312.
    Chương 14: Dynamic HostConfiguration 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 giaothứ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 giaothứ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.
  • 317.
    Cài đặt cấuhì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 DHCPServer 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 DHCPClient 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ấuhình DHCP Server Học viên thực hành cấu hình DHCP Server trên máy
  • 322.
  • 323.
    Chương 15: Domain NameSystem (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 giaothức DNS ĐẶT VẤN ĐỀ - 1
  • 326.
    Giới thiệu giaothức DNS  Giải pháp người dùng nhớ Domain Name thay IP
  • 327.
    Giới thiệu giaothứ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 giaothứ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.
  • 330.
    Giới thiệu giaothứ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 giaothứ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 DNSServer • 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.
  • 334.
    Cài đặt DNSServer  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 DNSServer 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 DNSServer (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 DNSServer (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ấuhình DNS Server Học viên thực hành cấu hình DNS Master Slave trên máy
  • 339.
  • 340.
  • 341.
    Các vấn đềthảo luận  Giới thiệu WebServer  Cài đặt WebServer  Cấu hình WebServer  Cấu hình Virtual host
  • 342.
    Giới thiệu WebServer -Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web. - Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt. Chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx...; Apache dành cho *.php...; Sun Java System Web Server của SUN dành cho *p... - Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng.
  • 343.
    Cài đặt WebServer 1.Cài đặt Apache và PHP Thực hiện lệnh #yum install httpd* php* -y 2. Cấu hình Apache: Giải thích các dòng trong File cấu hình /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" Timeout 120 KeepAlive On MaxKeepAliveRequests 0 KeepAliveTimeout 10 StartServers 5 MaxClients 512 ServerLimit 1024 MaxRequestsPerChild 0 Listen 1.2.3.4:80 Listen 1.2.3.4:443
  • 344.
    Cấu hình Virtualhost WebServer Cấu hình virtual host webServer <VirtualHost ip:80> ServerAlias www.webserver.com ServerAdmin webmaster@www.webserver.com DocumentRoot /var/www/html BytesLog logs/www.webserver.com-bytes_log ServerName webserver.com User apache Group apache CustomLog /var/www/html/logs/www.webserver.com combined ( hoặc common) </VirtualHost> Khởi động dịch vụ httpd #/etc/init.d/httpd start|stop|restart
  • 345.
    Thực hành Học viêncấu hình 2 Virtual host: vnlamp.com và vnlamp.net trên cùng 1 Web Server.
  • 346.
  • 347.
  • 348.
    Các vấn đềthảo luận  Giới thiệu WebServer  Cài đặt WebServer  Cấu hình WebServer  Cấu hình Virtual host
  • 349.
    - Email Server- Máy chủ thư điện tử là máy chủ dùng để gửi và nhận thư điện tử, là một giải pháp Email dành cho các doanh nghiệp để quản lý và truyền thông nội bộ, thực hiện các giao dịch thương mại yêu cầu sự ổn định, tính liên tục và với tốc độ nhanh, đồng thời đảm bảo tính an toàn của dữ liệu, khả năng backup cao.... - Hệ thống thư điện tử chuẩn phải giải quyết được các vấn đề như mail bị virus, spam, bị đưa vào blacklist, không check được webmail, check online/offline, không thể kiểm soát nội dung... Email Server là gì?
  • 350.
    - Email servercó thể xử lý số lượng lớn thư điện tử hàng ngày. - Có server riêng biệt. - Email server có tính năng bảo mật an toàn dữ liệu. - Có hệ thống quản trị (Control panel) để quản lý và tạo các tài khoản email cho nhân viên. - Có thể cài đặt dung lượng tối đa cho từng email. - Nhân viên có thể tự đổi mật khẩu riêng với email server - Kiểm tra và quản lý nội dung email của nhân viên trong công ty. - Email server có khả năng chống virus và spam mail hiệu quả cực cao. - Email server hỗ trợ Forwarder Email để cài đặt Email Offline. - Có thể check mail trên cả webmail và Outlook Express. Các đặc tính của hệ thống Email
  • 351.
    - Hệ thốngMail Server là một hệ thống tổng thể bao gồm nhiều thành phần hoạt động tương tác với nhau. SMTP Server: gọi là Mail Transfer Agent (MTA). SMTP server sử dụng để chuyển e-mail từ người gửi đến Mail Server chứa hộp thư, dùng giao thức SMTP. POP3/IMAP Server: Gọi là Mail Delivery Agent (MDA), lưu các thư nhận được vào hệ thống và khi cần người dùng sử dụng chương trình mail client lấy các thư này về máy tính để đọc. Chương trình mail client giao tiếp với POP/IMAP server dựa trên giao thức POP3/IMAP. Thông thường mail server hỗ trợ cả hai giao thức SMTP và POP3, còn IMAP thì ít hơn. Các thành phần của hệ thống Email
  • 352.
    Mail User Agent(MUA): Trình tương tác với người dùng, soạn thảo, gửi hoặc nhận e-mail. DNS Server: Lưu trữ 1 hoặc nhiều bản ghi MX cho các tên miền, nhằm xác định địa chỉ của hệ thống Mail muốn giao tiếp. Database server: Lưu trữ các thông tin về người dùng hệ thống, cung cấp dữ liệu phục vụ cho vấn đề chứng thực người dùng. Webserver, webmail: Cung cấp giao diện người dùng nền web, người dùng có thể thực hiện các thao tác tương tác với hệ thống qua giao diện này. Các thành phần của hệ thống Email
  • 353.
    Một hệ thốngEmail chuẩn
  • 354.
    Gỡ cài đặtSendmail. #yum remove sendmail –y Cài đặt postfix #yum install postfix* dovecot* -y Cấu hình postfix #vi /etc/postfix/main.cf myhostname = mail mydomain = vnlamp.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.2.0/24 home_mailbox = Maildir/ Cài đặt và cấu hình postfix
  • 355.
    #vi /etc/dovecot.conf protocol imap{ listen = *:143 # ssl_listen = *:10943 } protocol pop3 { listen = *:110 } #/etc/init.d/postfix start #/etc/init.d/dovecot start Cấu hình dovecot
  • 356.
    header_checks = regexp:/etc/postfix/header_checks body_checks= regexp:/etc/postfix/body_checks #vi /etc/postfix/header_checks /^Subject:.*virus*/ REJECT #vi /etc/postfix/body_checks /trojan/ REJECT Tạo group mail: #vi /etc/aliases test: test1,test2 #postalias /etc/aliases Header & body check
  • 357.
    Học viên cấuhình một hệ thống Email: - Postfix (SMTP Server) - Dovecot (IMAP Server) - SquirrelMail (Web Mail) - Database chứng thực bằng /etc/password. Thực hành
  • 358.
  • 359.
  • 360.
    Các vấn đềthảo luận  Giới thiệu giao thức SMB  Hiểu, cài đặt, cấu hình Samba  Thiết lập Samba công cộng  Mô hình WORKGROUP  Quản lý Samba với SWAT  Samba Client
  • 361.
    Giới thiệu giaothức SMB ĐẶT VẤN ĐỀ Làm thế nào để chia sẻ tài nguyên giữa các hệ điều hành khác nhau?
  • 362.
    Giới thiệu giaothức SMB - SMB = Session Message Block - Hoạt động Tầng ứng dụng Chức năng: Là một giao thức của Microsoft được sử dụng để chia sẻ tài nguyên và máy in giữa các máy hệ điều hành Window với nhau. Samba là chương trình tiện ích sử dụng giao thức smb và nmb (NetBiOS name) hỗ trợ chia sẻ tài nguyên từ hệ thống Linux với các hệ thống khác như Linux, Unix, Windows, MacOS.  Mô hình Client - Server, Client - Client: Port: 137, 138 (UDP), 139 (TCP) và 445
  • 363.
    Hiểu về Samba Tàikhoản và Mật khẩu: Samba sử dụng cơ sở dữ liệu lưu tài khoản và mật khẩu của người dùng hoàn toàn tách biệt với hệ thống chứng thực của Linux. Samba được dùng để thiết lập các: - Linux Server như một file server công cộng không chứng thực người sử dụng - Linux Server như một file server có chứng thực người sử dụng theo mô hình workgroup - Linux Server như một Primary Domain Controller
  • 364.
    Cài đặt Samba Cácgói phần mềm cần phải có Server: samba, samba-common, samba-swat Client: samba-common and samba-client. #yum install samba-* -y Khởi động | dừng dịch vụ: #/etc/init.d/smb start|stop|restart #/etc/init.d/nmb start|stop|restart
  • 365.
    Cấu hình Samba •File cấu hình /etc/samba/smb.conf cho phép thiết lập như sau: - Chọn mô hình mạng workgroup/domain - Thiết đặt chế độ chứng thực người dùng - Mô tả các tài nguyền được chia sẻ - Đóng vai trò là Domain Controller - Tích hợp vào Active Directory
  • 366.
    Thiết lập SambaServer công cộng • Samba/Linux Server chia sẻ thư mục • Máy trạm Windows, Linux, MacOS truy cập vào thư mục chia sẻ Theo hai cách - Địa chỉ thư mục chia sẻ: DiaChiServerTenThuMucChiaSe hoặc NetBiOS_NameTenThuMucChiaSe - Dùng chức năng Network Places để tìm (browse) server Nhập username /password - Nếu là tài khoản của samba, truy cập vào tài nguyên theo các quyền đã được cấp cho tài khoản này. - Nếu không là tài khoản của samba, truy cập vào tài nguyên dưới danh nghĩa của một tài khoản mặc định «smbguest».
  • 367.
    Cấu hình SambaServer công cộng • Sửa đổi tập tin smb.conf • Phần mô tả tổng quát [global] workgroup = tên mô hình mạng netbios name = Tên file server server string = Mô Tả về Server security = share hosts allow = 10.254.60. 192.168.56. chỉ cho phép các máy tính này được truy cập wins support = yes
  • 368.
    Đặc tả thưmục chia sẻ • Sửa đổi tập tin smb.conf • Định nghĩa các thư mục chia sẻ [Data] path = /home/ guest ok = Yes writeable = No read only = Yes create mask = 0755 force user = root force group = root [testsmb] path = /home/testsmb guest ok = Yes writeable = Yes read only = No create mask = 0755 browseable = no force user = testsmb force group = testsmb
  • 369.
    Kiểm tra lạidịch vụ • Kiểm tra tính đúng đắn của file cấu hình #testparm Khởi động lại dịch vụ samba #/etc/init.d/smbd restart #/etc/init.d/nmbd restart Truy cập vào thư mục công cộng • Khởi động một máy tính windows • Mở cửa sổ MS-DOS; Ping đến địa chỉ IP của Samba/Linux server để kiểm tra nối kết mạng • Truy cập đến các thư mục chia sẻ trên Samba/Linux Bằng chức năng Network places Hoặc Server-IP • Nhập tên và mật khẩu bất kỳ khi yêu cầu • Thử tạo thư mục/tập tin trong các thư mục chia sẻ data và testsmb
  • 370.
    Mô hình workgroup -Samba duy trì một cơ sở dữ liệu tài khoản riêng. - Có thể đồng bộ hóa tài khoản người dùng từ của Linux sang samba bằng tiện ích libpam-smbpass # yum install libpam-smbpass - Đưa tài khoản người dùng Linux vào samba và đặt mật khẩu trên samba # smbpasswd -a username - Nhập mật khẩu cho người dùng samba này Lưu ý: Người dùng username là tên một tài khoản đã tồn tại trên Linux
  • 371.
    Quản lý Sambavới SWAT - Sử dụng SWAT (Samba Web Administration Tool) để thao tác lên Samba Server dễ dàng hơn. - Tất cả mọi cấu hình đều được thao tác qua giao diện web. SWAT sẽ chuyển những thông tin từ trình duyệt web của người quản trị thành những cấu hình trong file cấu hình smb.conf. - Swat được điều khiển bởi xinetd
  • 372.
    Cài đặt SWAT File cấu hình chính của Swat: /etc/xinetd.d/swat  Mặc định SWAT ở trạng thái disabled service swat { port = 901 socket_type = stream wait = no only_from = localhost user = root server = /usr/sbin/swat log_on_failure += USERID disable = no }  Khởi động lại xinetd Vào trình duyệt Web trong hệ thống mạng LAN truy cập http://<IP Samba Server>:901
  • 373.
  • 374.
    Samba client Tập lệnhđược sử dụng trên hệ điều hành Linux để truy xuất đến Samba Server Browse server: #smbclient -L hostname Ví dụ: # smbclient -L IP Remote access #smbclient //server/share Ví dụ: # smbclient //server/data Mount với smbmount # smbmount //server/data /mnt Unmount this directory với umount: # smbumount /mnt/data
  • 375.
    Thực hành Học viêncấu hình Linux Server như một file server có chứng thực người sử dụng theo mô hình workgroup
  • 376.
  • 377.
  • 378.
    Các vấn đềthảo luận  Hiểu về Proxy  Cài đặt Squid Proxy  Cấu hình Squid Proxy
  • 379.
    Hiểu về Proxy 1.Proxy là gì? - Là một chương trình trung gian thay thế cho Server thật sự mà người dùng cần giao tiếp. - Proxy xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp đến những yêu cầu từ client đến server, cũng như đáp ứng những yêu cầu của server đến client. Vì vậy proxy server giống cầu nối trung gian giữa server và client
  • 380.
    Hiểu về Proxy 2.Lợi ích của Proxy: - Tăng tốc độ truy cập trang web - Kiểm soát được user đã truy cập web gì. - Bảo mật thông tin hệ thống mạng bên trong. ***Proxy chỉ an toàn khi ta biết rõ về nó. 3. Squid Proxy: - Là một chương trình Internet proxy-caching có vai trò tiếp nhận các yêu cầu từ các clients và chuyển cho Internet server thích hợp. - Đồng thời, nó cũng lưu lại trên đĩa những dữ liệu được trả về từ Internet server gọi là caching. Những giao thức hỗ trợ trên Squid: HTTP, FTP, SSL, …
  • 381.
  • 382.
    Cài đặt SquidProxy 1. Cài đặt: Kiểm tra Squid đã có trên hệ thống chưa: #rpm -qa | grep squid Nếu chưa có thì thực hiên câu lệnh cài đặt: #yum install squid -y Kiểm tra lại:
  • 383.
    Cấu hình SquidProxy - File cấu hình của squid nằm ở /etc/squid/squid.conf - Port kết nối: Mặc định squid sử dụng port 3128, có thể cấu hình để sử dụng port 8080 giống với nhiều server ngoài thực tế: http_port 8080 - Nơi lưu file cache của squid: cached_dir <type> <directory> <size> <first level dir> <second level dir> Ví dụ: cached_dir ufs /usr/local/squid/var/cache/ 100 16 256 1. Lưu cache tại thư mục /usr/local/squid/var/cached/ dạng ufs (default), dung lượng tối đa 100MB. Số thư mục con cấp 1 là 16, cấp 2 là 256. 2. Cache_mem 16MB #Dùng 16MB Ram lưu cache ****Sau khi cấu hình xong hoàn tất sử dụng lệnh : #squid –z để tạo cache_dir
  • 384.
    Cấu hình SquidProxy - Mặc định, mọi kết nối thông qua squid sẽ được lưu vào tập tin /var/log/squid/access.log, việc sử dụng cached sẽ lưu vào file log /var/log/squid/cache.log - Nơi lưu trữ này có thể tùy chỉnh qua tham số: access_log và cache_log trong file cấu hình 1. access_log /var/log/squid/access.log 2. cache_log /var/log/squid/cache.log
  • 385.
    Cấu hình SquidProxy Điều khiển truy cập - Việc điều khiển truy cập trang web trong squid thường thông qua 2 dòng lệnh cấu hình: acl : định nghĩa các “bộ lọc” để so khớp các truy xuất web + Cú pháp: acl <name> <type> <[!]options> http_access: qui định các truy xuất web là được phép (allow) hay bị cấm (deny) + Cú pháp: http_access <allow|deny> <[!]acl1> <[!]acl2> - Ví dụ: Cho phép các máy từ đường mạng 192.168.1.0/24 hoặc 192.168.2.0/24 được truy xuất web thông qua proxy acl allow_subnet src 192.168.1.0/255.255.255.0 http_access allow allow_subnet
  • 386.
    Cấu hình SquidProxy Học viên thực hành trên máy Cấu hình Squid Proxy và thiết lập một số Rule căn bản như sau: 1. Cấm truy cập web trong thời gian làm việc. 2. Hạn chế truy cập và download theo định dạng file. 3. Hạn chế băng thông. 4. Hạn chế download upload (header body của mỗi gói tin). 5. Redirect về 1 trang web khi squid cấm. 6. Chỉ cho phép tối đa 5 connection sử dụng proxy. 7. Chứng thực người dùng khi sử dụng Squid.
  • 387.
  • 388.
  • 389.
    Các vấn đềthảo luận  Tường lửa là gì?  Đặc điểm các loại tường lửa.  Tại sao sử dụng tường lửa?  Phần mềm Shorewall.
  • 390.
    Tường lửa làgi? - Là rào chắn mà một số cá nhân, tổ chức, doanh nghiệp, cơ quan nhà nước lập ra nhằm ngăn chặn người dùng mạng Internet truy cập các thông tin không mong muốn hoặc/và ngăn chặn người dùng từ bên ngoài truy nhập các thông tin bảo mật nằm trong mạng nội bộ. - Tường lửa có hai loại: phần mềm hoặc phần cứng: + Tường lửa cứng: Là những firewall được tích hợp trên Router. + Tường lửa mềm: Là những phần mềm được cài đặt trực tiếp trên Server.
  • 391.
    Đặc điểm cácloại tường lửa Đặc điểm của Firewall cứng: - Không được linh hoạt như Firewall mềm: (Không thể thêm chức năng, thêm quy tắc như firewall mềm) - Firewall cứng hoạt động ở tầng thấp hơn Firewall mềm (Tầng Network và tầng Transport). - Firewall cứng không thể kiểm tra được nột dung của gói tin. + Ví dụ Firewall cứng: thiết bị firewall của cisco, astaro, fotigate, sonicwall, nokia, junniper
  • 392.
    Đặc điểm cácloại tường lửa Đặc điểm của Firewall mềm: - Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chức năng. - Firewall mềm hoạt động ở tầng cao hơn Firewall cứng (tầng ứng dụng). - Firewal mềm có thể kiểm tra được nội dung của gói tin (thông qua các từ khóa). + Ví dụ về Firewall mềm: Zone Alarm, iptables, TMG…
  • 393.
    Tại sao sửdụng tường lửa ** Đặt vấn đề: Khi máy tính người dùng kết nối Internet mà không có Firewall?  hacker, trojan, virus có thể truy cập và lấy cắp thông tin cá nhân Sử dụng Firewall: - Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra Internet). - Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internet vào Intranet). - Theo dõi luồng dữ liệu mạng giữa Internet và Intranet. - Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập. - Kiểm soát người sử dụng và việc truy nhập của người sử dụng. - Kiểm soát nội dung thông tin thông tin lưu chuyển trên mạng.  Phòng chống rủi ro về vấn đề an toàn thông tin
  • 394.
    Shorewall - Là mộtbức tường lửa xây dựng trên Netfilter / Iptables của dòng hệ điều hành Linux. - Là một công cụ cấu hình Netfilter cấp cao. Shorewall dựa vào mô tả của người dùng trong các file cấu hình từ đó chuyển các cấu hình này sang các rule của iptables một cách tối ưu và linh hoạt nhất. - Về bản chất shorewall đóng vai trò trung gian cho việc giao tiếp giữa người dùng và iptables. Shorewall là lựa chọn tốt nhất cho một giải pháp firewall trên linux vì nó có khả năng xử lý linh hoạt và thay đổi nhanh các biến môi trường trong hệ thống mạng. Ưu điểm mạnh nhất của shorewall là cơ chế check lỗi trước khi đưa vào hoạt động
  • 395.
    Cài đặt Shorewall 1.Cài đặt: #yum install wget perl* #wget http://www.shorewall.net/pub/shorewall/CURRENT_STABLE _VERSION_IS_4.5/shorewall-4.5.20/shorewall-core-4.5.20- 0base.noarch.rpm #wget http://www.shorewall.net/pub/shorewall/CURRENT_STABLE _VERSION_IS_4.5/shorewall-4.5.20/shorewall-4.5.20- 0base.noarch.rpm #rpm –ivh shorewall-core-4.5.20-0base.noarch.rpm #rpm –ivh shorewall-4.5.20-0base.noarch.rpm
  • 396.
    Cấu hình Shorewall CácFile cấu hình: 1. /etc/shorewall/shorewall.conf: dùng để thiết lập biến toàn cục cho firewall. 2. /etc/shorewall/zones: chia những vùng mạng trong hệ thống. 3. /etc/shorewall/interfaces: định nghĩa card mạng thuộc vùng mạng nào. 4. /etc/shorewall/policy: áp đặt những chính sách cho phép hoặc cấm truy cập cho toàn hệ thống. 5. /etc/shorewall/rules: Những trường hợp ngoại lệ của file policy. 6. /etc/shorewall/masq: file định nghĩa NAT nhiều-một hoặc nhiều-nhiều.
  • 397.
    Cấu hình Shorewall Môhình Shorewall 2 card mạng
  • 398.
    Các bước cấuhình shorewall 1. Chỉnh file shorewall.conf STARTUP_ENABLED=Yes 2. Chỉnh file zones #ZONE DISPLAY COMMENTS net ipv4 loc ipv4
  • 399.
    Các bước cấuhình shorewall 3. Chỉnh file interfaces #ZONE INTERFACE BROADCAST OPTIONS GATEWAY net eth0 detect - loc eth1 detect - 4. Chỉnh file policy #SOURCE DEST POLICY LOG LIMIT:BURST LEVEL net net DROP fw all ACCEPT net all DROP info all all REJECT info
  • 400.
    Các bước cấuhình shorewall 5. Chỉnh file masq #INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth0 eth1 Hoàn tất cấu hình Shorewall 2 interfaces cơ bản. Các lệnh khởi động dịch vụ. #/etc/init.d/shorewall start|stop|restart|check start: khởi động dịch vụ stop: ngưng dịch vụ restart: khởi động lại dịch vụ check: kiểm tra lỗi các file cấu hình
  • 401.
    Các bước cấuhình Shorewall Học viên thực hành cấu hình shorewall hoàn chỉnh. Thiết lập một số rule căn bản như sau: - Cấu hình cho bên ngoài Internet truy cập vào được Local các dịch vụ http,ssh,dns. - Cấu hình cấm tất cả các truy cập không hợp lệ. - Cấu hình shorewall kết hợp redirect với squid proxy - Cấu hình NAT one-to-one - Cấu hình DNAT
  • 402.
  • 403.
    Chương 21: Sao lưuvà phục hồi dữ liệu
  • 404.
    Các vấn đềthảo luận  Tại sao phải sao lưu (backup) dữ liệu?  Lập kế hoạch sao lưu.  Lựa chọn phương thức sao lưu.  Các loại nén dữ liệu.  Các loại sao lưu trên hệ thống Linux.  Simple Backup  Phục hồi
  • 405.
    Tại sao phảisao lưu dữ liệu (Backup) Đặt vấn đề: Mỗi ngày các dữ liệu quan trọng đều được lưu trữ trên một Server. Điều gì sẽ xảy ra khi ổ cứng hư đột ngột? Ảnh hưởng đến cá nhân và toàn thể công ty, các dữ liệu mật đều bị mất có thể gây thiệt hại rất lớn. Cần đề ra một chiến lược sao lưu dữ liệu hợp lý theo thời gian cụ thể một cách tự động. Bên cạnh đó cần có một chiến lược phục hồi nhanh nhất khi hệ thống gặp sự cố.
  • 406.
    Lập kế hoạchsao lưu - Xác định những file, thư mục, các dịch vụ liên quan cần sao lưu. - Lựa chọn phương thức sao lưu. - Xác định cách lưu trữ an toàn đảm bảo tính toàn vẹn cho dữ liệu. - Thực hiện test phục hồi trên môi trường ảo với nhiều cách khác nhau so sánh kết quả và thời gian phục hồi. Đảm bảo thời gian hệ thống ngừng hoạt động khi gặp sự cố càng ngắn càng tốt. - Lập các biểu đồ thống kê lưu lượng lưu trữ, thời gian sao lưu, sao lưu thành công hay thất bại
  • 407.
    Lựa chọn phươngthức sao lưu Các loại phương thức: - Full backup - Differential backup - Incremental backup - Copy - Comparing strategies
  • 408.
    Các loại néndữ liệu lưu trữ - Sử dụng câu lệnh tar để tạo file nén và giải nén file. - Tham khảo các option của lệnh tar. - Giải nén một thư mục. - Sử dụng compress/uncompress. - Sử dụng gzip/gunzip. - Sử dụng zip and unzip.
  • 409.
    Các công cụsao lưu trên Linux - tar - mt - dd - dump and restore - cpio - pax
  • 410.
    Cài đặt SimpleBackup - Simple backup là một chương trình cho phép bạn sao lưu File và thư mục. Hiện tai phiên bản mới nhất của Simple Backup là simple-backup.2.7.7 Bước 1: Cài đặt: #mkdir /thu-muc-cai-dat #cd /thu-muc-cai-dat #wget http://sourceforge.net/projects/migas- sbackup/files/stable/1.8.1/simplebackup-1.8.1.tar.gz/download #tar –xzvf simplebackup-1.8.1.tar.gz Bước 2: Copy simplebackup.pl trong thư mục vừa giải nén vào /usr/local/bin #cp simplebackup.pl /usr/local/bin
  • 411.
    Cài đặt SimpleBackup Bước 3: Tạo thư mục simplebackup trong /usr/local #cd /usr/local #mkdir simplebackup Bước 4: Tạo file cấu hình backup.conf #simplebackup.pl –econf backup.conf Hoàn tất cài đặt SimpleBackup
  • 412.
    Cấu hình SimpleBackup Bước 1: Sửa lại nội dung của tập tin backup.conf như sau: #vi /sbackup/backup.conf backup_format = tar.gz input_backup = chỉ ra thư mục cần sao lưu output_backup = chỉ ra thư mục ta sao lưu tới Bước 2: Test file cấu hình như sau # simplebackup.pl --tconf /sbackup/backup.conf Bước 3: Chạy chương trình backup như sau: #simplebackup.pl --conf /sbackup/backup.conf Bước 4: Tạo crontab như sau 0 12 * * * /sbackup/simplebackup.pl --conf /sbackup/backup.conf Lệnh trên hẹn sao lưu lúc 12h
  • 413.
    3 mode củaSimple Backup MODE 1: FULL BACKUP MODE 2: DIFFERENTIAL BACKUP MODE 3: INCREMENTAL BACKUP
  • 414.
    Phục hồi Lập chiếnlược phục hồi cụ thể với: simplebackup.pl --rconf full/path/config_file.conf
  • 415.
    Kiểm tra SimpleBackup Học viên thực hành cấu hình Simplebackup căn bản trên máy. Học viên thực hành cấu hình Simplebackup kết hợp với hai dịch vụ NFS và SSH để sao lưu server từ xa kết hợp Crontab để lập lịch Backup tự động. Giả lập trường hợp dữ liệu bị mất, thực hiện Restore ghi nhận thời gian và so sánh.
  • 416.
  • 417.
  • 418.
    Các đề tàigợi ý học viên nghiên cứu 1. Tìm hiểu và triển khai hệ thống ảo hóa trên môi trường Linux sử dụng XEN. 2. Tìm hiểu và triển khai hệ thống tương tự Active Directory (Windows) trên Linux. 3. Tìm hiểu và triển khai hệ thống backup cho doanh nghiệp sử dụng Amanda, Barcuda và so sánh. 4. Tìm hiểu và triển khai hệ thống RT Ticket. 5. Tìm hiểu và triển khai NginX. 6. Tìm hiểu và triển khai Linux Virtual Server. 7. Tìm hiểu và triển khai hệ thống monitor với Zabbix, Cacti, Nagios.
  • 419.
    Các đề tàigợi ý học viên nghiên cứu 10. Tìm hiểu và triển khai HAProxy. 12. Tìm hiểu và triển khai Snort. 13. Tìm hiểu và triển khai hệ thống email sử dụng các phần mềm sau: Postfix + OpenLDAP + Dovecot + Jamm + SASL + SquirrelMail + Mail Scanner + ClamAV + Spamassassin. 14. Tìm hiểu và triển khai hệ thống GIT cho việc quản lý source code. 15. Tìm hiểu và triển khai hệ thống thống kê với Awstats. 16. Tìm hiểu và triển khai PerconaXtraDB Cluster. 17. Tìm hiểu và triển khai hệ thống mail server với iRedmail. 18. Tìm hiểu hệ thống OpenVPN chứng thực các loại.
  • 420.
    Các đề tàigợi ý học viên nghiên cứu 1. Tìm hiểu và triển khai hệ thống email cho doanh nghiệp trên môi trường Linux. Đề tài nhằm xây dựng hệ thống email cho doanh nghiệp trên nền phần mềm mã nguồn mở chạy trên Linux, bao gồm: - Postfix (SMTP Server) - Dovecot (IMAP Server) - SquirrelMail (Web Mail) - MySQL (Database) - LDAP address book - DNS Server để phân giải tên miền 2. Tìm hiểu và triển khai hệ thống mạng cho công ty sử dụng nhiều hệ điều hành. Đề tài nhằm tìm hiểu và triển khai xây dựng hệ thống mạng cho doanh nghiệp mà sử dụng hỗn hợp nhiều loại hệ điều hành, xây dựng hệ thống backup dữ liệu người dùng một cách tự động. - Cài đặt OS, phần mềm thông qua mạng. - Xây dựng môi trường chia sẻ file giữa Windows và Linux. - Xây dựng hệ thống backup file ở các máy client (Windows và Linux). - Xây dựng môi trường quản lí user tập trung.
  • 421.
    Bai tap phanquyen - Tạo user, cấu trúc folder fileserver theo mô hình công ty sau: - Công ty có 3 phòng ban: kỹ thuật , kinh doanh, ban giám đốc - Mỗi phòng ban trừ ban giam đốc thì có 2 nhân viên, và 1 trưởng phòng - Ban giám đốc gồm có Tổng Giám đốc và 2 phó giám đốc. - Tạo foler cho các phòng ban nằm tại /ctydata - Tạo 04 folder chứa dữ liệu chung của công ty, p_kythuat, p_kinhdoanh, bangiamdoc, home trong /ctydata.
  • 422.
    Bai tap phanquyen - Cấu hình thay đổi home của người dùng sang /ctydata/home. Load Biến môi trường cho người dùng. - Cấu hình người dùng tương ứng với phòng ban nào sẽ được full quyền trên folder của phòng ban đó. Còn những phòng ban khác thì chỉ được đọc. - Cấu hình Ban giám đốc được full quyền lên tất cả các thư mục. - Cấu hình người dùng không được xóa/rename file folder của người khác tạo ra