linux network administration (lpi-1,lpi-2)

Post on 22-Feb-2017

827 Views

Category:

Technology

17 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Mục LụcChương 1: Giới thiệu hệ điều hành Linux 3Chương 2: Cài đặt CentOS 19Chương 3: Tập lệnh căn bản 53Chương 4: Quản trị người dùng 100Chương 5: Quản lý hệ thống tập tin 120Chương 6: Quản lý Boot loader 143Chương 7: Quản lý ổ cứng 174Chương 8: Quản lý tiến trình và dịch vụ cơ sở 191Chương 9: Cài đặt phần mềm 244Chương 10: Cài đặt, cấu hình mạng 261Chương 11: Network File System (NFS) 277Chương 12: FTP 290Chương 13: The Secure Shell (SSH) 302Chương 14: DHCP 312Chương 15: Domain Name System (DNS) 323Chương 16: Web Server 340Chương 17: Mail Server 347Chương 18: Samba 359Chương 19: Squid Proxy Server 377Chương 20: Linux Firewall 388Chương 21: Sao lưu & Restore 403Bonus 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ủacác hệ điều hành khác.

Hệ điều hành rất ổn định, hiệu năng cao và đang đượcphá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ĩadựa trên Linux kernel version gồm 2 thành phần:

Major numberMinor number

Ví dụ: CentOS 6.4 kernel 2.6Ubuntu 13.10 kernel 3.2

Ưu điểm của LinuxRisk 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ườngkinh 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ềmvà 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 trasource 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ạitườ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ốngtự 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àotrong 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ácthao tác lên bàn phím xuống cho hệ điều hành biết phải làmgì.

• Hầu hết tất cả các phiên bản Linux đều sử dụng chương trìnhshell 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 lsGhi chú: Có khá nhiều loại shell trên Linux, kiểm tra đang dùng loạishell 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ạngkhô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 0stdout 1stderr 2

Ví dụ: Thực hiện lệnh ls, các thông báo lỗi sẽ xuất ra fileerror.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ủalệ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/passwdcat /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ặccat /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 / | nlXem 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 input1;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ừ conftrong 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ậtdatabase 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 clear2 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ảnphổ 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ảovă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 0Hoặc#shutdown –h now• Restart:#init 6Hoặ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 giansử 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 (ítkhi dùng đến).

/etc/passwd

• File /etc/passwd : Mỗi dòng trong file ứng với một ngườidù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ườidù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 tronghome 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 trongnhững file này.

Chính sách về mật khẩu

Chính sách về mật khẩuMậ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 đổipassword 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àihome 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ỉnhbằ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/sudoersNhững ai được sudo?

Việc ai được phép sudo, và khi sudo sẽ được thực thi những quyền hạnnà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ảicó, 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áchnhau 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êngroup.

- Có thể dùng từ khóa ALL để chỉ tất cả mọi user/serverhoặ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ộtserver 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ới3 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ẫncả 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ốicù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 rahệ thống sẽ lấy (initial default permission) AND ( NOT umask).

chownLệnh chown

• Sử dụng lệnh chown để đổi quyền sở hữu tập tin, thư mụccho 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

chgrpLệnh chgrp:

• Chuyển quyền sở hữu tập tin cho group khác (phần ownergiữ 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àosang cho group linux.

Thay đổi Umask• Xem giá trị umask:

$ umask0022

• Đổi giá trị umask sang 027$umask 027

Chỉnh trong /etc/profile hoặc /etc/bashrc, thêm dòngumask 022umask 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

SUIDSet User ID• Khi user thực thi một file, user có thể “mượn” quyền củauser 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ềnexecuteký tự s sẽ chuyển thành S (viết hoa).

Set UIDSet 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>

SGIDSet Group ID

• Tương tự như suid, file nếu có quyền sgid khi user khácthực thi file này sẽ “mượn” tạm quyền hạn của group quảnlý file đó.

• File có quyền sgid sẽ thể hiện ký tự “s” ở quyền executecủa group. Nếu group không có quyền execute, ký tự S sẽviết hoa.

Sticky bitSticky 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 trongthư 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 tinLoạ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ôngsử 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úcinodes khác nhau. Mỗi inode bao gồm tất cả những thông tinvề 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/hdaPrimary master IDE (often the hard disk) /dev/hdbPrimary slave IDE /dev/hdcSecondary master IDE (often a CD-ROM) /dev/hddSecondary 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ạitrô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 đánhdấ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 partitionLogical 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ọnkí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ểupartition.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êncác paritition này (có thể xem tương tự như việc formatcá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ấtoutput.-v Used to enter verbose mode (xuất tất cả mọi thôngtin 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ề freespace.

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ụcgố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 umountmà 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ầnkết buộc ổ đĩa này thành thư mục /mnt/USB ta thực thi cácbướ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ỗidò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 “,” defaultsgồ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ưngchỉ có những super user mới được umountusers, cho phép mọiuser 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ữngdò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ênthê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 systemcủ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 ext3defaults,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ạydị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 trongkhoả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, LILOthì 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áchệ đ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ớicách thông thường của Linux.

• GRUB không phân biệt IDE, và SCSI. đĩa cứng được hiểulà: 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ànhfile 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ứngvà load driver.

• Đồng thời mount file systems dạng read-only để tiến hànhkiể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 địnhrunlevel 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 scriptthậ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 đượcgọi là task.

• Kernel của hệ điều hành Linux cho phép nhiều process cùngthực thi tại 1 thời điểm, chia sẻ chung tài nguyên CPU củahệ 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 íttà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ứcnă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âulệ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, datainput from network, time out…). Khi sự kiện xảy ra, daemonprocess sẽ xử lý, phục vụ sự kiện sau đó lại trở lại trạng tháisleep.

Daemons

• Zombie process là những process đã hoàn tất nhưng vẫn cònlư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ệmowner và group: tượng trưng bởi UID và GID để tượng trưngcó 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 Parentprocess ID.

Các đặc tính của process

• Foreground process: Các process có tương tác với ngườidùng ( có input, output, GUI….)

• Ví dụ: ls –l /etc

Background process: Các process chạy nền, không tương tácvớ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ácchildren.

• 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 numbertừ -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ácprocess tại thời điểm start time.

User thông thường có thể đặt các giá trị nice từ 0 đến19, 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 địnhsẽ 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ànhkhởi động.

• Load kernel, chạy /sbin/init (cha của mọi tiến trình trongLinux) để kiểm tra hệ thống tập tin, chạy một số chương trìnhgiú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ácscript đặ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ôngkhở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ácsự 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ệnxả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 logquá 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 choviệc quản lí log.

/etc/logrotate.d/: cấu hình cho phép mỗi dịch vụ có thể địnhnghĩ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àythường nằm ở /var/spool/cron.

Crontab

#vi /var/spool/cron/<user>

Các giá trị:

Cột 1: Minutes: 059.

Cột 2: Hours: 023.

Cột 3: Day of the month: 131.

Cột 4: Month: 112.

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ặcmộ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ộttậ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áttruy cập, logging, binding, redirection và kiểm soát sử dụngtà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ácdịch vụ sử dụng xinetd.

/etc/xinetd.d/: mỗi dịch vụ có một file cấu hình, định nghĩacụ 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ặckhô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áckế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 khinó 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ể handletạ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 trongthư 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 IPrequest 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 cungcấ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ênbả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éntar.gz.

Đối với dạng này thì ta cần một trình biên dịch để dịch chươngtrình, sau đó mới cài đặt.

Phần mềm trên các distro như Redhat, CentOS, Fedora được đưa radưới dạng RedHat Package Manager (RPM).

Các distro phổ biến khác như Debian, Ubuntu, Mint dùng định dạngDEB (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óitrê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 inpackage.

-qc package — Lists all configuration files that come inpackage.

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ậntiệ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àotê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óirpm nhưng không thể cài với lệnh rpm vì thiếudependency:

#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ềmcó 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ụ: hostVí 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.1proftpd: 192.168.1.2, 192.168.1.3Lư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)

RoutingBả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 gw192.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ệnhtraceroute 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 | startHoặ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ó chophép mount một thư mục trên một máy tính từ xa vào mộtthư 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 độngBước 1: Client liên lạc với portmapper của server để tìm xemport 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ầumount. 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ượclạ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 đếnNFS 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ạibảng mount.

Khởi động NFS

Start service nfs:1. Khởi động dịch vụ NFS Server:# service nfs startHoặc#/etc/init.d/nfs start2. 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ịchvụ 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ụ:pqdungpqdung.vnlamp.com10.0.0.1110.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 chohome 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/fstabpqdung:/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 quaport 21.FTP Data Channel, TCP Port 20:Port dùng để truyền dữ liệu giữa client và Server

Phân loại FTPFTP phân làm 2 loại chính là:

Active và PassiveActive 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+1và lắng nghe kết nối dữ liệu từ Server.

- Server sẽ truyền dữ liệu đến Clientthông qua port 20đến port N+1 của Client

và ngược lại.

Phân loại FTPPassive 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ếtlà sử dụng mode Passive.

- Nếu Server chấp nhận kết nối.

- Server sẽ trả lời Client kèm theomột Random Port (S > 1023) để thựchiện việc truyền dữ liệu.

- Client sẽ mở tiếp port C+1kết nối dữ liệu đến port S+1 củaServer.

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 vsftpdNếu không hiện ra gì ta tiến hành cài như sau:#yum install vsftpd-* -yKiể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 ServerFile 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=YESpasv_min_port=41361pasv_max_port=65534pasv_address=xxx.xxx.xxx.xxxdirmessage_enablepam_service_name

Các cấu hình khác:anonymous_enable=NO # không cho phép anonymous login vàolocal_enable=YES # Cho phép người dùng cục bộ login vàowrite_enable=YES # Cung cấp quyền ghi cho người dùngxferlog_enable=YES # Cho phép ghi logxferlog_file=/var/log/vsftpd.log # Vị trí file logconnect_from_port_20=YES # Sử dụng cổng 20 cho FTP-Dataftpd_banner=FTP xin chao # Lời chào khi truy cập FTPuserlist_enable=YES # Những người dùng trong user_list bị cấm truy cập

Cấu hình FTP ServerCác cấu hình người dùng anonymous truy cập:

anonymous_enable=YES # Cho phép người dùng anonymous loginanon_world_readable_only # Anonymous chỉ được phép downloadanon_upload_enable # Cho phép anonymous uploadanon_mkdir_write_enable # Cho phép anonymous tạo thư mụcanon_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 giaothức giúp thiết lập một kết nối đến tài nguyên một cách bảomật.Mô hình hoạt động: TCP/IP lớp Ứng dụngCô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ôngtin 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áytí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ấtan 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úngta 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ặcdown 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.20Người dùng sẽ được yêu cầu nhập password trên máy truyxuất đến, nếu chứng thực thành công có thể điều khiển máytí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ậpvào máy thông qua ssh- AllowUsers: chỉ cho phép một số users được đăng nhập vàomá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 giaothứ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ạithư mục /home/sv với quyền sv, ta thực thi:

#scp /root/test.txt sv@192.168.10.10:/home/svNgượ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 yesPubkeyAuthentication yesAuthorizedKeysFile .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: 67Cung cấp địa thông tin cấu hình TCP/IP cho các client

Client: Port: 68Yê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.confGiả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/dhcpdDHCPDARGS=eth0

Cấu hình DHCP Serversubnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gatewayoption 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 Timeoption 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 tachỉ định.DHCP ReservationThêm các dòng cấu hình sau vào file /etc/dhcp/dhcpd.confhost 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 ClientChỉnh file/etc/sysconfig/network-scripts/ifcfg-ethX với Xlà 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=EthernetDEVICE=eth0BOOTPROTO=dhcpONBOOT=yesDHCP_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ạiLị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 domainMỗ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ềnthà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.38A record này ánh xạ domain namewww.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 DNSMX 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 resourcerecord 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.arpacó 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ínhcó tên www.vnlamp.vnSRV resource record: loại resource record này giúp xác định vị trí củamột số dịch vụ.Một số ứng dụng đặc biệt có thể “hiểu” được SRV record sẽ truy vấnname 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 zoneNS 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ênmiề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 khiMaster 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 bindNếu không hiện ra gì ta tiến hành cài như sau:#yum install bind-* -yKiể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ậnnghịch:/var/named/chroot/var/named/

File chứa log: /var/log/messagesLệ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.zoneGiả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.confTạ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.zoneGiả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ủaSUN 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 WebServer1. Cài đặt Apache và PHPThự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 120KeepAlive OnMaxKeepAliveRequests 0KeepAliveTimeout 10StartServers 5MaxClients 512ServerLimit 1024MaxRequestsPerChild 0Listen 1.2.3.4:80Listen 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.comServerAdmin webmaster@www.webserver.comDocumentRoot /var/www/htmlBytesLog logs/www.webserver.com-bytes_logServerName webserver.comUser apacheGroup 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.nettrê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ànhphầ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 giaothứ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 mailclient 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 giaothức POP3/IMAP. Thông thường mail server hỗ trợ cả hai giao thức SMTPvà 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ửihoặ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ằmxá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ấpdữ 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ườidùng có thể thực hiện các thao tác tương tác với hệ thống qua giao diệnnà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ácnhau?

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àinguyên và máy in giữa các máy hệ điều hành Window vớinhau.

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ốngLinux 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ủangười dùng hoàn toàn tách biệt với hệ thống chứng thực củaLinux.

Samba được dùng để thiết lập các:- Linux Server như một file server công cộng khôngchứng thực người sử dụng- Linux Server như một file server có chứng thựcngườ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-swatClient: 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ẻ: \\DiaChiServer\TenThuMucChiaSe

hoặc \\NetBiOS_Name\TenThuMucChiaSe- 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 theocá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êndướ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ạngnetbios name = Tên file serverserver string = Mô Tả về Serversecurity = sharehosts allow = 10.254.60. 192.168.56. chỉ cho phép các

máy tính này được truy cậpwins 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 = Yeswriteable = Noread only = Yescreate mask = 0755force user = rootforce group = root[testsmb]path = /home/testsmbguest ok = Yeswriteable = Yesread only = Nocreate mask = 0755browseable = noforce user = testsmbforce group = testsmb

Kiểm tra lại dịch vụ• Kiểm tra tính đúng đắn của file cấu hình#testparmKhởi động lại dịch vụ samba#/etc/init.d/smbd restart#/etc/init.d/nmbd restartTruy 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/LinuxBằng chức năng Network placesHoặ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 sangsamba 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à đặtmậ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ạitrên Linux

Quản lý Samba với SWAT

- Sử dụng SWAT (Samba Web Administration Tool) để thaotá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ủangười quản trị thành những cấu hình trong file cấu hìnhsmb.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 disabledservice swat

{port = 901socket_type = streamwait = noonly_from = localhostuser = rootserver = /usr/sbin/swatlog_on_failure += USERIDdisable = no}

Khởi động lại xinetdVào trình duyệt Web trong hệ thống mạng LAN truy cập

http://<IP Samba Server>:901

SWAT

Samba clientTập lệnh được sử dụng trên hệ điều hành Linux để truy xuấtđến Samba ServerBrowse server:#smbclient -L hostnameVí dụ:

# smbclient -L IPRemote access#smbclient //server/shareVí dụ:

# smbclient //server/dataMount với smbmount

# smbmount //server/data /mntUnmount 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 ứngnhữ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 servervà 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ếpnhận các yêu cầu từ các clients và chuyển cho Internet serverthí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 squidNếu chưa có thì thực hiên câu lệnh cài đặt:#yum install squid -yKiể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 serverngoà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 2561. 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 concấ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ậptin /var/log/squid/access.log, việc sử dụng cached sẽ lưu vàofile log /var/log/squid/cache.log- Nơi lưu trữ này có thể tùy chỉnh qua tham số: access_logvà cache_log trong file cấu hình1. access_log /var/log/squid/access.log2. 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ườngthô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/24hoặ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.0http_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ếtlậ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ânSử 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ủadòng hệ điều hành Linux.

- Là một công cụ cấu hình Netfilter cấp cao. Shorewall dựavà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ộtcách tối ưu và linh hoạt nhất.

- Về bản chất shorewall đóng vai trò trung gian cho việcgiao 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 firewalltrên linux vì nó có khả năng xử lý linh hoạt và thay đổinhanh 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ỗitrướ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

#wgethttp://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.confSTARTUP_ENABLED=Yes2. Chỉnh file zones#ZONE DISPLAY COMMENTSnet ipv4loc ipv4

Các bước cấu hình shorewall

3. Chỉnh file interfaces#ZONE INTERFACE BROADCAST OPTIONS GATEWAYnet eth0 detect -loc eth1 detect -4. Chỉnh file policy#SOURCE DEST POLICY LOG LIMIT:BURST

LEVELnet net DROPfw all ACCEPTnet all DROP infoall all REJECT info

Các bước cấu hình shorewall

5. Chỉnh file masq#INTERFACE SUBNET ADDRESS PROTO PORT(S)

IPSECeth0 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|checkstart: 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 Localcá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ộtServer. Đ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ờigian 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ấtkhi 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ầnsao 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ảothời gian hệ thống ngừng hoạt động khi gặp sự cố càngngắn càng tốt.

- Lập các biểu đồ thống kê lưu lượng lưu trữ, thời gian saolư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ưuFile và thư mục. Hiện tai phiên bản mới nhất của SimpleBackup là simple-backup.2.7.7Bước 1: Cài đặt:#mkdir /thu-muc-cai-dat#cd /thu-muc-cai-dat#wgethttp://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énvà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.confbackup_format = tar.gzinput_backup = chỉ ra thư mục cần sao lưuoutput_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.confBước 3: Chạy chương trình backup như sau:#simplebackup.pl --conf /sbackup/backup.confBước 4: Tạo crontab như sau0 12 * * * /sbackup/simplebackup.pl --conf/sbackup/backup.confLệ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ênmáy.

Học viên thực hành cấu hình Simplebackup kết hợp với haidị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ậnthờ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ứu1. 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

top related