Sơ bộ kiến trúc 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ốichứa hoặc 512B hoặc 1024B hoặc bội của 512B là cố định trong một hệ thống file
Trang 1ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
- -KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Đề tài: Nghiên cứu tìm hiểu về hệ thống bảo vệ
Trang 2ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
- -KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Đề tài: Nghiên cứu tìm hiểu về hệ thống bảo vệ
trong HĐH LINUX
Môn: NGUYÊN LÝ HỆ ĐIỀU HÀNH
Giảng viên hướng dẫn: ThS.Nguyễn Tuấn Tú
Trang 35 Doãn Văn Long
Hà Nội, tháng 3 năm 2016
MỤC LỤC
BẢNG PHÂN CÔNG VIỆC CỦA CÁC THÀNH VIÊN 2
Phần I: GIỚI THIỆU 3
Phần II: CÁCH THỨC TỔ CHỨC, CƠ CHẾ BẢO VỆ DỮ LIỆU TRONG LINUX 4
2.1 Sơ bộ kiến trúc của hệ thống file 4
2.2 Ý nghĩa các thư mục hệ thống trong Linux 7
2.3 Linux và các tệp tin quản lý 10
2.4 Ý nghĩa các tệp tin con trong etc và một số thư mục 11
2.5 Hệ thống ghi nhật ký, cơ chế journaling file system (JFS), journaling block device (JBD) 17
2.5.1 Cơ chế JFS (journaling file system) 18
2.5.2 Cơ chế JBD (journaling block device) 19
2.6 Kiểu hệ thống file trợ giúp bằng cơ chế journaling file system 21
2.6.1 Hệ thống file Reiserfs 21
2.6.2 Hệ thống file XFS 22
2.6.3 Hệ thống File JFS .22
2.6.4 Ext3 22
Trang 4BẢNG PHÂN CÔNG VIỆC CỦA CÁC THÀNH VIÊN
NHÓM 12
Trang 5Phần I:GIỚI THIỆU
- Linux bắt đầu từ một hệ điều hành lớn hơn có tên Unix.
- Unix là một hệ điều hành thông dụng trên thế giới do được nhiều hệ thống hỗ
trợ Hệ điều hành này tồn tại trên hầu hết các kiểu máy tính kể cả máy tính cá nhân
STT Người phụ trách Công việc thực hiện
1 Nguyễn Thị Thanh
- Tìm hiểu về hệ thống ghi nhật kí, cơ chế
journaling file system (JFS), journalingblock device (JBD)
- Lên kế hoạch cho nhóm.(học, nghiên
- Tìm hiểu về linux và các tập tin quản lý, ý
nghĩa các tệp tin con trong etc và một sốthư mục
- Tổng hợp bài nghiên cứu của các thành
viên
4 Trần Quý Long - Tìm hiểu về sơ bộ kiến trúc của hệ thống
file và ý nghĩa của thư mục hệ thốngtrong LINUX
5 Doãn Văn Long - Tìm hiểu về hệ thống file JFS và Ext.
- Chỉnh sửa lại lần cuối và đưa ra báo cáo
chính thức
Trang 6- Linux là hệ thống Unix tự do được hình thành từ một đồ án giải trí của một
sinh viên Phần Lan: Linus Torvalds, lấy nguồn cảm hứng từ Minix
- Ban đầu hệ điều hành linux đã được phát triển như một hệ điều hành đa nhiệm
cho các máy mini và các máy lớn (mainframe) trong những năm 70 Cho tới nay nó đã được phát triển trở thành một hệ điều hành phổ dụng trên toàn thế giới, mặc dù với giao diện chưa thân thiện và chưa được chuẩn hóa hoàn toàn
- Hiện nay, Linux làm việc tại tập đoàn Transmeta và tiếp tục phát triển nhân hệ
điều hành Linux ( Linux kernel)
- Linux là một hệ điều hành khác hoàn toàn với các hệ điều hành khác, dựa vào
- Hạt nhân quản lý những tài nguyên vật lý (như bộ xử lý, bộ nhớ, thiết bị ngoại
vi) và logic (như tiến trình, tập tin…) Hạt nhân được tạo thành tự một tập hợp các thủ tục hàm được thiết kế bằng ngôn ngữ C Cấu trúc của hạt nhân là
nguyên khối của lớp Người sử dụng thao tác với Linux thông qua bộ thông dịch lệnh Một trong những đặc điểm của Linux là có nhiều shell khác nhau
Phần 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ách thức tổ chức file có các đặc tínhriê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
Trang 7nă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ộidung 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 theocấ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 đềumang đặc điểm của hệ điều hành tiền nhiệm.
2.1 Sơ bộ kiến trúc 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ốichứ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êntiế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ếpnhau:
- Block 0: Boot block thường chứa mã để nạp hệ điều hành(tương ứng vớiboot 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 giantruy 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
- 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 danhsách chỉ số các khối rỗ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ầuphâ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ủatậ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 chomột file nào đó
Trang 8Hai 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 chomột file mới được khởi tạo Thông thường, danh sách này chỉ chứa một bộ phậncác Inode rỗi trên hệ thống file
Các trường khóa (lock) danh sách các khối rỗi và danh sách Inode rỗi Trongmột số trường hợp, chẳng hạn khi hệ thống đang làm việc thực sự với đĩa từ để cậpnhật các danh sách này, hệ thống không cho phép cập nhật tới hai danh sách nóitrên
Trong thời gian máy hoạt động, theo từng giai đoạn, nhân sẽ đưa siêu khốilên đĩa nếu nó đó được biến đổi để phù hợp với dữ liệu trên hệ thống file Một trongkhái niệm cốt lõi xuất hiện trong hệ thống file đó là Inode
Hình 2 1: Ví dụ hình ảnh về một Inode
Trang 9Inode :Mỗi khi một quá trình khởi tạo một file mới, nhân hệ thống sẽ gán cho nó một
Inode chưa sử dụng Nội dung của file được chứa trong vùng dữ liệu của hệ thống file và được phân chia các khối dữ liệu (chứa nội dung file), hình ảnh phân bố nội dung file có trong một Inode tương ứng Liên kết đến tập hợp các khối dữ liệu này
là một Inode, chỉ thông qua Inode mới có thể làm việc với dữ liệu tại các khối dữ liệu Inode chứa thông tin về tập hợp các khối dữ liệu nội dung file Tổ hợp gồm Inode và tập các khối dữ liệu như vậy là một file vật lý, Inode có thông tin về file vật
lý, trong đó có địa chỉ của các khối nhớ chứa nội dung của file vật lý Thuật ngữ Inode là sự kết hợp của hai từ index với node và được sử dụng phổ biến trong
Linux.Các Inode được phân biệt nhau theo chỉ số của Inode, đó chính là số thứ tự củaInode trong danh sách Inode trên hệ thống file Thông thường, hệ thống dùng 2 bytes để lưu trữ chỉ số của Inode Với cách lưu trữ chỉ số như thế, không có nhiều hơn 65535 Inode trong một hệ thống file.Như vậy, một file chỉ có một Inode song một file lại có một hoặc một số tên file Người dùng tác động thông qua tên file và tên file lại tham chiếu đến Inode (tên file và chỉ số Inode là hai trường của một phần tử của một thư mục) Một Inode có thể tương ứng với một hoặc nhiều tên file, mỗi tương ứng như vậy được gọi là một liên kết Inode được lưu trữ tại vùng danh sách các Inode.Trong quá trình làm việc, Linux dùng một vùng bộ nhớ, được gọi là bảng Inode (trong một số trường hợp, nó cũng được gọi là bảng sao in-core Inode) với chức năng tương ứng với vùng danh sách các Inode có trong hệ thống file, hỗ trợ cho quá trình truy nhập dữ liệu trong hệ thống file Nội dung của một in-core Inode không chỉ chứa các thông tin trong Inode tương ứng mà cũng được bổ sung các thôngtin mới giúp cho quá trình xử lý Inode.Inode bao gồm các trường thông tin sau đây: - Kiểu file
Trong Linux phân loại các kiểu file: File thông thường (regular), thư mục, đặc tả kí
tự, đặc tả khối và ống dẫn FIFO (pipes).Linux quy định trường kiểu file có giá trị 0 tương ứng đó là Inode chưa được sử dụng Tên file được tạo thành từ 1 đến 14 kí tự Nếu tên file bắt đầu bằng dấu chấm (.) thì là file ẩn Mỗi file bao gồm các thông số: Tên file, số hiệu file, độ dài file, thời gian tạo file, thời gian sửa đổi sau cùng, các thuộc tính thâm nhập file (đọc - r , ghi – w, thực thi – x) Một file có 9 thuộc tính thâm nhập và thêm một thuộc tính chỉ ra nó là file hay thư mục
1 : chỉ ra là file hay thư mục
2,3,4 : quyền truy nhập User
5,6,7 : quyền truy nhập Group
Trang 108,9,10 : quyền truy nhập Other
Trong mỗi nhóm có 3 thuộc tính : R , W, X, (-) rỗng
- Quyền truy nhập file Trong Linux, file là một tài nguyên chung của hệthống vì vậy quyền truy nhập file được đặc biệt quan tâm để tránh những trường hợptruy nhập không hợp lệ Đối với một Inode, có 3 mức quyền truy nhập liên quan đếncác đối tượng:
Mức chủ của file (đối tượng này được ký hiệu là u: từ chữ user), mức nhóm người dùng của chủ nhân của file (đối tượng này được ký hiệu là g: từ chữ group), mức người dùng khác (đối tượng này được ký hiệu là o: từ chữ other).
Quyền truy nhập là đọc, ghi, thực hiện hoặc một tổ hợp nào đó từ nhóm gồm 3quyền trên Quyền thực hiện đối với một thư mục tương ứng với việc cho phéptìm một tên file có trong thư mục đó
Số lượng liên kết đối với Inode: Đây chính là số lượng các tên file trên cácthư mục được liên kết với Inode này, định danh chủ nhân của Inode, định danhnhóm chủ nhân, xác định tên nhóm người dùng mà chủ file là một thành viên củanhóm này, độ dài của file tính theo byte Thời gian truy nhập file: thời gian file đượcsửa đổi muộn nhất, thời gian file được truy nhập muộn nhất, thời gian file được khởitạo
Nội dung của file thay đổi khi có thao tác ghi lên nó; nội dung của một Inodethay đổi khi nội dung của file thay đổi hoặc thay đổi chủ hoặc thay đổi quyền hoặcthay đổi số liên kết
Ví dụ về nội dung một Inode như sau:
type regular perms rwxr-xr-x links 2
owner 41CT group 41CNTT size 5703 bytes
accessed Sep 14 1999 7:30 AM modified Sep 10 1999 1:30 PM Inode Aug 1 1995 10:15 AM
2.2 Ý nghĩa các thư mục hệ thống trong Linux
Trang 12Đăng nhập các file từ các chương trình như đăng nhập và ghi nhật ký hệ thống mà tất
cả các bản ghi từng đăng nhập và đăng xuất
Trang 132.3 Linux và các tệp tin quản lý
badblocks Được sử dụng để tìm kiếm một phân vùng đĩa hoặc cho
badblocks cfdisk Tương tự như fdisk nhưng với một giao diện đẹp hơn
debugfs Cho phép truy cập trực tiếp vào hệ thống file cấu trúc dữ
liệu
df Truyền miễn phí một không gian đĩa trên một hay nhiều hệ
thống file
dosfsck Kiểm tra hoặc sửa chữa hệ thống MS-DOS
Du Hiển thị có bao nhiêu không gian đĩa cho một thư mục và
tất cả các file chứa
dump Sử dụng để backup file hệ thống Ext2
dumpe2fs Dump superblock và hệ thống file khối nhóm thông tin Ví
dụ : dumpe2fs / dev/hda2 e2fsck Kiểm tra hệ thống file Linux mở rộng
e2label Thay đổi nhón trên hệ thống file Ext2
exportfs Được sử dụng thiết lập hệ thống file xuất dưới dạng nfs
(mạng chia sẻ thông tin)
fdisk Sử dụng sửa chữa hoặc tạo phân vùng trên ổ đĩa cứng
fdformat Các định dạng đĩa mềm
fsck Sử dụng gắn thêm các khối mới vào một hệ thống file
Không được chạy trên một hệ thống file gắn kết
hdparm Nhận thiết lập các thông số trên đĩa cứng geometry,
cylinders
Trang 14Chạy một hệ thống file Linux Trước đó đây là một kết thúc chạy một chương trình riêng phụ thuộc vào loại hệ thống file
mke2fs Tạo một hệ thống file linux mở rộng
mkswap Thiết lập khu vực trao đổi Linux trên một thiết bị hoặc file.mount Được sử dụng để gắn kết một hệ thống file Ngược lại là
umount
rdev
Truy vấn thiết lập hình ảnh gốc điện thoại, trao đổi điện thoại, kích cỡ ram của chế độ video Hiện là mã số điện thoại có chứa các hệ thống file gốc vào trong ảnh hạt nhân.rdump Tương tự như biến
rmt Giao thức modul
restore Được sử dụng để khôi phục một hệ thống file Ext2
setfdprm Thiết lập các thông số ổ đĩa mềm
swapoff(8) Được sử dụng để khóa từ một phân vùng swap
Swapon(8) Được sử dụng để kích hoạt từ một phân vùng swap
sync Không được viết tất cả các khối trong bộ nhớ cache để tiếp
tục ghi lên đĩa
tune2fs Điều chỉnh các thông số hệ thống file trên hệ thống file mở
rộng
umount Bỏ gắn kết một hệ thống file
Bảng 1: Linux và các tệp tin quản lý
2.4 Ý nghĩa các tệp tin con trong etc và một số thư mục
profile Môi trường hệ thống lớn Và các script khởi động
chương trình
/dev/MAKEDEV
Các thư mục / dev / MAKEDEV là một tập lệnh được viết bởi các nhà quản trị hệ thống tạo ra các file thiết bị cục bộ hoặc thiết bị kết nối như là thiết bị cho một trình điều khiển
/etc/aliases Người sử dụng có một e-mail phù hợp
/etc/bootptab Các file cấu hình cho trình phục vụ BOOTP daemon./etc/crontab Danh sách lệnh và thời gian chạy cho deamon cron./etc/dhcpd.conf Các file cấu hình cho trình phục vụ DHCP daemon./etc/ethers File RARP lập bản đồ từ các địa chỉ phần cứng đến các
địa chỉ IP
/etc/exports Các file mô tả hệ thống xuất ra cho các dịch vụ NFS./etc/fdprm Các tham số của bảng đĩa mềm Mô tả các định dạng
Trang 15khác nhau của đĩa mềm Được sử dụng bởi setfdprm.
/etc/filesystems
Có thể được sử dụng để thiết lập hệ thống file khi có lệnh hệ thống file được gắn kết với các tuỳ chọn tự động.Các nodev tham số được xác định cho file hệ thống đó không phải là thực sự gắn kết các hệ thống cục bộ như proc, devpts, và các hệ thống nfs
/etc/fstab
Danh sách các hệ thống file gắn kết tự động khi khởi củalệnh mount –a lệnh (trong / etc / rc hoặc tương đương file khởi động)
/etc/group Tương tự như trong / etc / passwd, nhưng là cho các
/etc/host.conf Xác định như thế nào là tên máy chủ đó tồn tại
/etc/hosts Danh sách tra cứu tên cho các máy trạm được yêu cầu
/etc/hostname
Cho biết tên của các máy chủ trong máy chủ này Được
sử dụng để hỗ trợ của các chương trình cũ từ khi có tên máy chủ lưu trữ được lưu giữ trong các file /etc/
sysconfig/network
/etc/inittab File cấu hình cho init, kiểm soát khởi động chạy theo
level, xác định để bắt đầu với các script
/etc/inetd.conf Thiết lập các dịch vụ chạy theo chế độ inetd daemon./etc/issue Kết quả của đăng nhập nhanh Mô tả hoặc tin nhắn chào
mừng
/etc/issue.net Kết quả cho mạng lưới đăng nhập với các phiên bản
Linux
/etc/ld.so.conf File cấu hình cho ld.so, thời gian chạy link
/etc/lilo.conf File cấu hình cho LILO
/etc/limits Giới hạn khi một người sử dụng nguồn tài nguyên hệ
thống đó cài đặt mật khẩu
/etc/localtime Liên kết xác định hệ thống múi giờ trong Debian
/etc/login.defs Tính năng đăng nhập vào hệ thống với mật khẩu
/etc/logrotate.conf Cấu hình được sử dụng để quản lý log files
/etc/magic Chứa các mô tả của nhiều định dạng tệp tin cho các file
lệnh
Trang 16/etc/motd Các thông tin trong ngày, tự động sản xuất khi một hành
động thành công trong đăng nhập
/etc/mtab
Một danh sách các file hệ thống hiện tại đang gắn kết Thiết lập bởi script khởi động và cập nhật của lệnh mount
/etc/named.conf Được sử dụng cho tên miền của các máy chủ
/etc/networks Danh sách tên và địa chỉ của và các mạng
/etc/nologin
Nếu file này tồn tại, không thể đăng nhập quyền root là khi bị vô hiệu hoá Thường được tạo ra khi hệ thống là Tắt
/etc/nsswitch.conf Tên dịch vụ chuyển đổi file cấu hình
/etc/passwd Chứa mật khẩu người dùng
/etc/printcap File cấu hình cho máy in
/etc/profile,/etc/
cshlogin, /etc/csh/cshrc
Tệp tin đăng nhập hoặc thực hiện ở thời gian khởi độngcủa Bourne hay một shell lệnh băng ngôn ngữ C Cho phép các quản trị hệ thống trên toàn cầu để thiết lập mặc định cho tất cả người dùng
/etc/rc.d/rc0.d / Chứa các file được sử dụng để kiểm soát hoạt động cấp
độ 0 thông thường là link mềm
/etc/rc.d/rc1.d
Chứa các file để kiểm soát hoạt động cấp 1 Script bắt đầu bằng chữ S là dành cho bắt đầu, chữ K tương đương lệnh kill (kết thúc)
/etc/rc.d/rc.sysinit Init chạy khi bắt đầu
/etc/resolv.conf Giải quyết cấu hình tên, xác định địa chỉ của tên máy
chủ và tên miền
/etc/securetty Xác định dùng lệnh an toàn từ quyền root thì được phép
đăng nhập
/etc/services Danh sách các mạng dịch vụ mà hệ thống hỗ trợ
/etc/shadow File mật khẩu trên hệ thống với phần mềm mở hoá mật
khẩu được cài đặt Di chuyển mật khẩu đó được mã hóa
từ /etc / passwd đến / etc / shadow mà chỉ có thể đọc