Đồ án tốt nghiệp Tìm hiểu lý thuyết và xây dựng Firewall trên nền Linux



tải về 0.55 Mb.
trang12/18
Chuyển đổi dữ liệu19.08.2016
Kích0.55 Mb.
1   ...   8   9   10   11   12   13   14   15   ...   18

1.2 Môi trường Linux


Các thành phần chính của hệ điều hành Linux :

1.2.1. Kernel:


Là thành phần chính của hệ điều hành. Nhiệm vụ chính của Kernel là :

  • Quản lý tài nguyên quản lý bộ nhớ, v.v...

  • Quản lý hệ thống các tập tin, thư mục có thể là cục bộ hay từ xa

  • Quản lý các deamon thường trú

  • Quản lý bộ nhớ ảo : để thực thi đồng thời nhiều tiến trình trong khi dung lượng bộ nhớ có hạn, Linux phải tổ chức một vùng trên đĩa như một vùng bộ nhớ( bộ nhớ ảo). Kernel phải “swap” dữ liệu giữa bộ nhớ và bộ nhớ ảo.

  • Quản lý quá trình :Nhö ñaõ bieát vì Linux laø moät heä ñieàu haønh ña chöông do ñoù vieäc quaûn lyù caùc quaù trình ñoàng thôøi raát phöùc taïp. Noù phaûi quaûn lyù vieäc khôûi taïo vaø keát thuùc caùc quaù trình cuõng nhö caùc tranh chaáp coù theå xaûy ra.

  • Quaûn lyù caùc boä ñieàu khieån thieát bò.

  • Quaûn lyù maïng: bao goàm nhieàu thieát bò phaàn cöùng khaùc vaø caùc thuû tuïc khaùc.

  • Quaûn lyù vieäc khôûi ñoäng vaø döøng maùy.

1.2.2. Bộ điều khiển thiết bị:


Linux thể hiện các thiết bị vật lý như các tập tin đặc biệt. Một tập tin đặc biệt sẽ có một điểm vào trong thư mục và có một tên tập tin. Do đó Linux cho phép người sử dụng định nghĩa tên thiết bị.

Các thiết bị được chia làm hai loại : ký tự và khối

- Thiết bị ký tự đọc và ghi dòng các ký tự( ví dụ các thiết bị đầu cuối )

- Thiết bị khối đọc và ghi dữ liệu trong các khối có kích thước cố định (ví dụ ổ đĩa)

Thiết bị có thể đổi tên như đổi tên tập tin. Thư mục chứa các điều khiển thiết bị là /dev

1.2.3. Lệnh và tiện ích:


Các lệnh và tiện ích của Linux rất đa dạng

Một lệnh của Linux códạng:

$tên lệnh [các chọn lựa][các đối số]

1.2.4. Shell:


Là bộ xử lý lệnh của người sử dụng,nó cho phép người sử dụng tạo các lệnh rất phức tạp từ các lệnh đơn giản. Chúng ta có thể coi shell như một ngôn ngữ lập trình cấp cao. Các chức năng chính của shell là:

Linux shell:



  • Kiểm soát I/O và đổi hướng

  • Các biến môi trường

  • Thực hiện lệnh

  • Thư viện lệnh nội tại

  • Tên tập tin mở rộng

  • Ngôn ngữ lập trình và môi trường

Hiện nay người ta sử dụng ba loại shell, tuỳ theo loại mà có cú pháp khác nhau :

Bourne-Shell : là shell cơ bản nhất,nhanh,hiệu quả nhưng ít lệnh

C-Shell : giống như Bourne-Shell nhưng cung cấp thêm các cấu trúc điều khiển,
history, bí danh

Korn-Shell : Kết hợp cả Bourne-Shell và C-Shell

1.2.5. Windows và Graphic User Interface:


Giao tiếp đồ hoạ và cửa sổ là một khả năng rất mạnh của hệ điều hành Linux, nó cho phép hệ điều hành giao tiếp thân thiện hơn với người sử dụng. Hiện nay Linux cài đặt X-WINDOW( X11 ) là môi trường quản lý đồ hoạ lý tưởng. Trong Sun thì sử dụng với tên gọi là OpenWin.

1.3 Lập trình Shell script

1.3.1. Shell là gì :


Vai trò của Shell là chuyển đổi các lệnh được người sử dụng nhập vào thành các lệnh của hệ điều hành.

Ví dụ :


$ sort –n phonelist > phonelist.inorder

Sẽ sắp xếp các dòng trong file phonelist theo thứ tự số và đặt kết quả trong tệp phonelist.inorder.

Khi ta nhập dòng lệnh thì Shell sẽ chuyển đổi chúng như minh hoạ sau:

Hình 3-1: Mô hình chức năng Shell


1.3.2. Các loại Shell :


Do Linux là hoàn toàn tự do, mã nguồn mở nên cũng có rất nhiều các bản Shell khác nhau. Hiện nay có một số bản Shell chính chạy dưới Linux sau :

Bourne Again shell ( BASH ), Bourne shell ( SH ), C shell ( CSH ), Korn shell ( KSH ), TSH : C shell cải tiến, ZSH : Z shell

Để biết shell đang dùng là gì hãy sử dụng câu lệnh sau :

$ echo $SHELL


1.3.3. Viết và chạy các chương trình shell :


Ở mức đơn giản thì chương trình shell là một tệp chứa các câu lệnh shell hay Linux.

Ví dụ như ta muốn mount một phân vùng FAT32 của Windows ta thực hiện một chương trình shell như sau :

$ mkdir /mnt/windows

$ mount –t –vfat /dev/hda3 /mnt/windows

Lưu chúng vào một file text ví dụ như : seewwinflinux.txt

Để chạy seewwinflinux.txt ta có một số cách như sau:

$ chmod +x seewwinflinux

Và để chạy ta chỉ gọi seewwinflinux.txt từ dòng lệnh

Hoặc ta truyền nó như một tham số :

Ví dụ với tcsh : $ tcsh seewwinflinux

Hoặc dùng lệnh (.)

.. seewwinflinux


1.3.4. Các cấu trúc lệnh cơ bản của shell :


  • Câu lệnh điều kiện

+ Câu lệnh if :

+ Câu lệnh case :



  • Câu lệnh lặp

+ Câu lệnh for

+ Câu lệnh while

+ Câu lệnh until

+ Câu lệnh repeat


  • Câu lệnh shift :

Lệnh shift sẽ dịch các tham số trên dòng lệnh ( các tham số mà ta gõ khi gọi lệnh sẽ được lưu trong các biến có tên là các số 1,2,…)một vị trí sang phải hay có thể chỉ định số vị trí dịch chuyển. Cú pháp như sau :

Dịch một vị trí : shift

Dịch số vị trí được chỉ định : shift number


  • Một số toán tử dùng trong câu lệnh test hay biểu thức điều kiện :

+ Các toán tử cho xâu ký tự

+ Các toán tử cho kiểu files và directory

+ Các toán tử logic

+ Các toán tử cho số nguyên




Shell cho phép ta định nghĩa các hàm của riêng mình, các hàm này cũng được đối xử như các hàm trong C và các ngôn ngữ lập trình khác, các hàm làm cho chương trình rõ rang,sáng sủa hơn và có bố cục dễ hiểu hơn, mặt khác tránh được việc viết các đoạn mã trùng lặp nhau.

Cú pháp của một hàm trong shell như sau :


function-name ( )

{

command1

command2

.....

...

commandN

return

}

Khi tạo xong các hàm ta có thể gọi hàm như sau :

fname [arg1 arg2 arg3 …]

Khi các tham số được truyền cho hàm thì nó cũng như các tham số vị trí dòng lệnh như các chương trình shell bình thường khác.

Ta cần chú ý rằng sau khi restart lại computer thì hàm của chúng ta cũng mất do các hàm chỉ tồn tại trong một phiên làm việc. Để khắc phục vấn đề này thì chúng ta cần lưu các hàm vào file trong thư mục sau : ( chú ý phải đăng nhập với tư cách là root )



1   ...   8   9   10   11   12   13   14   15   ...   18


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương