Tải bản đầy đủ

File systems hệ thống thông tin trong linux

Mục lục
Hệ thống tệp tin trên Linux
1. Các thành phần của hệ thống tệp tin
2. Các tùy chọn trong File system
3. Tổ chức tệp tin trên Linux
4. Các thành phần trên tệp tin Linux
5. Kiểm tra dung lượng đĩa
6. Quyền truy xuất File, thư mục

TÀI LIỆU THAM KHẢO
HỆ ĐIỀU HÀNH UNIX – LINUX (2004)-NXB GIÁO DỤC


LINUX LPI-101 ISE ĐẠI HỌC HÀ NỘI
RUNNING LINUX (o’reilly)
GIÁO TRÌNH NGUYÊN LÝ HỆ ĐIỀU HÀNH- ĐẠI HỌC CÔNG NGHIỆP HN
THE LINUX DEVICE FILE- SYSTEM ( rechard gooch)
OPERATING SYSTEM CONCEPTS

THÀNH VIÊN VÀ PHÂN CÔNG NHIỆM VỤ



THÀNH VIÊN

NHIỆM VỤ

Bàn Đức Thăng

Tìm hiểu và nghiên cứu về: Tổ chức tệp tin trên

Phùng Văn Tin

Linux và các thành phần trên tệp tin Linux
Tìm hiểu và nghiên cứu về: Kiểm tra dung lượng đĩa
và quyền truy xuất File, thư mục

Lê Đăng Quang

Tìm hiểu và nghiên cứu về: Các thành phần của hệ
thống tệp tin và các tùy chọn trong File system


HỆ THỐNG TỆP TIN TRÊN LINUX
Tổng quan:
Mỗi hệ điều hành có cách tổ chức lưu trữ dữ liệu riêng. Ở mức vật lý, đĩa
được định dạng từ các thành phần sector, track, cylinder. Ở mức logic, mỗi hệ
thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để có thể xác
định được dữ liệu từ mức logic tới mức vật lý. Cách tổ chức như vậy gọi là hệ
thống tập tin (file system).
Một hệ thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư
mục.
Hệ thống tập tin Linux bao gồm: đĩa mềm, CD-ROM, những partition của đĩa
cứng...
Những hệ thống tập tin thường được tạo trong quá trình cài đặt hệ điều hành.
Nhưng bạn cũng có thể thay đổi cấu trúc hệ thống tập tin khi thêm thiết bị hay
chỉnh sửa những partition đã tồn tại. Như vậy, việc biết và hiểu cấu trúc hệ thống
tập tin trong Linux thật là quan trọng. Linux có khả năng hỗ trợ nhiều loại file
hệ thống nhất hiện nay với công nghệ được tích hợp vào bên trong bộ kernel.

1.
Các thành phần của hệ thống tệp tin


+ Superblock
+ Inode
+ Storageblock
+ Loại tập tin
Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin. Nó lưu
trữ thông tin về hệ thống tập tin như: Thông tin về block-size, free block, thời
gian gắn kết(mount) cuối cùng của tập tin
Inode (256 byte): Lưu những thông tin về những tập tin và thư mục được tạo ra


trong hệ thống tập tin. Nhưng chúng không lưu tên tập tin và thư mục thực sự.
Mỗi tập tin tạo ra sẽ được phân bổ một inode lưu thông tin sau:
+ Loại tập tin và quyền hạn truy cập tập tin
+ Người sở hữu tập tin.
+ Kích thước của tập tin và số hard link đến tập tin.
+ Ngày và thời gian chỉnh sửa tập tin lần cuối cùng.
+ Vị trí lưu nội dung tập tin trong hệ thống tập tin.
Storageblock: Là vùng lưu dữ liệu thực sự của tập tin và thư mục. Nó chia
thành những Data Block. Dữ liệu lưu trữ vào đĩa trong các data block. Mỗi
block thường chứa 1024 byte. Ngay khi tập tin chỉ có 1 ký tự thì cũng phải cấp
phát 1 block để lưu nó. Không có ký tự kết thúc tập tin.
Loại tập tin
Trong linux, tập tin dùng cho việc lưu trữ dữ liệu. Nó bao gồm cả thư mục và
các thiết bị lưu trữ.
Một tập tin dữ liệu, hay một thư mục đều được xem là tập tin. Khái niệm tập tin
còn mở rộng dùng cho các thiết bị như máy in, đĩa cứng,.... ngay cả bộ nhớ
chính cũng được coi như là một tập tin,các tập tin trong linux được chia ra làm 3
loại chính:
+ Tập tin chứa dữ liệu bình thường
+ Thư mục
+ Tập tin thiết bị
Tập tin dữ liệu: Đây là tập tin theo định nghĩa truyền thống, nó là dữ liệu lưu trữ
trên các thiết bị lưu trữ như đĩa cứng, CD-ROM, … Bạn có thể đưa bất cứ dữ


liệu nào vào tập tin này như đoạn source chương trình, tập tin văn bản hay tập
tin thực thi dạng mã máy, các lệnh của Linux cũng như tất cả các tập tin được
tạo ra bởi người dùng.
Tập tin thư mục: Thư mục không chứa dữ liệu, mà chỉ chứa các thông tin của
những tập tin và thư mục con trong nó. Thư mục chứa hai trường của một tập tin
là tên tập tin và inode number.
Tập tin thiết bị: Chứa các file device để đại diện các hardware, chứa đựng các
thông tin tài nguyên hệ thống (vd: /dev; /proc)


2.

Các tùy chọn File System:

Có khá nhiều dạng file hệ thống trong Linux, và mỗi loại sẽ được áp dụng với
từng mục đích riêng biệt. Điều này không có nghĩa rằng những file hệ thống này
không thể được áp dụng trong trường hợp khác, mà tùy theo nhu cầu và mục
đích của người sử dụng, chúng ta sẽ đưa ra phương án phù hợp.
- Ext - Extended file system: là định dạng file hệ thống đầu tiên được thiết kế
dành riêng cho Linux. Có tổng cộng 4 phiên bản và mỗi phiên bản lại có 1 tính
năng nổi bật. Phiên bản đầu tiên của Ext là phần nâng cấp từ file hệ thống Minix
được sử dụng tại thời điểm đó, nhưng lại không đáp ứng được nhiều tính năng
phổ biến ngày nay. Và tại thời điểm này, chúng ta không nên sử dụng Ext vì có
nhiều hạn chế, không còn được hỗ trợ trên nhiều distribution.
- Ext2 - The Second Extended File System: thực chất không phải là file hệ
thống journaling, được phát triển để kế thừa các thuộc tính của file hệ thống cũ,
đồng thời hỗ trợ dung lượng ổ cứng lên tới 2 TB. Ext2 không sử dụng journal
cho nên sẽ có ít dữ liệu được ghi vào ổ đĩa hơn. Do lượng yêu cầu viết và xóa
dữ liệu khá thấp, cho nên rất phù hợp với những thiết bị lưu trữ bên ngoài như
thẻ nhớ, ổ USB... Còn đối với những ổ SSD ngày nay đã được tăng tuổi thọ
vòng đời cũng như khả năng hỗ trợ đa dạng hơn, và chúng hoàn toàn có thể
không sử dụng file hệ thống không theo chuẩn journaling.
- Ext3 về căn bản chỉ là Ext2 đi kèm với journaling. Mục đích chính của Ext3 là
tương thích ngược với Ext2, và do vậy những ổ đĩa, phân vùng có thể dễ dàng
được chuyển đổi giữa 2 chế độ mà không cần phải format như trước kia. Tuy
nhiên, vấn đề vẫn còn tồn tại ở đây là những giới hạn của Ext2 vẫn còn nguyên
trong Ext3, và ưu điểm của Ext3 là hoạt động nhanh, ổn định hơn rất nhiều.
Không thực sự phù hợp để làm file hệ thống dành cho máy chủ bởi vì không hỗ
trợ tính năng tạo disk snapshot và file được khôi phục sẽ rất khó để xóa bỏ sau
này.
- Ext4: cũng giống như Ext3, lưu giữ được những ưu điểm và tính tương thích
ngược với phiên bản trước đó. Như vậy, chúng ta có thể dễ dàng kết hợp các
phân vùng định dạng Ext2, Ext3 và Ext4 trong cùng 1 ổ đĩa trong Ubuntu để
tăng hiệu suất hoạt động. Trên thực tế, Ext4 có thể giảm bớt hiện tượng phân
mảnh dữ liệu trong ổ cứng, hỗ trợ các file và phân vùng có dung lượng lớn...
Thích hợp với ổ SSD so với Ext3, tốc độ hoạt động nhanh hơn so với 2 phiên
bản Ext trước đó, cũng khá phù hợp để hoạt động trên server, nhưng lại không
bằng Ext3.
- BtrFS – thường phát âm là Butter hoặc Better FS, hiện tại vẫn đang trong giai
đoạn phát triển bởi Oracle và có nhiều tính năng giống với ReiserFS. Đại diện


cho B-Tree File System, hỗ trợ tính năng pool trên ổ cứng, tạo và lưu trữ
snapshot, nén dữ liệu ở mức độ cao, chống phân mảnh dữ liệu nhanh chóng...
được thiết kế riêng biệt dành cho các doanh nghiệp có quy mô lớn.
Mặc dù BtrFS không hoạt động ổn định trên 1 số nền tảng distro nhất định,
nhưng cuối cùng thì nó vẫn là sự thay thế mặc định của Ext4 và cung cấp chế độ
chuyển đổi định dạng nhanh chóng từ Ext3/4. Do vậy, BtrFS rất phù hợp để
hoạt động với server dựa vào hiệu suất làm việc cao, khả năng tạo snapshot
nhanh chóng cũng như hỗ trợ nhiều tính năng đa dạng khác.
Bên cạnh đó, Oracle cũng đang cố gắng phát triển 1 nền tảng công nghệ nhằm
thay thế cho NFS và CIFS gọi là CRFS với nhiều cải tiến đáng kể về mặt hiệu
suất và tính năng hỗ trợ. Những cuộc kiểm tra trên thực tế đã chỉ ra BtrFS đứng
sau Ext4 khi áp dụng với các thiết bị sử dụng bộ nhớ Flash như SSD, server
database...
- ReiserFS: có thể coi là 1 trong những bước tiến lớn nhất của file hệ thống
Linux, lần đầu được công bố vào năm 2001 với nhiều tính năng mới mà file hệ
thống Ext khó có thể đạt được. Nhưng đến năm 2004, ReiserFS đã được thay
thế bởi Reiser4 với nhiều cải tiến hơn nữa. Tuy nhiên, quá trình nghiên cứu,
phát triển của Reiser4 khá “chậm chạp” và vẫn không hỗ trợ đầy đủ hệ thống
kernel của Linux. Đạt hiệu suất hoạt động rất cao đối với những file nhỏ như
file log, phù hợp với database và server email.
- XFS được phát triển bởi Silicon Graphics từ năm 1994 để hoạt động với hệ
điều hành riêng biệt của họ, và sau đó chuyển sang Linux trong năm 2001. Khá
tương đồng với Ext4 về một số mặt nào đó, chẳng hạn như hạn chế được tình
trạng phân mảnh dữ liệu, không cho phép các snapshot tự động kết hợp với
nhau, hỗ trợ nhiều file dung lượng lớn, có thể thay đổi kích thước file dữ liệu...
nhưng không thể shrink – chia nhỏ phân vùng XFS. Với những đặc điểm như
vậy thì XFS khá phù hợp với việc áp dụng vào mô hình server media vì khả
năng truyền tải file video rất tốt. Tuy nhiên, nhiều phiên bản distributor yêu cầu
phân vùng /boot riêng biệt, hiệu suất hoạt động với các file dung lượng nhỏ
không bằng được khi so với các định dạng file hệ thống khác, do vậy sẽ không
thể áp dụng với mô hình database, email và một vài loại server có nhiều file log.
Nếu dùng với máy tính cá nhân, thì đây cũng không phải là sự lựa chọn tốt nên
so sánh với Ext, vì hiệu suất hoạt động không khả thi, ngoài ra cũng không có gì
nổi trội về hiệu năng, quản lý so với Ext3/4.
- JFS được IBM phát triển lần đầu tiên năm 1990, sau đó chuyển sang Linux.
Điểm mạnh rất dễ nhận thấy của JFS là tiêu tốn ít tài nguyên hệ thống, đạt hiệu
suất hoạt động tốt với nhiều file dung lượng lớn và nhỏ khác nhau. Các phân
vùng JFS có thể thay đổi kích thước được nhưng lại không thể shrink như
ReiserFS và XFS, tuy nhiên nó lại có tốc độ kiểm tra ổ đĩa nhanh nhất so với
các phiên bản Ext.


- ZFS hiện tại vẫn đang trong giai đoạn phát triển bởi Oracle với nhiều tính
năng tương tự như Btrfs và ReiserFS. Mới xuất hiện trong những năm gần đây
vì có tin đồn rằng Apple sẽ dùng nó làm file hệ thống mặc định. Phụ thuộc vào
thỏa thuận điều khoản sử dụng, Sun CDDL thì ZFS không tương thích với hệ
thống nhân kernel của Linux, tuy nhiên vẫn hỗ trợ toàn bộ Linux’s Filesystem in
Userspace – FUSE để có thể sử dụng được ZFS. Người sử dụng có thể gặp khó
khăn khi cài đặt hệ điều hành Linux vì có yêu cầu FUSE và có thể không được
hỗ trợ bởi distributor.
- Swap có thể coi thực sự không phải là 1 dạng file hệ thống, bởi vì cơ chế hoạt
động khá khác biệt, được sử dụng dưới 1 dạng bộ nhớ ảo và không có cấu trúc
file hệ thống cụ thể. Không thể kết hợp và đọc dữ liệu được, nhưng lại chỉ có
thể được dùng bởi kernel để ghi thay đổi vào ổ cứng. Thông thường, nó chỉ
được sử dụng khi hệ thống thiếu hụt bộ nhớ RAM hoặc chuyển trạng thái của
máy tính về chế độ Hibernate.
Journaling là gì?
Điểm trước tiên cần tìm hiểu ở đây chính là Journaling trước khi chúng ta
nghiên cứu kỹ hơn về vấn đề này. Điều duy nhất các bạn cần nhớ về journaling
là tất cả các loại file hệ thống ngày nay đều phải sử dụng journaling theo nhiều
dạng khác nhau trên nền tảng laptop hoặc desktop với Linux.
Journaling chỉ được sử dụng khi ghi dữ liệu lên ổ cứng và đóng vai trò như
những chiếc đục lỗ để ghi thông tin vào phân vùng. Đồng thời, nó cũng khắc
phục vấn đề xảy ra khi ổ cứng gặp lỗi trong quá trình này, nếu không có journal
thì hệ điều hành sẽ không thể biết được file dữ liệu có được ghi đầy đủ tới ổ
cứng hay chưa.
Chúng ta có thể hiểu nôm na như sau: trước tiên file sẽ được ghi vào journal,
đẩy vào bên trong lớp quản lý dữ liệu, sau đó journal sẽ ghi file đó vào phân
vùng ổ cứng khi đã sẵn sàng. Và khi thành công, file sẽ được xóa bỏ khỏi
journal, đẩy ngược ra bên ngoài và quá trình hoàn tất. Nếu xảy ra lỗi trong khi
thực hiện thì file hệ thống có thể kiểm tra lại journal và tất cả các thao tác chưa
được hoàn tất, đồng thời ghi nhớ lại đúng vị trí xảy ra lỗi đó.
Tuy nhiên, nhược điểm của việc sử dụng journaling là phải “đánh đổi” hiệu suất
trong việc ghi dữ liệu với tính ổn định. Bên cạnh đó, còn có nhiều công đoạn
khác để ghi dữ liệu vào ổ cứng nhưng với journal thì quá trình không thực sự là
như vậy. Thay vào đó thì chỉ có file metadata, inode hoặc vị trí của file được ghi
lại trước khi thực sự ghi vào ổ cứng.
3.

Tổ chức tập tin trên Linux


Nếu như một người dùng đã sử dụng quen trên môi trường Window, thì
khi chuyển sang môi trường Linux sẽ phân vân và khó hiểu về cấu trúc file
system của nó. Ở bài này mình sẽ phân biệt và hiểu vai trò của các thư mục ở
cấp độ cao trong linux. Mỗi hệ thống file có cấu trúc giống như một cái cây
dựng ngược. Gốc của cây được đặt trên cùng và bên dưới là lá của nó. Như đã
đề cập ở trên, mỗi phân vùng khi được tạo ra đều có thể có một mount point.
Công việc này thường được thi hành trong quá trình cài đặt. Để hiểu kỹ hơn về
vấn đề này, hãy quan sát kiến trúc phân cấp của một hệ thống file trong Linux
dưới đây:

Hình 2.1.Tổ chức tệp tin trên Linux
Trong hình trên, gốc của kiến trúc phân cấp này là thư mục gốc
“/”. Nó gần tương tự như “C:\” trong DOS ngoại trừ việc “C:\”
chính là phân vùng đầu tiên của đĩa cứng đầu tiên, trong khi
thư mục gốc “/” của Linux có thể là ánh xạ của bất kỳ phân
vùng nào.


Các thư mục cơ sở là những thư mục con cấp 1 nằm ngay dưới
thư mục gốc “/”.
Chúng được tạo ra bởi một gói thường có tên là filesystem.
Tiến trình khởi động sẽ ánh xạ thư mục gốc đầu tiên nhằm giúp
đỡ tất cả các thao tác tiếp theo như kiểm tra phân vùng, nạp
module cho nhân…vv vì khi ánh xạ thư mục gốc xong thì các
chương trình như: fsck, insmod hay mount mới có thể được
sử dụng.
Để đảm bảo cho quá trình khởi động diễn ra chính xác, các thư
mục /dev, /bin,
/sbin, /etc và /lib bắt buộc phải là thư mục con của “/” và
không thể là ánh xạ của bất kỳ phân vùng nào khác.
4

Các thành phần trong tệp tin Linux
4.1/Root

-Mỗi một file và thư mục đều bắt đầu từ root directory
-Chỉ có user root có quyền trên các thư mục ở cấp bên dưới
-Còn /Root là home directory của user root
4.2/bin –User Binary
-Chứa các file thực thi dạng binary
-các lệnh sử dụng thông thường trong linux được sử dụng single-user mode
được đặ dưới cấu trúc này
-các câu lệnh được sử dụng bởi tất cả các user trong hệ thống sẽ được đặt trong
đây. Ví dụ một số lệnh như ps, ls, ping, grep, cp
4.3/sbin – System Binaries
-Giống như /bin, bên trong / sbin cũng chứa đựng các file thực thi dạng binary.
Các lệnh bên trong /sbin thường được sử dụng bởi system administrator và dùng
cho các mục đích là duy trì quản trị hệ thống
-Một số lệnh trong đây ví dụ như iptablas, reboot, ifconfig…


4.4/ect – Configuration Files
-Thông thường ở /ect sẽ chứa file cấu hình cho các chương trình hoạt động
-Ở /ect cũng thường chứa các scripts dùng để start, stop, kiểm tra status cho các
chương trình .
-Ví dụ /ect/ resolv.conf (cấu hình dns-server), hay /ect/network dùng để quản lý
dịch vụ network
4.5. /dev – Device Files
- chứa các file device để đại diện các hardware
- Ví dụ /dev/tty1 hay /dev/sda
4.6. /proc – process information
-Chứa đựng thông tin về quá trình xử lý của hệ thống
- Đây là một pseudo filesystem chứa đựng các thông tin về các process đang chạy
- Đây là một virtual filesystem chứa đựng các thông tin tài nguyên hệ thống. ví dụ:
/proc/cpuinfo cung cấp cho ta thông số kỹ thuật của CPU
4.7. /var – Variable files
- Chứa đựng các file có sự thay đổi trong quá trình hoạt động của hệ điều hành
-ví dụ system log sẽ được đặt tại vị trí này
+system log file/var/log
+database file /var/lib
+email /var/mail
+các pint queue /var/spool
+lock file /var/lock
+các filetamj thời cần cho quá trình reboot /var/tmp
4.8. /tmp – Temporary Files
-Thư mục này chứa các file được tạo ra bởi hệ thống và user
-Các file bên dưới thư mục này được xóa đi khi hệ thống reboot
4.9. /usr – User Programs
-chứa các file binary, library, tài liệu ,source-code cho các chương trình


-/usr/bin chứa các file binary cho các chương trình của user. Nếu như 1 user trong
quá trình thực thi 1 lệnh ban đầu sẽ tìm kiếm trong /bin, nếu nhưu không có thì sẽ
tiếp tục nhìn vào /usr/bin. Ví dụ một số lệnh như at. Awk, cc…
-/usr/bin chứa các file binary cho system administrator. Nếu như ta không tìm thấy
các file system binary bên dưới /sbin thì ta có thể tìm trong /usr/sbin. Ví dụ một số
lệnh như cron, sshd, useradd, userdel.
-/usr/lib chứa các file libraries cho /usr/bin và /usr/sbin.
4.10. /home –Home Directories
-Home diretory được chứa đựng thông tin cá nhân của các user
- Ví dụ /home/athena, /home/student.
4.11. /boot –Boot Loader Files
-Chứa đựng boot loader và các files cần cho quá trình boot tùy theo các phiên
bản của kernel.
- Các file Kernel intird, vmlinux, grup được đặt bên duwois /boot.
Ví dụ initr.dimg-2.6.32-24-genneric, vmlinuz-2.6.32-24-generic
4.12. /lib – System Libraries
- Ví dụ initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-geberic
-Chứa các file liblary hỗ trợ các file thực liblary nằm bên dưới /bin và /sbin
-Tên các file liblary thường là Id* or lib*.so*. Ví dụ như Id-2.11.1.so,
libncusecs.so.5.7
4.13. /opt – Optional add – on Application
-opt đại diện chi optional
-Chứa đựng các chương trình thêm vào của các hãng khác
4.14. /mnt – Mount Directory
-Chứa các thư mục dùng để system admin thực hiện quá trình mount
4.15. /media – Removable Directory
-Chứa các thư mục dùng để mount cho các thiết bị removable. Ví dụ như
CDROM, Floppy…
4.16. /src – Service Data


- srv đại diện cho server, nó liên quan đến dữ liệu. Ví dụ /src/cvs chứa đựng
CVS.
5 Kiểm tra dung lượng đĩa
Sử dụng mount và df
Cả hai lệnh trên đều cùng hoạt động ở cùng mức thiết bị. Hai lệnh
mount và umount dùng để quản trị các hệ thống file đã gán kết trong file
/etc/mtab.
Nếu sử dụng mount không tham số, tất cả các hệ thống file được gắn
kết trong hệ thống sẽ được liệt kê ra màn hình. Kết quả giống như
trong file /etc/mtab. Ngoài ra, nhân cũng lưu giữ thông tin về hệ
thống file đã được kết nối trong /proc/mount.
Để xem thêm thông tin về điểm kết nối hiện tại có thể sử dụng lệnh
df. Lệnh này cho phép hiển thị thêm dung lượng đĩa đã sử dụng và
dung lượng còn trống. Đơn vị kích thước để hiển thị là 1K.

Tiện ích này được sử dụng để hiển thị không gian đĩa được sử dụng
nhưng ở mức thư mục. Vì vậy, du cũng không thể hiển thị khoảng
trống còn thừa của đĩa.


6. Quyền truy xuất File, Thư mục

Thay đổi quyền truy xuất và chủ sở hữu
Quyền truy xuất file, thư mục và chủ sở hữu được định nghĩa để quy
định cách thức truy cập dữ liệu trong hệ thống.
Để thay đổi quyền truy cập, sử dụng lệnh chmod. Có ba nhóm đối
tượng chính được tác động bởi quyền truy cập là:

u
g
o

Người dùng sở hữu
Nhóm người dùng sở hữu
Không thuộc hai đối tượng trên


Tùy chọn hay dùng với chmod, chown và chgrp là –R cho phép thay
đổi trong cả các thư mục, file bên trong thư mục chỉ định.
Ngoài cách sử dụng ký tự đại diện cho các quyền: read=r, write=w,
execute=x, chmod cho phép sử dụng một bộ số hệ bát phân để thay đổi
quyền theo bảng sau:

read
write
execute

user
rwx
4+2+1=7

4
2
1

group
r-x
4+1=5

other
rw4+2=6

Quyền truy xuất chuẩn
Các hệ thống UNIX tạo ra file và thư mục với quyền truy xuất chuẩn như sau:
Files
Directories
umask

666

-rw-rw-rw-

777

-rwxrwxrwx

Là khái niệm được thiết lập để chỉ định quyền truy xuất mặc định cho
các file và thư mục mới tạo đối với mỗi người dùng. umask là một mặt
nạ gồm một bộ các số hệ bát phân. Khi đó, quyền truy xuất mặc định
của các file và thư mục đối với mỗi người dùng được tính theo công
thức sau:

Final Permissions = Standard Permissions (logical AND) (NOT)Umask


Quyền truy cập SUID
Là quyền truy cập được thiết lập bởi root cho phép người dùng bình
thường có thể thi hành một lệnh như là root. Quyền này được thiết lập
với tên là s (nằm ở vị trí x của nhóm u) và được gán số hệ bát phân là
4000.

Quyền truy cập SGID
Là quyền truy cập cho phép người dùng thuộc nhóm sở hữu có thể thi
hành lệnh mà không cần dùng newgrp để chuyển nhóm. Quyền này
được thiết lập với tên là s (nằm ở vị trí x của nhóm g) và được gán số
hệ bát phân là 2000.

Bit đánh dấu (The sticky bit)
Quyền này được thiết lập với tên là t (nằm ở vị trí x của nhóm o) và
được gán số hệ bát phân là 1000. Quyền này được thiết lập để:
 Cho phép file được thi hành hoặc nạp vào bộ nhớ nhanh hơn
 Cho phép các thư mục cấm người dùng xóa file



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×