Bài giảng Hệ điều hành Linux - Bài 5: Bảo mật hệ thống file. Chương này giúp người học hiểu các mức độ phân quyền trên Linux và biết được cách dùng lệnh phân quyền cho tài khoản. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
Trang 1L I N U X
Trang 2BẢO MẬT HỆ THỐNG FILE
BÀI 5
Trang 3Bài 5: Bảo mật hệ thống file
Mục tiêu:
Hiểu các mức độ phân quyền trên Linux
Dùng lệnh phân quyền cho tài khoản
Trang 41 Tổ chức hệ thống file trong Linux
1.1 Files
Một file là một cấu trúc cơ sở được dùng để chứa
thông tin trên hệ thống Linux File là một dãy liên tiếp các byte được chứa trên một thiết bị lưu trữ, thường là đĩa từ
Chú ý:
- Linux phân biệt chữ hoa và chữ thường trong tên file.
VD: Baocao và baocao là 2 tên file khác nhau.
- Linux không coi dấu chấm (“.”) là ký tự ngăn cách giữa tên chính
và phần mở rộng như DOS mà nó coi đó như là một ký tự để tạo nên tên file.
Trang 51.2 Thư mục
Thư mục bao gồm một nhóm file, thư mục giúp người dùng tổ chức các file Mỗi thư mục có thể bao gồm các thư mục con
Ta có thể mô tả
cấu trúc cơ sở cây
thư mục của Linux
như sau :
/
usr etc dev home tmp
binz lib user1 user2
Trang 6Tại sao anh
xem nội dung
file của
tôi ???
Tôi thích vậy đó,
ai biểu anh xóa
folder của tôi
Trang 8 Người chủ file, thư mục sẽ toàn quyền quyết định ai được phép truy nhập với quyền nào
đến file và thư mục thông qua việc gán và huỷ quyền truy nhập ( permission ).
Những đối tượng có thể truy nhập đến file, thư mục là:
+ Người chủ của file (user)
+ Nhóm chủ của file (group)
+ Những người khác (other)
Trang 9Ví dụ: $ls -l
- rw-r r 1 u1 g1 37 Feb 24 11:06 file1
Trong đó:
rw-r r : chỉ ra mode của file (quyền truy nhập)
Trang 102 Bảo mật hệ thống file (tt)
2.2 Các quyền truy nhập
Có 3 quyền truy nhập tới mỗi file và thư mục:
- Read r
+ Đối với file : Đọc nội dung file.
+ Đối với thư mục : hiện danh sách các file và thư mục
con trong thư mục.
- Write w
+ Đối với file : Thay đổi nội dung file.
+ Đối với thư mục : Tạo, xoá, đổi tên file và thư mục
con trong thư mục.
- Execute x
+ Đối với file : Chạy các file chương trình.
+ Đối với thư mục : Có thể chuyển đến thư mục.
Chú ý: Để chạy một file chương trình cần có các quyền read và execute
Trang 112 Bảo mật hệ thống file (tt)
2.3 Mode của file
Mode của file là một dãy có tổng số 9 ký tự bao gồm
3 cặp, mỗi cặp 3 ký tự để xác định các quyền cho các đối tượng có thể truy nhập file là: người chủ file , nhóm chủ file và những người dùng khác trong hệ thống Mode của file xuất hiện ngay sau ký tự chỉ kiểu file trong kết xuất
của lệnh ls -l
Trang 13tượng đơn giản hơn nhưng cho phép điều khiển kém hơn
chế độ tuyệt đối Lệnh chmod chỉ được thực hiện bởi
người chủ file
Trang 14 Chế độ biểu tượng
Để thay đổi quyền của file hay thư mục
ta dùng lệnh chmod với cú pháp chặt
chẽ như sau:
#chmod <các biểu thức gán quyền> <tên file hay thư mục>
Trong đó, biểu thức gán quyền mô tả sự
thay đổi quyền đối với file đã chỉ ra cho các đối tượng
Trang 15 Thành phần biểu thức bao gồm:
a) Các toán hạng: là các ký hiệu của các đối
tượng được gán quyền và các quyền tương ứng được gán.
+ Các ký hiệu của các đối tượng.
Trang 18 Để huỷ bỏ tất cả các quyền được gán
cho file, thư mục ta dùng lệnh:
$ chmod = <tên file>
Khi gán quyền bằng toán tử ‘’=’’ thì chỉ
đối tượng được gán bị thay đổi quyền
như được chỉ ra, bất kể trước đó họ
được đặt quyền gì, các nhóm quyền của người khác cũng không bị ảnh hưởng.
Trang 19Chú ý:
ký hiệu “ - “ trong khối quyền của file chỉ
rằng quyền đó không được phép đối với file hay thư mục.
Lệnh #chmod -R <thư mục> sẽ thay đổi quyền cho cả cây thư mục Còn theo mặc định, các thư mục con và file trong cây
thư mục có quyền mặc định (022) tạo bởi
lệnh umask
Trang 20 Chế độ tuyệt đối
Chế độ tuyệt đối dùng dãy các số để chỉ các
quyền được gán cho file hay thư mục Khối
quyền được biểu diễn bằng 3 số theo thứ tự là:
số đầu tiên cho chủ file , số thứ 2 cho nhóm chủ file và số thứ 3 cho những người khác Mỗi số
là tổng 3 giá trị thể hiện quyền đọc, ghi và
thực thi đối với file Cả 3 số được chỉ ra trong cùng một dòng lệnh.
Trang 21 Các số được gán cho quyền tương ứng như sau:
read = 4 write = 2 execute = 1 không quyền = 0
Các số trong mỗi nhóm quyền của từng đối tượng (chủ file, nhóm chủ file và người khác)
được cộng với nhau , sau đó viết liên tiếp 3 số tạo được liền nhau và dùng để gán quyền.
Trang 22Ví dụ: để gán quyền cho file vd.txt với khối quyền là
rw-r x ta thực hiện theo các bước sau:
số biểu diễn quyền gán cho mỗi đối tượng:
Dãy số biểu diễn khối quyền được gán là: 641.
Dùng lệnh chmod để gán quyền cho file.
#chmod 641 vd.txt
Khi đó, quyền truy nhập đến file vd.txt là rw-r x
Trang 24 ấn định quyền mặc định cho file và thư mục
Theo mặc định, các file hay thư mục do người dùng tạo ra trong phiên làm việc luôn có khối quyền là rw-r r tương ứng với dãy số quyền
là 022 .
Ta cũng có thể ấn định lại quyền mặc định đối với file và thư mục được người dùng tạo ra
bằng lệnh umask
Trang 26 Các giá trị đặc biệt trong 3 số n1 , n2 , n3 của
lệnh umask tương ứng với ấn định các quyền như sau:
0 : đọc và ghi (và thực thi cho thư mục).
1 : đọc và ghi (không thực thi cho thư mục).
2 : đọc (và thực thi cho thư mục).
3 : đọc (và không thực thi cho thư mục).
4 : ghi (và thực thi cho thư mục).
5 : ghi (và không thực thi cho thư mục).
6 : thực thi.
7 : không có quyền gì cả.
Trang 27Ví dụ: $umask 067
Lệnh này sẽ ấn định quyền mặc định là 710,
tức là:
các file tạo ra sẽ có khối quyền là
rw -x -các thư mục có khối quyền là
rwx x -Chú ý:
Lệnh umask không có tham số sẽ hiện giá trị số của chuỗi quyền mặc định hiện thời tạo bởi lệnh umask.
Ví dụ: $umask
Trang 28Bài tập 1:
1 Xem thông tin về quyền hạn trên tập tin
baitho.txt
2 Thêm quyền execute cho user , quyền write và
execute cho group
3 #chmod 644 baitho.txt ~> cho biết quyền hạn trên tập tin baitho.txt
4 #chmod 764 baitho.txt ~> cho biết quyền hạn trên tập tin baitho.txt
5 #chmod 777 baitho.txt ~> cho biết quyền hạn trên tập tin baitho.txt
Trang 29Bài tập 2:
1 Đăng nhập root
2 Tạo mới tập tin / home / baocao.txt
3 Tạo mới tài khoản nobita
4 Đổi chủ sở hữu của tập tin / home / baocao.txt
là nobita
5 Phân quyền rwxr r cho các đối tượng trên tập tin / home / baocao.txt
Trang 30Bài tập 3:
1 Đăng nhập root
3 Tạo mới tài khoản u1 , u2
4 Bổ sung 2 user trên vào nhóm hanhchinh
6 Đổi nhóm sở hữu thư mục / home / common là nhóm hanhchinh
7 Phân quyền rwx cho nhóm hanhchinh trên thư mục / home / common
Trang 31 Để phân quyền chi tiết cho từng user hoặc nhóm ta dùng lệnh setfacl
$setfacl –m u:doremon:r vanban.txt
Để xem sự phân quyền chi tiết của tập tin, thư mục ta dùng lệnh getfacl
$getfacl vanban.txt
Trang 332 Tạo group KeToan Tạo các user: u1, u2, u3, mật khẩu 123456 Đưa các
3 Tạo group NhanSu Tạo các user: u4, u5, u6, mật khẩu 654321 Đưa các
4 Trên thư mục Data : group KeToan và NhanSu có quyền read.