Tải bản đầy đủ
Phần II: CÁCH THỨC TỔ CHỨC, CƠ CHẾ BẢO VỆ DỮ LIỆU TRONG LINUX

Phần II: CÁCH THỨC TỔ CHỨC, CƠ CHẾ BẢO VỆ DỮ LIỆU TRONG LINUX

Tải bản đầy đủ

đâ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: đị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 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. Thông thường, danh sách

này chỉ chứa một bộ phận cá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. Trong mộ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ập nhậ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ói trên.
Trong thời gian máy hoạt động, theo từng giai đoạn, nhân sẽ đưa
siêu khối lê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 trong khái niệm cốt lõi xuất hiện trong hệ thống file đó là
9

Inode.

Hình 2. : Ví dụ hình ảnh về một Inode

10

Inode :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ủa Inode 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ông tin 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.

11

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
8,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ợp truy 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 đến cá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 3 quyề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ép tì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ác thư mục được liên kết với Inode này, định danh chủ nhân
của Inode, định danh nhó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ủa nhóm này, độ dài của file tính theo
byte. Thời gian truy nhập file: thời gian file được sửa đổi muộn nhất, thời
gian file được truy nhập muộn nhất, thời gian file được khởi tạo.
Nội dung của file thay đổi khi có thao tác ghi lên nó; nội dung của
12

một Inode thay đổi khi nội dung của file thay đổi hoặc thay đổi chủ hoặc
thay đổi quyền hoặc thay đổ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
* root
Chứa các thư mục gốc cho những người sử dụng .
* home
Chứa các thư mục của người sử dụng cùng với các thư mục các dịch vụ.
-ftp
-HTTP
-samba
-george
* bin
Lệnh cần thiết trong quá trình bootup của người sử dụng.
* sbin
Cũng giống như bin nhưng lệnh không phải là dành cho người sử dụng
bình thường. Chạy lệnh của Linux.
* proc
Đây không phải là hệ thống file trên một đĩa. Là một hệ thống file ảo
trong hạt nhân nghĩ là bộ nhớ.
*1
Một thư mục với các thông tin về việc xử lý số 1. Mỗi quá trình có một
thư mục trong proc.
* usr
13

Chứa tất cả các lệnh, thư viện, trò chơi và các file cho hoạt động bình
thường. * bin
Chứa hầu như tất cả lệnh. Một số lệnh ở trong / bin hoặc / usr / local / bin.
* sbin
Có quyền quản lý lệnh hệ thống không cần thiết trên các file gốc. Ví dụ:
hầu hết các chương trình trên sever
* include
Tựa đề các file trong chương trình ngôn ngữ C.
* lib h tr
Không thể thay đổi dữ liệu hoặc file cho chương trình và hệ thống nhỏ.
* local
Nơi để cài đặt phần mềm hay các file khác trên máy cục bộ.
* man
Các trang hướng dẫn.
* info
Thông tin về tài liệu.
* doc
Tài liệu
* X11R6
Hệ thống file trong X windows. Có một thư mục tương tự với usr bên
dưới thư mục này.
* X386 Giống như X11R6 nhưng X11 cho phát hành lần 5
* boot
Được sử dụng bởi các file tải và khởi động hệ tải, LILO. Hình ảnh nhân
thường được lưu trữ tại đây.
* lib
Chia sẻ các thư viện cần thiết của các chương trình trên hệ thống file gốc.
* modules
Các modules cần thiết để tải hệ thống nhân kernel. Đặc biệt cần thiết khi
có lỗi xảy ra.
* dev
14

Thiết bị file
* etc
Cấu hình các file đặc biệt trên hệ thống máy tính.
* skel
Khi một thư mục được tạo ra sẽ làm việc với các file từ thư mục này.
* Sysconfig
File cấu hình hệ thống cho các thiết bị.
* var
Chứa các file mà thay đổi cho các email, tin tức, máy in các file đăng
nhập, các file tạm thời.
* file
Là các tệp tin.
* lib
Các file có sự thay đổi, trong khi hệ thống đang chạy bình thường.
* local
Nơi để cài đặt phần mềm hay các file khác trên máy cục bộ.
* lock
Khoá các file. Được sử dụng bởi một chương trình để cho được sử dụng
một thiết bị đặc biệt hoặc file.
* log
Đă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.
* run
File có chứa các thông tin đúng về hệ thống cho đến khi hệ thống khởi
động.
* spool
Thư mục cho các thư điện tử, máy in, tin tức và các spooled làm việc.
* tmp
Các file tạm thời lớn hoặc cần phải tồn tại lâu.
* catman
Một bộ nhớ cache cho người dùng được định dạng theo yêu cầu.
15

* mnt
Điểm để tạm thời gắn kết của các quản trị hệ thống.
* tmp
Các file tạm thời. Chương trình đang chạy sau khi bootup nên sử dụng
thư mục / var / tmp.

2.3. Linux và các tệp tin quản lý
badblocks
cfdisk
debugfs
df
dosfsck
Du
dump
dumpe2fs
e2fsck
e2label
exportfs
fdisk
fdformat
fsck

hdparm
mkfs

Được sử dụng để tìm kiếm một phân vùng đĩa hoặc cho
badblocks
Tương tự như fdisk nhưng với một giao diện đẹp hơn.
Cho phép truy cập trực tiếp vào hệ thống file cấu trúc dữ
liệu.
Truyền miễn phí một không gian đĩa trên một hay nhiều hệ
thống file.
Kiểm tra hoặc sửa chữa hệ thống MS-DOS.
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.
Sử dụng để backup file hệ thống Ext2.
Dump superblock và hệ thống file khối nhóm thông tin. Ví
dụ : dumpe2fs / dev/hda2
Kiểm tra hệ thống file Linux mở rộng.
Thay đổi nhón trên hệ thống file Ext2.
Đượ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).
Sử dụng sửa chữa hoặc tạo phân vùng trên ổ đĩa cứng.
Các định dạng đĩa mềm.
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.
Nhận thiết lập các thông số trên đĩa cứng geometry,
cylinders.
Chạy một hệ thống file Linux. Trước đó đây là một kết
16

mke2fs
mkswap
mount
rdev
rdump
rmt
restore
setfdprm
swapoff(8)
Swapon(8)
sync
tune2fs
umount

thúc chạy một chương trình riêng phụ thuộc vào loại hệ
thống file.
Tạo một hệ thống file linux mở rộng.
Thiết lập khu vực trao đổi Linux trên một thiết bị hoặc file.
Được sử dụng để gắn kết một hệ thống file. Ngược lại là
umount.
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.
Tương tự như biến.
Giao thức modul.
Được sử dụng để khôi phục một hệ thống file Ext2.
Thiết lập các thông số ổ đĩa mềm.
Được sử dụng để khóa từ một phân vùng swap.
Được sử dụng để kích hoạt từ một phân vùng swap.
Không được viết tất cả các khối trong bộ nhớ cache để tiếp
tục ghi lên đĩa.
Điều chỉnh các thông số hệ thống file trên hệ thống file mở
rộng.
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

/dev/MAKEDEV
/etc/aliases
/etc/bootptab
/etc/crontab
/etc/dhcpd.conf
/etc/ethers

Môi trường hệ thống lớn. Và các script khởi động
chương trình
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.
Người sử dụng có một e-mail phù hợp.
Các file cấu hình cho trình phục vụ BOOTP
daemon.
Danh sách lệnh và thời gian chạy cho deamon cron.
Các file cấu hình cho trình phục vụ DHCP daemon.
File RARP lập bản đồ từ các địa chỉ phần cứng đến các
17

/etc/exports
/etc/fdprm

/etc/filesystems

/etc/fstab
/etc/group
/etc/groups
/etc/gshadow
/etc/host.conf
/etc/hosts
/etc/hostname

/etc/inittab
/etc/inetd.conf
/etc/issue
/etc/issue.net
/etc/ld.so.conf
/etc/lilo.conf
/etc/limits

địa chỉ IP.
Các file mô tả hệ thống xuất ra cho các dịch vụ NFS.
Các tham số của bảng đĩa mềm. Mô tả các định dạng
khác nhau của đĩa mềm. Được sử dụng bởi setfdprm.
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.
Danh sách các hệ thống file gắn kết tự động khi khởi
của lệnh mount –a lệnh (trong / etc / rc hoặc tương
đương file khởi động).
Tương tự như trong / etc / passwd, nhưng là cho các
nhóm người sử dụng.
Có thể chứa mật khẩu cho phép một người sử dụng
tham gia một nhóm.
Tổ chức các nhóm mật khẩu và mật khẩu quản trị viên
của nhóm có mật khẩu là bí mật.
Xác định như thế nào là tên máy chủ đó tồn tại.
Danh sách tra cứu tên cho các máy trạm được yêu cầu.
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.
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.
Thiết lập các dịch vụ chạy theo chế độ inetd daemon.
Kết quả của đăng nhập nhanh. Mô tả hoặc tin nhắn
chào mừng.
Kết quả cho mạng lưới đăng nhập với các phiên bản
Linux.
File cấu hình cho ld.so, thời gian chạy link.
File cấu hình cho LILO.
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.
18

/etc/localtime
/etc/login.defs
/etc/logrotate.conf

Liên kết xác định hệ thống múi giờ trong Debian
Tính năng đăng nhập vào hệ thống với mật khẩu.
Cấu hình được sử dụng để quản lý log files.
Chứa các mô tả của nhiều định dạng tệp tin cho các file
/etc/magic
lệnh.
Các thông tin trong ngày, tự động sản xuất khi một
/etc/motd
hành động thành công trong đăng nhập.
Một danh sách các file hệ thống hiện tại đang gắn kết.
/etc/mtab
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
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á.
/etc/nologin
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.
Tệp tin đăng nhập hoặc thực hiện ở
thời gian khởi động của Bourne hay
/etc/profile,/etc/cshlogin,
một shell lệnh băng ngôn ngữ C. Cho
/etc/csh/cshrc
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.
Describes DARPA Internet protocols
available from the TCP/IP subsystem.
Mô tả DARPA giao thức internet đó
/etc/protocols
có từ các giao thức TCP / IP
Subsystem. Bản đồ giao thức số ID
vào các tên giao thức.
Script hoặc các thư mục của script để
/etc/rc or /etc/rc.d
chạy khi khởi chạy hoặc khi thay đổi
or /etc/rc?.d /
cấp độ.
19