9. Hệ thống tập tin và thư mục trên Android
9.3. Quyền hạn đối với tập tin
Trong hệ thống Linux, quyền hạn (permission) của file còn quan trọng hơn là quyền hạn thông thường mà bạn có đối với tập tin hoặc thư mục. Mặc dù permission xác định xem ai có quyền đọc, ghi, hoặc thi hành một tập tin, chúng còn xác định loại tập tin và cách mà tập tin được thi hành.
Trần Đức Trình và Trần Hoàng Quân – Lớp 09T4 – Nhóm 10
$ ls -l
drwx--- 2 sglines doc 512 Jan 1 13:44 Mail drwx--- 5 sglines doc 1024 Jan 17 08:22 News -rw--- 1 sglines doc 1268 Dec 7 15:01 biblio drwx--- 2 sglines doc 512 Dec 15 21:28 bin -rw--- 1 sglines doc 44787 Oct 20 06:59 books -rw--- 1 sglines doc 22801 Dec 14 22:50 bots.msg -rw--- 1 sglines doc 105990 Dec 27 21:24 duckie.gif
Cột thứ nhất cho biết permission và cờ chỉ thị loại tập tin.
Cột thứ hai là số link đến một tập tin (còn gọi là block phụ thêm trong thư mục). Cột thứ ba chỉ owner (chủ sở hữu) của tập tin.
Cột thứ tư cho biết tập tin thuộc group (nhóm) nào. Cột thứ năm là kích thước tập tin.
Cột thứ sáu chỉ ngày giờ tạo ra tập tin. Cột thứ bảy là tên tập tin.
Trường permission (cột thứ nhất) có thể được chia thành bốn trường cấp dưới: - rwx rwx rwx
Trường cấp dưới thứ nhất định nghĩa loại tập tin. Tập tin thông thường mang dấu gạch ngang (-) như là một mốc giữ chỗ (placeholder); ví dụ thư mục được đánh dấu bằng d. Bảng sau trình bày các trị cho trường cấp dưới về loại của tập tin.
Ký tự Ý nghĩa
- Tập tin thông thường
b Tập tin đặc biệt block
c Tập tin đặc biệt ký tự
d Thư mục
l Tập tin liên kết
Ba trường cấp dưới tiếp theo cho biết permission đọc (read), ghi (write), và thi hành (executable) đối với tập tin. Ví dụ cụm rwx trong trường cấp dưới thứ nhất có nghĩa là owner có quyền đọc, ghi, và thi hành tập tin ấy. Cụm ba ký tự tiếp theo cung cấp cùng thông tin đối với group sở hữu tập tin. Và cuối cùng cụm ký tự thứ ba cho biết permission đối với những người khác (other).
Bạn có thể lập bit dính (sticky bit) trong những trường cấp dưới ấy. Bit dính bảo máy lưu một bản sao của chương trình đang chạy vào bộ nhớ khi chương trình hoàn tất (cache). Nếu chương trình này được chạy thường xuyên, bit dính giúp máy tiết
Trần Đức Trình và Trần Hoàng Quân – Lớp 09T4 – Nhóm 10
kiệm thời gian vào lần sau, bởi vì máy sẽ không phải lấy chương trình từ đĩa rồi nạp vào bộ nhớ.
Dùng lệnh chmod, bạn có thể thay permission đối với bất kỳ tập tin nào mà bạn có quyền ghi. Lệnh này có hai cú pháp: tuyệt đối và tương đối.
Với chế độ tuyệt đối, bạn khẳng định permission đối với tập tin bằng hệ bát phân (octa - cơ sở 8). Con số bát phân có trị từ 0 đến 7.
Trị bát phân Permission
0001 Permission thi hành cho owner
0002 Permission ghi cho owner
0004 Permission đọc cho owner
0010 Permission thi hành cho nhóm
0020 Permission ghi cho group
0040 Permission đọc cho group
0100 Permission thi hành cho other
0200 Permission ghi cho other
0400 Permission đọc cho other
GroupID hoặc userID xác định xem user nào và nhóm nào có quyền sử dụng, đọc, hoặc thi hành một tập tin. Các permission nguyên thuỷ này được quản trị viên hệ thống xác lập khi lần đầu tiên tạo ra account cho user.
Chỉ một số user nhất định của một nhóm nhất định mới được phép truy cập tập tin trong nhóm, và với điều kiện là những user ấy được permission nhóm đối với các tập tin đó.
Muốn cấp permission đọc và ghi vào tập tin cho tất cả mọi người bạn phải cộng các permission lại với nhau, như ở ví dụ sau:
0002 Permission ghi cho owner
0004 Permission đọc cho owner
0020 Permission ghi cho group
0040 Permission đọc cho group
Trần Đức Trình và Trần Hoàng Quân – Lớp 09T4 – Nhóm 10
0400 Permission đọc cho tất cả mọi người
0666 Permission đọc và ghi cho tất cả mọi người