Năm 1964, Bell Labs, MIT & General Electric phát triển một hệ điều hành gọi là MULTICS(Multiplexed Information and Computing System). Sau đó năm 1969, Ken Thompson (một lập trình hệ thống của Belllabs) nghĩ rằng ông ta có thể làm một hệ điều hành tốt hơn. Vì vậy, ông ta đãviết một hệ điều hành trên hệ thông máy tính PDPư7, và hệ điều hành này được gọi là Unix. Mục tiêu khởi đầu là cung cấp một môi trường máy tính hoá để mô phỏng trò chơi không gian. Nhưng có một vấn đề xảy ra là phiên bản Unix này không thể chạy được trên hệ thống phần cứng khác.
104 trang |
Chia sẻ: vietpd | Lượt xem: 2704 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Hướng dẫn cơ bản Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đồ án tốt nghiệp
1
Mục lục
Ch−ơng I: Giới thiệu về Linux ...........................................................................4
1.1Sơ l−ợc về Linux................................................................................................4
1.1.1 Giới thiệu về hệ điều hành Unix............................................................4
1.1.2 Giới thiệu về hệ điều hành Linux..........................................................5
1.2 Tính năng của Linux. .......................................................................................7
1.3 Vấn đề bản quyền.............................................................................................8
1.4 So sánh Linux và các hệ điều hành khác..........................................................9
1.4.1 So sánh Linux với Windows 95, Windows 98. .....................................9
1.4.2 So sánh Linux với Windows NT. ........................................................10
1.5 Yêu cầu về phần cứng. ...................................................................................11
Ch−ơng II : các lệnh Linux cơ bản...................................................................14
2.1 Các ph−ơng thức hoạt động của dòng lệnh ....................................................14
2.2 Trang Man ....................................................................................................15
2.3 Các quy −ớc. ...................................................................................................16
2.4 Các lệnh cơ bản trong Linux. .........................................................................16
2.4.1 Th− mục và lệnh về th− mục. ..............................................................16
2.4.1.1 Một số th− mục đặc biệt..............................................................16
2.4.1.2 Các lệnh chính liên quan đến th− mục. .......................................18
2.4.2 Tập tin và các lệnh về tập tin...............................................................20
2.4.2.1 Các kiểu tập tin trong Linux........................................................20
2.4.2.2 Các lệnh về tập tin. ......................................................................21
2.4.3 Lệnh về Destop....................................................................................24
2.4.4 Lệnh về trình báo màn hình. ...............................................................25
2.4.5 Các lệnh liên quan đến tài khoản ng−ời dùng. ....................................25
2.4.5.1 Các lệnh liên quan đến ng−ời dùng..............................................25
2.4.5.2 Thay đổi thuộc tính ng−ời dùng. ..................................................26
2.4.5.3 Xoá bỏ một ng−ời dùng...............................................................27
2.4.6 Các lệnh liên quan đến nhóm ng−ời dùng...........................................27
2.4.7 Các lệnh khác có liên quan đến ng−ời dùng. ......................................28
2.4.8 Các lệnh liên quan đến quản lý thiết bị. ..............................................30
2.4.9 Các lệnh về phân quyền.......................................................................32
2.5 Shell. ...............................................................................................................33
Ch−ơng III: samba............................................................................................37
3.1 Giới thiệu tổng quan.......................................................................................37
3.2 Cài đặt.............................................................................................................37
3.3 cấu hình ..........................................................................................................38
3.3.1 cấu hình global setting: .......................................................................39
Đồ án tốt nghiệp
2
3.3.2 cấu hình Sharing Setting......................................................................42
3.4 Chia sẻ file......................................................................................................43
3.5 Kiểm tra cấu hình vừa thiết lập ......................................................................44
3.5.1 Kiểm tra bằng công cụ Testparm ........................................................44
3.5.2 Kiểm tra bằng công cụ smbstatus .......................................................45
3.6 Chạy samba server..........................................................................................46
3.6.1 Sử dụng câu lệnh smbclient.................................................................47
3.6.2 Truy cập từ máy Windows ..................................................................49
Ch−ơng IV: Squid proxy server........................................................................50
4.1. Tầm quan trọng và ph−ơng thức hoạt động của Squid cache........................50
4.2. Cài đặt............................................................................................................52
4.3. Tập tin cấu hình /etc/squid/squid.conf ..........................................................52
4.4. Cấu hình các tùy chọn cơ bản .......................................................................53
4.5. Access control list .........................................................................................54
4.6. Khởi động squid ............................................................................................56
Ch−ơng V: Cấu hình WEB SERVER...............................................................58
5.1 Cài đặt apache, php, mysql.............................................................................58
5.1.1 Download và cài đặt Apache...............................................................58
5.1.2 Download và cài đặt php .....................................................................59
5.1.3 Download và cài đặt Mysql.................................................................60
5.2 Cấu hình Apache cơ bản.................................................................................63
5.3 Cấu hình bảo mật apache................................................................................67
5.3.1 Giới hạn địa chỉ ip. ..............................................................................67
5.3.2 Giới hạn truy cập theo tài khoản sử dụng............................................69
Ch−ơng VI: Bảo mật với Firewall, ip tables ...................................................78
6.1 FireWall..........................................................................................................78
6.1.1 Định nghĩa...........................................................................................78
6.1.2 Chức năng............................................................................................78
6.1.3 Cấu trúc của FireWall ........................................................................78
6.1.4 Các thành phần của FireWall ..............................................................79
6.1.4.1 Bộ lọc packet (Packet filtering router) .........................................79
6.1.4.2 Cổng ứng dụng (application-level getway) .................................80
6.1.4.3 Cổng mạch (circuit-Level Gateway) ...........................................81
6.1.5 Những hạn chế của firewall.................................................................82
6.2 IpTables ..........................................................................................................82
6.2.1 Tổng quan về iptables..........................................................................82
6.2.2 Bảng filter...........................................................................................83
6.2.3 Bảng nat ...........................................................................................84
6.2.4 Bảng mangle........................................................................................85
Đồ án tốt nghiệp
3
6.2.5 Cấu hình iptables .................................................................................87
6.2.5.1 Cú pháp cơ bản của iptables........................................................87
6.2.5.2 Các lệnh của iptables....................................................................88
6.2.5.3 Các điều kiện trong luật ...............................................................90
6.2.5.3.1 Nhóm các điều kiện chung....................................................90
6.2.5.3.2 Nhóm các điều kiện ẩn..........................................................92
6.2.5.3.3 Nhóm các điều hiện hiện.......................................................93
6.2.5.4 Các hành động trong luật .................................................................95
6.2.5.4.1 user-defined-chain................................................................95
6.2.5.4.2 DROP ....................................................................................96
6.2.5.4.3 REJECT.................................................................................96
6.2.5.4.4 RETURN...............................................................................96
6.2.5.4.5 SNAT.....................................................................................96
6.2.5.4.6 MASQUERADE ...................................................................97
6.2.5.4.7 DNAT....................................................................................98
6.2.5.5 Các ví dụ.......................................................................................99
Tài liệu tham khảo..........................................................................................103
Đồ án tốt nghiệp
4
Ch−ơng I: Giới thiệu về Linux
1.1Sơ l−ợc về Linux.
1.1.1 Giới thiệu về hệ điều hành Unix.
Năm 1964, Bell Labs, MIT & General Electric phát triển một hệ điều hành
gọi là MULTICS(Multiplexed Information and Computing System). Sau đó năm
1969, Ken Thompson (một lập trình hệ thống của Bell labs) nghĩ rằng ông ta có
thể làm một hệ điều hành tốt hơn. Vì vậy, ông ta đã viết một hệ điều hành trên hệ
thông máy tính PDP-7, và hệ điều hành này đ−ợc gọi là Unix. Mục tiêu khởi đầu
là cung cấp một môi tr−ờng máy tính hoá để mô phỏng trò chơi không gian.
Nh−ng có một vấn đề xảy ra là phiên bản Unix này không thể chạy đ−ợc trên hệ
thống phần cứng khác. Do đó đến năm 1973 Ritchie và Thompson đã viết lại hệ
điều hành bằng ngôn ngữ C, khác hẳn với các hệ điều hành truyền thống ghi
bằng ngôn ngữ máy, do đó Unix rất dễ cài đặt trên các hệ máy khác. Năm 1974
hệ điều hành Unix đã đ−ợc cài đặt trên các máy DEC PDP-11 ở hơn 100 tr−ờng
đại học. Mục tiêu chủ yếu là cung cấp môi tr−ờng cho các lập trình viên chuyên
nghiệp. Vì thế, Unix ngày càng thông dụng và ngày càng có thêm nhiều đặc tính
mới đ−ợc bổ xung. Sau đó chính phủ và quân đội Mỹ đã sử dụng Unix để nối
mạng toàn cầu (Internet).
Đến nay đã có hàng trăm ngàn hệ thống Unix cài đặt trên khắp thế giới. Hầu
hết các hãng sản xuất máy đều có một phiên bản cho Unix. Tuy nhiên hiện nay
để chuẩn hoá hệ điều hành Unix, ng−ời ta quy −ớc các tập lệnh chuẩn và gọi là
Unix System V Release 4. Trên máy PC hiện nay phổ biến hai hệ điều hành là
SCO Unix và SUN Solaris.
• Các đặc điểm cơ bản của hệ điều hành Unix
Đồ án tốt nghiệp
5
- Đa nhiệm (Multitasking).
- Nhiều ng−ời sử dụng (Multiuser).
- Bảo mật(security).
- Độc lập phần cứng (multi platform).
- Kết nối mở.
- Dùng chung thiết bị.
- Tổ chức tập tin phân cấp.
• Ưu điểm của hệ điều hành Unix:
- Hệ thống đ−ợc viết trên ngôn ngữ C nên dễ đọc, dễ hiểu, dễ thay
đổi để cài đặt trên loại máy mới.
- Có giao diện ng−ời dùng đơn giản, cho phép xây dựng các ch−ơng
trình phức tạp từ các ch−ơng trình đơn giản hơn.
- Đây là hệ đa ng−ời dùng đa tiến trình , mỗi ng−ời dùng có thể
thực hiện nhiều ch−ơng trình mỗi ch−ơng trình có thể có nhiều tiến
trình.
- Che đi cấu trúc máy đối với ng−ời dùng, có thể viết ch−ơng trình
chạy trên các điều kiện phần cứng khác nhau.
- Sử dụng hệ thông file có cấu trúc.
1.1.2 Giới thiệu về hệ điều hành Linux.
Linux là một trong những hệ điều hành phổ thông nhất
bởi sự phân phối và cơ sở hỗ trợ mở rộng của nó. Ban đầu,
Linux đ−ợc phát triển d−ới dạng một hệ thống đa nhiệm cho
máy tính mini và máy chủ vào giữa thập niên 70. Kể từ đó đến
nay Linux lớn mạnh và trở thành một trong những hệ điều
hành đ−ợc sử dụng rộng rãi nhất.
Đồ án tốt nghiệp
6
Linux là phiên bản của Unix đ−ợc phân phối miễn phí và ban đầu do Linus
Torvalds thực hiện và phát triển. Ông bắt đầu nghiên cứu Linux vào năm 1991
khi còn là sinh viên tr−ờng đại học Helsinki ở Phần Lan. Linux đ−ợc xây dựng và
phát triển từ hệ điều hành Minix (một phiên bản của Unix). Lúc đầu, Linus tung
ra phiên bản Linux đầu tiên trên Internet cho mọi ng−ời sử dụng miễn phí, điều
đó vô tình dấy lên một hiện t−ợng phát triển phần mềm lớn. Linux đ−ợc xác lập
và duy trì bởi một nhóm hợp tác gồm vài ngàn nhà phát triển phần mềm tình
nguyện cùng làm việc qua Internet. Các công ty cung cấp hỗ trợ Linux để phát
triển nó thành loại sản phẩm dễ cài đặt với mục đích kinh doanh các trạm làm
việc có cài sẵn phần mềm Linux.
Vào ngày 5 tháng 10 năm 1991, Linus đã công bố phiên bản Linux chính
thức đầu tiên, phiên bản 0.02. Bắt nguồn từ hệ điều hành Minix của Andrew
Tanenbaum, Linux ban đầu chỉ là một dự án mà trong đó Linux muốn xây dựng
một hệ unix đơn giản có thể chạy trên PC 386. Phiên bản này đ−ợc xác định nh−
một hệ thống của các hacker. Vấn đề chính là phát triển kernel chứ không phải
không phải nhằm mục đích hỗ trợ ng−ời dùng hay để phân phối. Nh−ng đến nay
sự hoàn thiện thực sự trong thế giới Linux đã giải quyết đ−ợc vấn đề môi tr−ờng
ng−ời sử dụng đồ hoạ, gói sản phẩm dễ dàng cài đặt và các ứng dụng cao cấp
nh−: tiện ích đồ hoạ và các bộ phiên bản sản phẩm.
Từ khi phiên bản Linux đầu tiên ra đời cho đến nay thì đã có rất nhiều
phiên bản Linux mới ra đời cùng với nhiều tính năng mới đ−ợc thêm vào nhằm
phục vụ, hỗ trợ những tiện ích ngày càng cao của ng−ời dùng.
Vì Linux đ−ợc phát triển từ hệ điều hành Minix(một phiên bản của Unix)
nên Linux cũng có những đặc tính và −u điểm của hệ điều hành Unix:
- Linux cũng đ−ợc viết bằng C.
- Linux cũng là đa ng−ời dùng, đa nhiệm, là hệ điều hành mạng.
Đồ án tốt nghiệp
7
- Linux cung cấp môi tr−ờng đầy đủ cho lập trình và phát triển.
- Linux chạy trên nhiều hệ thống phần cứng khác nhau:
Bộ xử lý 86(Celeron/PII/PIII/PIV/Pentium/80386/80486).
Máy Macintosh.
Bộ xử lý Cyrix.
Bộ xử lý AMD.
Bộ xử lý Sun Microsystems Sparc processor.
Bộ xử lý Alpha(Compaq).
1.2 Tính năng của Linux.
Linux là một hệ điều hành đa ng−ời sử dụng: Nghĩa là nhiều ng−ời có thể sử
dụng máy tính có cài Linux tại một thời điểm.
Linux là một hệ điều hành đa nhiệm: Tại một thời điểm một ng−ời sử dụng
có thể thực hiện đồng thời nhiều tác vụ. Với hệ điều hành đơn ch−ơng nh− MS-
DOS một lệnh thực hiện sẽ chiếm toàn bộ thời gian CPU xử lý, bạn chỉ có thể
thực hiện lệnh kế tiếp khi lệnh tr−ớc đó đã thực hiện xong. Còn trong Linux, bạn
có thể thực hiện cùng lúc nhiều lệnh.
Linux gần nh− t−ơng thích với nhiều chuẩn Unix ở cấp nguồn bao gồm tính
năng BSD, IEEE POSIX.1 và System V. Linux đ−ợc phát triển và rất chú trọng
tới tính khả chuyển nguồn. Do đó bạn có thể dùng chung nh−ng tính năng trong
hệ Linux qua thi hành Unix.
Linux còn hỗ trợ cho bàn phím tùy biến hoặc theo chuẩn quốc gia sử dụng
trình điều khiển bàn phím khả tải động. Linux còn hỗ trợ các console ảo, cho
phép bạn chuyển đổi giữa nhiều phiên bản đăng nhập từ console hệ thống trong
chế độ văn bản.
Linux có thể tồn tại trên hệ thống có hệ điều hành khác nh− windows 95,
Windows 98, Windows NT, Windows XP, OS/2 hoặc những phiên bản khác của
Đồ án tốt nghiệp
8
Unix. Bộ nạp khởi động Linux cho phép bạn lựa chọn hệ điều hành để bắt đầu
vào thời đIểm khởi động và Linux cũng t−ơng thích với các bộ nạp khởi động
khác.
Linux có thể chạy trên nhiều kiến trúc CPU bao gồm:
X86(Celeron/PII/PIII/PIV/Pentium/80386/80486), SPARC, Alpha, PowerPc,
MIPS và m68k.
Linux hỗ trợ nhiều kiểu file khác nhau để l−u dữ liệu.
Hỗ trợ mạng là một trong những sức mạnh lớn nhất của Linux cả về chức
năng lẫn tính năng. Linux cung cấp cài đặt hoàn hảo về mạng TCP/IP, bao gồm
các trình điều khiển thiết bị cho nhiều card Ethernet thông dụng, PPP và SLIP,
Parallel Line Internet Protocol (PLIP) và Network Fle System (NFS). Có rất
nhiều ứng dụng khách và dịch vụ TCP/IP đ−ợc hỗ trợ nh− FTP, Telnet, Simple
Mail Transfer Protocol (SMTP). Linux kernel còn hỗ trợ t−ờng lửa mạng hoàn
hảo, cho phép bạn cấu hình bất cứ máy Linux nào d−ới dạng t−ờng lửa.
1.3 Vấn đề bản quyền.
Linux đ−ợc cấp giấy phép công cộng GNU General Public Licence hay
GPL.GPL đôi khi đ−ợc gọi là giấy phép “không bản quyền”. Giấy phép này đ−a
ra các điều khoản ràng buộc việc phân phối và sửa đổi phần mềm miễn phí(free
software).
Ban đầu, Linus Torvalds tung ra Linux với giấy phép hạn chế hơn GPL. Giấy
phép này cho phép tự do phân phối và sửa đổi phần mềm nh−ng không cho phép
thay đổi giá thành đối với việc sử dụng và phân phối sản phẩm đó. GPL cho phép
bán và thu lợi từ phần mềm miễn phí nh−ng không cho phép hạn chế quyền phân
phối phần mềm của ng−ời khác d−ới bất kỳ hình thức nào.
Mọi tổ chức bán phần mềm miễn phí phải tuân theo những giới hạn nhất định
đ−a ra trong GPL:
Đồ án tốt nghiệp
9
- Thứ nhất, họ không thể hạn chế quyền của ng−ời sử dụng tức là
ng−ời mua phần mềm. Nghĩa là khi bạn mua CD_ROM với phần
mềm GPL , bạn có thể sao chép và phân phối miễn phí CD_ROM
đó hoặc cũng có thể bán lại.
- Thứ hai, nhà phân phối phải nói rõ cho ng−ời sử dụng biết rằng
phần mềm này thực sự hoạt động trong phạm vi giấy phép GPL.
- Thứ ba, nhà phân phối phải cung cấp miễn phí mã nguồn đầy đủ
cho phần mềm phân phối. Điều này giúp cho bất kì ai mua phần
mềm GPL đều có thể sửa đổi phần mềm đó.
Linux là một phần mềm thuộc GPL nên nó cũng tuân theo nh−ng quy tắc của
GPL. Vì vậy Linux đ−ợc coi nh− là phần mềm có mã nguồn mở (Open source).
Nghĩa là mã nguồn của Linux phải là mở với tất cả mọi ng−ời muốn sử dụng nó,
và có thể sửa đổi và phát triển một cách tự do. Và nếu thực hiện thay đổi tới
ch−ơng trình thì những thay đổi này cũng phải “mở” đối với mọi ng−ời dùng.
1.4 So sánh Linux và các hệ điều hành khác.
Vấn đề đầu tiên có thể nói là chúng ta có thể chạy Linux với một số hệ điều
hành khác nh− Windows 95, Windows 98, Windows NT, OS/2...mà không gặp
trục trặc gì.
1.4.1 So sánh Linux với Windows 95, Windows 98.
Không có gì lạ khi chạy cả Linux lẫn Windows 95/98 trên cùng một hệ
thống. Nhiều ng−ời sử dụng Linux dùng Windows nh− một công cụ xử lý từ.
Nghĩa là ng−ời sử dụng sẽ dùng Windows để khai thác các ứng dụng th−ơng mại
có trong Windows nh−: Microsoft Word, Microsoft Exel...mà trong Linux không
có sẵn.
Đồ án tốt nghiệp
10
Windows 95 và Windows 98 không tận dụng hết đ−ợc chức năng của bộ
xử lý X86. Mặt khác, Linux hoàn toàn chạy trong chế độ bảo vệ của bộ xử lý và
khai thác triệt để các tính năng của máy, kể cả đa bộ vi xử lý.
Có thể khẳng định rằng Windows và Linux là những thực thể hoàn toàn
khác biệt. Windows có giá cả hợp lý(so với các hệ điều hành th−ơng mại khác)
và có vị trí vững chắc trong thế giới máy tính PC. Không có hệ điều hành nào cho
PC lại đạt đ−ợc mức độ phổ cập nh− Windows. Tuy nhiên Linux lại là hệ điều
hành miễn phí và chính điều đó cũng làm cho nó ngày càng trở nên thông dụng.
1.4.2 So sánh Linux với Windows NT.
Cũng nh− Linux, Windows NT(và các phiên bản Windows phát triển từ
Windows NT) là hệ điều hành đa nhiệm đầy đủ, hộ trợ máy đa bộ xử lý, kiến trúc
CPU, bộ nhớ ảo, nối m