Đồ án Hướng dẫn cơ bản Linux

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.

pdf104 trang | Chia sẻ: vietpd | Lượt xem: 2725 | Lượt tải: 1download
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