Site icon NHK

PHÂN QUYỀN TẬP TIN VÀ THƯ MỤC TRÊN LINUX (CHMOD)

I. Phân quyền là như thế nào?

Trong Linux, khi nói đến phân quyền là chúng ta sẽ nghĩ ngay đến 3 quyền hạn cơ bản của một user/group nào đó trên một file/folder nào đó bao gồm:

Ok, bây giờ bạn hãy thử tự làm các công việc sau (ở các bài trước mình hướng dẫn cả rồi):

Kết quả sẽ trả về như sau:

touch testfile
mkdir testfolder
ls -l
total 4
-rw-rw-r-- 1 van van 0 Sep 21 19:47 testfile
drwxrwxr-x 2 van van 4096 Sep 21 19:47 testfolder

Bạn hãy để ý giúp mình 2 dòng này nhé:

-rw-rw-r-- 1 van van 0 Sep 21 19:47 testfile
drwxrwxr-x 2 van van 4096 Sep 21 19:47 testfolder

Mình xin giải thích bằng mô hình bên dưới như sau:

-rw-rw-r--     1      van    van  0      Sep 21 19:47 testfile
drwxrwxr-x     2      van    van  4096   Sep 21 19:47 testfolder
__________________________________________^-- Ngày tháng tạo ra file và tên file
^ ^  ^  ^      ^      ^      ^    ^
| |  |  |      |      |      |    \--- Dung lượng của file/folder
| |  |  |      |      |      \-------- Tên group sở hữu
| |  |  |      |      \--------------- Tên user sở hữu
| |  |  |      \---------------------- Số này khó giải thích, bỏ qua vì không quan trọng
| |  |  |
| \--\--\----------------------------- Các chỉ số phân quyền
\------------------------------------- Loại file (chữ d nghĩa là thư mục)

Vấn đề quan trọng ở đây là chúng ta sẽ phân tích các chỉ số phân quyền trong cái đống bùi nhùi trên.

Đầu tiên là đoạn rw-rw-r--, ở đoạn này bạn có thể thấy nó có 1 số dấu gạch ngang (-). điều đó có nghĩa là chưa bật đủ quyền dành cho nó, mỗi quyền sẽ được mô tả bằng một dấu -. Cụ thể:

Vậy cái đoạn rw-rw-r-- nghĩa là “User van được phép đọc và sửa file, các user thuộc group van có thể đọc và sửa file, còn những người còn lại là chỉ được đọc file“.

Nhưng đó chỉ là 1 trong kiểu biểu diễn quyền của tập tin, còn 1 kiểu biểu diễn nữa đó là ở dạng số. Cụ thể:

Nếu một đối tượng mà có đủ 3 quyền này thì bạn cứ lấy cả 3 cộng lại là  4 + 2 + 1 = 7, vậy quyền số 7 nghĩa là nó được phép đọc, sửa và thực thi file. Ví dụ như đoạn rw-rw-r-- thì mình có một phép tính như sau:

r w -   r w -    r - -
4 2 0   4 2 0    4 0 0
| | |   | | |    | | |
\ 6 /   \ 6 /    \ 4 /

Vậy kết luận rằng, đoạn rw-rw-r-- sẽ được biểu diễn bằng số là 664. Đây là quyền mặc định dành cho file.

Tương tự, đoạn rwxrwxr-x nghĩa là ở dòng thứ 2 sẽ được biểu diễn bằng số là 775. Đây là quyền mặc định dành cho folder.

Bây giờ bạn có thể thử bằng cách tạo một user mới khác nữa, sau đó đăng nhập bằng user này vào thư mục của user mà bạn đã tạo ở trên để xem nó báo lỗi không đủ quyền khi truy cập. Kế tiếp thực hành cách đưa user mới vào group của user sở hữu rồi vào thử lại. Đây chính là lúc bạn ôn lại các kiến thức bài trước.

II. Thay đổi phân quyền cho file/folder

Bạn chắc chắn đã hiểu được hệ thống phân quyền trên Linux chưa? Nếu rồi, thì bạn sẽ cần hiểu luôn cách đổi phân quyền cho các file và folder là như thế nào.

Để phân lại quyền cho cả file/folder trên Linux thì bạn sẽ sử dụng lệnh tên là chmod. Cấu trúc sử dụng lệnh này là:

chmod [tùy chọn] [biểu diễn phân quyền] [tên file hoặc thư mục]

Trong đó, mục [tùy chọn] là không bắt buộc, bao gồm các tùy chọn sau:

Ở phần [biểu diễn phân quyền], ban có thể biểu diễn bằng 3 kiểu:

Ví dụ:

Một vài ví dụ thêm về kiểu ugo:

III. Thay chủ sở hữu file/folder

Mặc định các file và folder sẽ được sở hữu bởi user/group tạo ra nó. Chẳng hạn như mình dùng user là thach1 để tạo một folder thì các user khác ngoại trừ user root sẽ không thể tạo file hoặc thay đổi nội dung của file trong thư mục này, vì nó thuộc sở hữu của thach1.

Do vậy, để đổi chủ sở hữu một thư mục cho user/group nào đó thì bạn sẽ sử dụng lệnh chown như sau:

chown -R [tên user]:[tên group] [file/folder]

Ví dụ:

chown -R thach2:thach2 /home/thach1

Nguồn: thachpham.com

Exit mobile version