Ngày nay, nhu cầu trao đổi dữ liệu qua mạng máy tính trở nên vô cùng quan trọng trong mọi hoạt động xã hội, song song với sự phát triển bùng nổ của mạng máy tính nói chung và mạng Internet nói riêng thì nguy cơ phải đối mặt với hàng loạt các đe dọa tiềm tàng như virus, sâu máy tính, các kiểu tấn công, xâm nhập, vv là rất lớn. Vấn đề bảo đảm an ninh, an toàn cho thông tin trên mạng ngày càng là mối quan tâm hàng đầu của các công ty, các tổ chức, các nhà cung cấp dịch vụ. Việc bảo vệ an toàn dữ liệu là một vấn đề cấp thiết, vì vậy việc lựa chọn một hệ điều hành phù hợp, có khả năng bảo mật tốt, độ tin cậy cao là rất quan trọng . Hệ điều hành Linux ra đời mang theo nhiều đặc tính an toàn bao hàm các cơ chế bảo mật, cùng với tính chất của một mã nguồn mở đã được đánh giá là một trong những hệ điều hành bảo mật tốt nhất hiện nay. Hơn nữa, Linux server là một trong những thách thức lớn đối với tình trạng xâm nhập bất hợp pháp. Do đó, em nhận thấy rằng vấn đề nghiên cứu cơ chế an toàn của một hệ điều hành mã nguồn mở như Linux là cần thiết. Điều này mang lại cho em sự say mê và là lý do lựa chọn đề tài nghiên cứu cho đồ án tốt nghiệp: “Nghiên cứu cơ chế bảo vệ an toàn dữ liệu trên hệ điều hành Linux”. Đồ án giúp cải thiện đáng kể tư duy và sự hiểu biết về hệ điều hành Linux đối với một sinh viên an toàn thông tin như em. Mục tiêu của đề tài là nghiên cứu tìm hiểu cơ chế bảo mật trong hệ điều hành Linux, qua đó thấy được tầm quan trọng của cơ chế khi thực hiện các vấn đề bảo mật.
Nội dung của đồ án gồm 4 chương: Chương I: Tổng quan về hệ điều hành Linux Chương này đánh giá một các tổng quát về hệ điều hành, lịch sử phát triển, ưu nhược điểm, đồng thời có sự so sánh cơ bản giữa hệ điều hành Linux với hệ điều hành Windows đang phổ biến. Chương II: Cách thức tổ chức, cơ chế bảo vệ dữ liệu trong file hệ thống của Linux Chương này tìm hiểu ý nghĩa một số thư mục, file trong linux, phân tích cấu trúc nội tại file, file nhật ký và nghiên cứu cơ chế ghi nhật ký journaling trong file hệ thống của Linux. Chương III: Cơ chế quản lý tài nguyên, phân quyền Giải thích chi tiết ý nghĩa cách thức hoạt động của cơ chế phân quyền, ý nghĩa một số quyền truy cập file, thư mục và một số câu lệnh thay đổi quyền sở hữu truy cập file, thư mục. Chương IV: Bảo mật trên Linux Nội dung bao gồm xây dựng và phát triển bảo mật trên hệ thống Linux. Cách thức các nguyên tắc, kinh nghiệm bảo mật, các tiện ích phần mềm bảo mật trên Linux server khi ứng dụng vào thực tế là các doanh nghiệp, cơ quan.
86 trang |
Chia sẻ: tuandn | Lượt xem: 5658 | Lượt tải: 6
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu cơ chế bảo vệ an toàn dữ liệu trên hệ điều hành Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
DANH MỤC HÌNH VẼ
Hình 2. 1: Ví dụ hình ảnh về một Inode 21
Hình 2. 2: Sơ đồ một hệ thống file nhật ký 23
Hình 2. 3: Hình ảnh thể hiện vị trí VFS 23
Hình 2. 4: Cơ chế JBD trong hình ảnh Linux kernel phiên bản 2.6.0 23
Hình 3. 1: Diễn tả cơ chế phân quyền của một file 23
Hình 3. 2: 10 ký tự đầu tiên trong dãy 23
Hình 3. 3: Chế độ truy cập bit 23
Hình 3. 4: Giới thiệu cách ký hiệu của các quyền truy nhập 23
Hình 3. 5: Giải thích quyền truy nhập chi tiết trong 1 thư mục 23
Hình 3. 6: Các chữ cái biểu diễn mod theo cách xác lập tương đối 23
Hình 3. 7: Hệ 8 áp dụng cách tính 23
Hình 3. 8: Chế độ chi tiết bit của Mod 23
Hình 3. 9: Ký tự đặc biệt đối với lệnh chmod 23
Hình 4. 1: Mô hình các mức an toàn thông tin trên mạng 58
Hình 4. 2: Cấu trúc của Iptables 72
Hình 4. 3: Cấu trúc bảng của Iptables 72
Hình 4. 4: Mô hình xây dựng hệ thống mạng Linux cho cơ quan 78
DANH MỤC CÁC BẢNG
Bảng 1: Linux và các tệp tin quản lý 23
Bảng 2: Ý nghĩa các tệp tin con trong etc và một số thư mục 23
Bảng 3: Các kiểu thư mục trong Linux 23
Bảng 4: Các quyền được liệt kê trong bảng 23
Bảng 5: Chế độ truy cập ban đầu (mặc định) 23
Bảng 6: Các dịch vụ tiêu biểu không nên cho phép hoạt động trên Internet 23
LỜI MỞ ĐẦU
Ngày nay, nhu cầu trao đổi dữ liệu qua mạng máy tính trở nên vô cùng quan trọng trong mọi hoạt động xã hội, song song với sự phát triển bùng nổ của mạng máy tính nói chung và mạng Internet nói riêng thì nguy cơ phải đối mặt với hàng loạt các đe dọa tiềm tàng như virus, sâu máy tính, các kiểu tấn công, xâm nhập, vv…là rất lớn. Vấn đề bảo đảm an ninh, an toàn cho thông tin trên mạng ngày càng là mối quan tâm hàng đầu của các công ty, các tổ chức, các nhà cung cấp dịch vụ. Việc bảo vệ an toàn dữ liệu là một vấn đề cấp thiết, vì vậy việc lựa chọn một hệ điều hành phù hợp, có khả năng bảo mật tốt, độ tin cậy cao là rất quan trọng . Hệ điều hành Linux ra đời mang theo nhiều đặc tính an toàn bao hàm các cơ chế bảo mật, cùng với tính chất của một mã nguồn mở đã được đánh giá là một trong những hệ điều hành bảo mật tốt nhất hiện nay. Hơn nữa, Linux server là một trong những thách thức lớn đối với tình trạng xâm nhập bất hợp pháp. Do đó, em nhận thấy rằng vấn đề nghiên cứu cơ chế an toàn của một hệ điều hành mã nguồn mở như Linux là cần thiết. Điều này mang lại cho em sự say mê và là lý do lựa chọn đề tài nghiên cứu cho đồ án tốt nghiệp: “Nghiên cứu cơ chế bảo vệ an toàn dữ liệu trên hệ điều hành Linux”. Đồ án giúp cải thiện đáng kể tư duy và sự hiểu biết về hệ điều hành Linux đối với một sinh viên an toàn thông tin như em. Mục tiêu của đề tài là nghiên cứu tìm hiểu cơ chế bảo mật trong hệ điều hành Linux, qua đó thấy được tầm quan trọng của cơ chế khi thực hiện các vấn đề bảo mật.
Nội dung của đồ án gồm 4 chương: Chương I: Tổng quan về hệ điều hành Linux Chương này đánh giá một các tổng quát về hệ điều hành, lịch sử phát triển, ưu nhược điểm, đồng thời có sự so sánh cơ bản giữa hệ điều hành Linux với hệ điều hành Windows đang phổ biến. Chương II: Cách thức tổ chức, cơ chế bảo vệ dữ liệu trong file hệ thống của Linux Chương này tìm hiểu ý nghĩa một số thư mục, file trong linux, phân tích cấu trúc nội tại file, file nhật ký và nghiên cứu cơ chế ghi nhật ký journaling trong file hệ thống của Linux. Chương III: Cơ chế quản lý tài nguyên, phân quyền Giải thích chi tiết ý nghĩa cách thức hoạt động của cơ chế phân quyền, ý nghĩa một số quyền truy cập file, thư mục và một số câu lệnh thay đổi quyền sở hữu truy cập file, thư mục. Chương IV: Bảo mật trên Linux Nội dung bao gồm xây dựng và phát triển bảo mật trên hệ thống Linux. Cách thức các nguyên tắc, kinh nghiệm bảo mật, các tiện ích phần mềm bảo mật trên Linux server khi ứng dụng vào thực tế là các doanh nghiệp, cơ quan.
Em xin chân thành cám ơn giáo viên hướng dẫn Thạc sỹ Phí Thị Hằng - Phân viện nghiên cứu Nghiệp vụ mật mã và An toàn thông tin, và các thầy cô giáo nhà trường đã tận tình giúp đỡ em hoàn thành đồ án!
Sinh viên thực hiện
Chu Anh Tùng
CHƯƠNG I: TỔNG QUAN HỆ ĐIỀU HÀNH LINUX
Hệ điều hành Linux là một khái niệm mới được sử dụng cách đây ít năm khi sử dụng hệ điều hành này thì nhất thiết không thể không tìm hiểu một cách tổng quát.
1.1. Về lịch sử
Linux là một hệ điều hành tương tự như hệ điều hành UNIX của AT&T Bell Labs. Linux có mọi đặc tính của một hệ điều hành hiện đại: hệ thống đa nhiệm, đa tuyến đoạn, bộ nhớ ảo, thư viện động, chương trình dùng chung, tải theo nhu cầu, quản lý bộ nhớ, các module driver thiết bị, video frame buffering, và mạng TCP/IP.
Phiên bản đầu tiên do LinuxTorvalds viết vào năm 1991 khi còn là sinh viên, đưa ra trên cơ sở cải tiến phiên bản Unix có tên Minix do giáo sư Andrew S.Tanenbaum xây dựng và phổ biến và nhóm lập trình viên tình nguyện từ khắp nơi trên Internet viết và đang hoàn thiện dần dần Linux.
Là hệ điều hành mô phỏng Unix, xây dùng trên nhân kernel và các gói phần mềm mã nguồn mở, được công bố dưới bản quyền của GPL (General Public Licence). Giống như UNIX Linux gồm ba thành phần chính nhân Kernel, shell và cấu trúc file.
* Các phiên bản của Linux Hiện tại đó có các phiên bản Linux “ khá ổn định”, và có một số phiên bản “phát triển”. Không giống như các phần mềm đặc quyền, những phiên bản ổn định cũ vẫn tiếp tục được hỗ trợ chừng nào còn được dùng. Đó là lý do tại sao có nhiều phiên bản cùng tồn tại. Số hiệu phiên bản linux tuân theo chuẩn truyền thống. Mỗi phiên bản gồm 3 chữ số, vd. X.Y.Z. Số “X” chỉ tăng khi xảy ra những thay đổi quan trọng, những thay đổi làm cho phần mềm không thể hoạt động đúng với những phần mềm khác. Điều này rất hiếm khi xảy ra trong lịch sử linux chỉ xảy ra đúng một lần. Số “Y” cho biết số series phát triển đang dùng. Một hạt nhân ổn định luôn có số Y chẵn và hạt nhân đang phát triển luôn có số Y lẻ. Số “Z” xác định chính xác số phiên bản đang dùng, được tăng lên khi xuất hiện phiên bản mới. Các phiên bản nổi bật là Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake .... Các phần mềm được Linux hỗ trợ tuy không đa dạng như windows nhưng, Linux chạy được hết các phần mềm mã nguồn mở chuẩn như GCC, (X)Emacs, X Window System. Mọi tiện ích Unix chuẩn, TCP/IP (bao gồm SLIP và PPP), và hàng trăm chương trình đó được mọi người hiệu chỉnh để chạy Linux. Có một chương trình mô phỏng DOS, gọi là DOSEMU, cho phép Linux chạy các ứng dụng trên Dos ( là trang web cung cấp phần mềm này). Chương trình mô phỏng chuẩn tương thích hệ nhị phân Intel (Intel Binary Compatibility Standard - iBCS2) cho SVR4 ELF và SVR3.2 COFF có thể được chọn làm biên dịch. Linux ban đầu được viết cho máy PC bộ vi xử lý của Intel, dùng các tính năng phần cứng của bộ vi xử lý 80386 và những bộ vi xử lý thế hệ sau của 80386. Họ máy 80386 bao gồm 80486, và tất cả các chip Pentium. Tuy nhiên, ngày nay Linux đó có thể được dùng trên nhiều hệ máy khác nhau.Có nhiều bản phân phối Linux (Linux distribution) đặc biệt dành riêng cho các máy cầm tay và máy di động. Đặc tả API bộ công cụ phát triển cho bộ vi xử lý Crusoe Smart được phát triển bởi Transmeta Corporation. Ban đầu một phiên bản cài đặt Linux cần được yêu cầu hệ máy tối thiểu, với ít nhất 2MB ram, và một ổ đĩa mềm. Tuy nhiên bây giờ do yêu cầu cần thiết của người dùng và nhu cầu làm về vấn đề gì? phiên bản nào? mà người dung cần có cấu hình một máy tính hợp lý. Các máy tương thích với PC, CPU intel, cần bộ xử lý 80386 để chạy nhân Linux chuẩn. Với nhiều ưu điểm của một hệ mã nguồn mở, linux đã giải quyết được rất nhiều vấn đề. Nhưng bên cạnh đó cũng còn một số nhược điểm cần được khắc phục.
1.2. Những ưu điểm kỹ thuật nổi bật của Linux
Linux là một hệ điều hành mã nguồn mở, như vậy chi phí sẽ rẻ hơn so với các phần mềm truyền thống, mặt khác rất dễ nâng cấp, cải tiến (do cung cấp mã nguồn kèm theo). Chính vì thế, phát triển phần mềm mã nguồn mở có thể tận dụng được những công nghệ tiên tiến có sẵn trên thế giới, cải tiến cho phù hợp với người Việt Nam, tiết kiệm được rất nhiều công sức so với việc phát triển từ đầu, có thể tùy ý sửa chữa theo ý mình.
* Linh hoạt, uyển chuyển Có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với mình nhất. Việc Việt hóa Windows được xem là không thể nếu như không có sự đồng ý và hỗ trợ của Microsoft. Tuy nhiên với Linux thì có thể làm được điều này một cách đơn giản hơn. Mặt khác, do Linux được một cộng đồng rất lớn những người làm phần mềm cùng phát triển trên các môi trường, hoàn cảnh khác nhau nên tìm một phiên bản phù hợp với yêu cầu của riêng mỗi cá nhân sẽ không phải là một vấn đề quá khó khăn. Bên cạnh Windows đòi hỏi cấu hình cài đặt cao thì tính linh hoạt của Linux còn được thể hiện ở chỗ nó tương thích được với rất nhiều môi trường, và có thể chạy trên nhiều nền tảng. Hiện tại, ngoài Linux dành cho server, máy tính để bàn,... nhân Linux (Linux kernel) còn được nhúng vào các thiết bị điều khiển như máy tính palm, robot... Phạm vi ứng dụng của Linux được xem là rất rộng rãi.
* Độ an toàn cao Trong Linux có một cơ cấu phân quyền hết sức rõ ràng. Chỉ có "root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống. Ngoài ra Linux cũng có cơ chế để một người dùng bình thường có thể chuyển tạm thời sang quyền "root" để thực hiện một số thao tác. Điều này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót dẫn đến sụp đổ vì hệ thống. Trong những phiên bản Windows gần đây, cơ chế phân quyền này cũng đã bước đầu được áp dụng, nhưng so với Linux thì vẫn kém chặt chẽ hơn. Ngoài ra chính tính chất "mở" cũng tạo nên sự an toàn của Linux. Nếu như một lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng mã nguồn mở cùng sửa và thường thì chỉ sau 24h sẽ có thể cho ra bản sửa lỗi. Trong khi với hệ điều hành Windows, không thể biết được người ta viết gì, và viết ra sao mà chỉ biết được chúng chạy như thế nào. Vì vậy nếu như Windows có chứa những đoạn mã cho phép tạo những "back door" để xâm nhập vào hệ thống của thì cũng không thể biết được. Đối với người dùng bình thường, vấn đề này có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế này lại mang tính sống còn. Các nhân viên an ninh không được phép để lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan đến an ninh của cả một quốc gia. Và một lần nữa các phần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số một. Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành, điều đó cũng có nghĩa là độ an toàn được nâng cao.
* Thích hợp cho quản trị mạng Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điều hành mạng rất giá trị. Nếu như Windows tỏ ra là một hệ điều hành thích hợp với máy tính Desktop thì Linux lại là hệ điều hành thống trị đối với các Server. Đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên tốt ... Giao thức TCP/IP mà ngày nay vẫn thường thấy chính là một giao thức truyền tin của Linux (sau này mới được đưa vào Windows).
* Chạy thống nhất trên các hệ thống phần cứng Cho dù có rất nhiều phiên bản Linux được các nhà phân phối khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ Intel 486 đến những máy Pentium mới nhất, từ những máy có dung lượng RAM chỉ 4MB đến những máy có cấu hình cực mạnh (tất nhiên là tốc độ sẽ khác nhau nhưng về nguyên tắc vẫn có thể chạy được). Nguyên nhân là Linux được rất nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển (không như Windows chỉ do Microsoft phát triển) và sẽ gặp nhiều người có "cùng cảnh ngộ" như nhau, như vậy dễ dàng tìm được các driver tương ứng với thiết bị của mỗi người. Tính chất này hoàn toàn trái ngược với Windows, mỗi khi có một phiên bản Windows mới ra đời thì bao giờ kèm theo đó cũng là một cơn khát về phần cứng vì hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ.
1.3. Một vài nhược điểm của Linux
Mặc dù hiện nay Linux đang có tốc độ phát triển nhanh hơn hẳn Windows nhưng khách quan mà nói so với Windows thì Linux vẫn chưa thể đến với người sử dụng cuối. Đó là do Linux vẫn còn có những nhược điểm cố hữu.
* Đòi hỏi người dùng phải thành thạo Trước kia việc sử dụng và cấu hình Linux được xem là một công việc chỉ dành cho những chuyên gia. Hầu như mọi công việc đều thực hiện trên các dòng lệnh và phải cấu hình nhờ sửa trực tiếp các file. Mặc dù trong những phiên bản gần đây, hệ điều hành Linux đã có những cải tiến đáng kể, nhưng so với Windows thì tính thân thiện của Linux vẫn còn là một vấn đề lớn. Đây là một trong những nguyên nhân chủ yếu khiến Linux mặc dù có rất nhiều đặc tính kỹ thuật tốt nhưng vẫn chưa đến được với người dùng cuối. Tuy nhiên Linux hiện nay đã phát triển nhiều phiên bản thân thiện với người dùng giao diện đẹp nên cũng đã dần dần đã được nhiều người sử dụng.
* Tính tiêu chuẩn hóa Linux được phát hành miễn phí nên bất cứ ai cũng có thể tự mình đóng gói, phân phối theo những cách riêng. Hiện tại có khá nhiều bản Linux phát triển từ một nhân ban đầu cùng tồn tại như: RedHat, SuSE, Knoppix... Người dùng phải tự so sánh xem bản nào là phù hợp với mình. Điều này có thể gây khó khăn cho người dùng, nhất là những người còn có kiến thức về tin học hạn chế.
* Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế Mặc dù Windows có sản phẩm nào thì Linux cũng gần như có phần mềm tương tự. (VD: OpenOffice trên Linux tương tự như MSOffice, hay GIMP tương tự như Photoshop, v v... ) Tuy nhiên chất lượng những sản phẩm này là chưa thể so sánh được với các sản phẩm viết cho Windows.
* Một số nhà sản xuất phần cứng không có driver hỗ trợ Linux Do hiện nay Linux chưa phổ biến bằng Windows nên nhiều nhà sản xuất không hỗ trợ các driver chạy trên Linux. Tuy nhiên vẫn có thể tìm thấy các driver này do ai đó trong cộng đồng mã nguồn mở viết. Linux có một số nhược điểm mang tính cố hữu như vậy nhưng vẫn có thể chạy được một số chương trình Windows trên nên Linux thông qua chương trình WINE (một chương trình giả lập để chạy các ứng dụng Windows trên Linux). Do đó có thể tận dụng được các ưu điểm của Windows lẫn Linux. Ngoài ra vẫn có thể cài đặt song song Linux và Windows trên cùng một máy tính cá nhân như vẫn thường cài chung WinXP và Win98 (tuy nhiên do hệ thống file khác nhau nên Windows không đọc được một số file của Linux). Như vậy cũng có nghĩa là các nhược điểm của Linux cũng đã phần nào được giải quyết. Ngoài ra Linux cũng có hệ thống tập lệnh tương đối đầy đủ, rất tiện cho sử dụng.
1.4. Một số tập lệnh cơ bản trong linux
Lệnh liên quan đến hệ thống- exit: thoát khỏi cửa sổ dòng lệnh.- logout: tương tự exit.- reboot: khởi động lại hệ thống.- halt: tắt máy.- startx: khởi động chế độ xwindows từ cửa sổ terminal. - mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.- unmount: ngược với lệnh mount. Lệnh thao tác trên tập tin- ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.- pwd: xuất đường dẫn của thư mục làm việc.- cd: thay đổi thư mục làm việc đến một thư mục mới.- mkdir: tạo thư mục mới.- rmdir: xoá thư mục.- cp: copy một hay nhiều tập tin đến thư mục mới.- mv: đổi tên hay di chuyển tập tin, thư mục.- rm: xóa tập tin.- wc: đếm số dòng, số kí tự... trong tập tin.- touch: tạo một tập tin.- cat: xem nội dung tập tin.- vi: khởi động trình soạn thảo văn bản vi.- df: kiểm tra dung lượng đĩa.- du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định Lệnh khi làm việc trên terminal- clear: xoá trắng cửa sổ dòng lệnh.- date: xem ngày, giờ hệ thống.- cal: xem lịch hệ thống. Lệnh quản lí hệ thống- rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.- ps: kiểm tra hệ thống tiến trình đang chạy.- kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.- top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.- pstree: hiển thị tất cả các tiến trình dưới dạng cây.- sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.- useradd: tạo một người dùng mới.- groupadd: tạo một nhóm người dùng mới.- passwd: thay đổi password cho người dùng.- userdel: xoá người dùng đã tạo.- groupdel: xoá nhóm người dùng đã tạo.- gpasswd: thay đổi password của một nhóm người dùng.- su: cho phép đăng nhập với tư cách người dùng khác.- groups: hiển thị nhóm của user hiện tại.- who: cho biết ai đang đăng nhập hệ thống.- w: tương tự như lệnh who.- man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số...
CHƯƠNG II: CÁCH THỨC TỔ CHỨC, CƠ CHẾ BẢO VỆ DỮ LIỆU TRONG LINUX
Trong môi trường làm việc của linux các thức tổ chức file có các đặc tính riêng nắm một chức năng quan trọng trong hệ điều hành. Vì thế cấu trúc và chức năng của từng thư mục luôn được thể hiện rõ nét. Ở linux các file cấu hình có nội dung theo nhóm, cấu trúc cấp bậc cây thư mục. Tất cả các thư mục được nhóm theo cấu trúc gốc "/" . Linux có tính kế thừa các đặc tính cơ bản từ Unix nên hầu hết đều mang đặc điểm của hệ điều hành tiền nhiệm.
2.1. Sơ bộ kiến trúc nội tại của hệ thống file
Trên đĩa từ, hệ thống file được coi là dãy tuần tự các khối lôgic mỗi khối chứa hoặc 512B hoặc 1024B hoặc bội của 512B là cố định trong một hệ thống file. Trong hệ thống file, các khối dữ liệu được địa chỉ hóa bằng cách đánh chỉ số liên tiếp, mỗi địa chỉ được chứa trong 4 byte (32 bit).
Cấu trúc và hệ thống file, thư mục trong linux bao gồm 4 thành phần kế tiếp nhau:
- Block 0: Boot block thường chứa mã để nạp hệ điều hành(tương ứng với boot sector trong MS Dos).
- Block 1: Siêu khối (Super block) chứa thông tin liên quan đến trạng thái của hệ thống file (số lượng I-node; Số Disk Block; Điểm bắt đầu của danh sách các khối đĩa trống).
- Inode: Tương ứng bảng Fat trong Ms – Dos , chứa thông tin mô tả về lưu trữ file trên đĩa và số lượng thông tin khác nhau (chủ sở hữu, quyền truy cập, thời gian truy cập file). Mỗi I – node dài 64 byte, mô tả chính xác một file.
- Khối dữ liệu ( Data block): Tất cả file và thư mục được lưu trữ tại đây
Siêu khối
Siêu khối chứa nhiều thông tin liên quan đến trạng thái của hệ thống file. Trong siêu khối có các trường sau đây:
- Kích thước của danh sách Inode (khái niệm Inode sẽ được giải thích trong mục sau): định kích cỡ vùng không gian trên hệ thống file quản lý các Inode.
- Kích thước của hệ thống file.
Hai kích thước trên đây tính theo đơn vị dung lượng bộ nhớ ngoài, một danh sách chỉ số các khối rỗi (thường trực trên siêu khối) trong hệ thống file.
Chỉ số các khối rỗi thường trực trên siêu khối được dùng để đáp ứng nhu cầu phân phối mới. Danh sách chỉ số các khối rỗi có trên siêu khối chỉ là một bộ phận của tập tất cả các khối rỗi có trên hệ thống file.
Chỉ số của khối rỗi, dùng để hỗ trợ việc tìm kiếm tiếp các khối rỗi, bắt đầu tìm từ khối có chỉ số này trở đi. Điều đó có nghĩa là mọi khối có chỉ số không lớn hơn chỉ số này hoặc có trong danh sách các khối rỗi thường trực hoặc đó được cấp phát cho một file nào đó.
Hai tham số trên đây tạo thành cặp xác định được danh sách các Inode rỗi trên hệ thống file các thao tác tạo file mới, xoá file cập nhật thông tin này. Một danh sách các Inode rỗi (thường trực trên siêu khối) trong hệ thống file. Danh sách này chứa chỉ số các Inode rỗi được dùng để phân phối ngay được cho một file mới được khởi tạo. T