Trong Linux mỗi một tập tin hay thư mục sẽ được cấp các quyền đọc, ghi, thực thi cho từng user khác nhau. Điều này giúp tăng cường bảo mật và tạo nên sức mạnh cho các hệ thống linux.
Trong bài biết này chúng ta sẽ tìm hiểu cách phân quyền cho file và thư mục trong linux một cách đầy đủ và dễ hiểu nhất
1. Tìm hiểu hệ thống quản lý file trong linux
Mỗi tập tin (file) có một chủ sở hữu (owner), xác định người dùng (user) sở hữu của file. Mỗi file cũng có một nhóm (group), xác định nhóm người dùng của file. Bất kỳ người dùng hệ thống nào không phải là chủ sở hữu và không thuộc cùng một nhóm đều được xác định là thuộc lớp khác (others).
Mỗi người dùng thuộc 1 trong ba nhóm owner, group, other sẽ được chỉ định các quyền read (đọc – khả năng mở và xem nội dung của file), write (ghi – khả năng mở và sửa đổi nội dung của file) và execute (thực thi – khả năng chạy file như một chương trình thực thi khác nhau.
Để xem cấu trúc của một tập tin, thư mục, chúng ta gõ lệnh sau:
2. Phân quyền cho tập tin và thư mục
Trong Linux có 3 quyền cơ bản của 1 user và group đó là:
- r (read) – quyền đọc file/folder
- w (write) – quyền ghi/sửa nội dung file/folder
- x (execute) – quyền thực thi (truy cập) thư mục. Đối với thư mục thì bạn cần phải có quyền execute thì mới dùng lệnh cd để truy cập vào được
- – (Deny) – Không có quyền
Các quyền này cũng có thể xác định bằng các con số tương ứng:
- r (read) – được biểu diễn bằng số 4.
- w (write) – được biểu diễn bằng số 2.
- x (execute) – được biểu diễn bằng số 1.
- – (Deny) – được biểu diễn bằng số 0
Cấu trúc chỉ số phân quyền
- u (owner): Quyền của user mà chủ sở hữu của file này.
- g (group): Quyền của những users thuộc group mà chủ sở hữu của file này.
- o (other): Quyền của tất cả các user khác trên máy.
- a (all): tất cả user
Ví dụ file test1 có thông số như sau
- owner có quyền r+w+- = 4+2+0 = 6
- group có quyền r+-+- = 4+0+0 = 4
- other có quyền r+-+- = 4+0+0 = 4
Thông số file test2 như sau
- owner có quyền r+w+x = 4+2+1 = 7
- group có quyền r+-+x = 4+0+1 = 5
- other có quyền r+-+x = 4+0+1 = 5
Thông số file test3 như sau
- owner có quyền r+w+x = 4+2+1 = 7
- group có quyền r+w+- = 4+2+0 = 6
- other có quyền r+w+- = 4+2+0 = 6
Chỉ số phân quyền của 3 file sẽ là test1=644, test2=755, test3=766
Để thay đổi phân quyền cho file và thư mục ta sẽ dử dụng lệnh chmod
Các tùy chọn
- -v : Hiển thị báo cáo sau khi chạy lệnh, mỗi lần đổi quyền là hiển thị một lần
- -c : Giống như trên, nhưng chỉ hiện khi nó đã làm xong tất cả.
- -R : Áp dụng luôn vào các file/folder nằm bên trong folder được phân quyền (chỉ áp dụng cho thư mục)
Ví dụ: Bạn muốn phân quyền cho file test1
4. Tổng kết
Đối với các bạn mới làm quen với hệ thống linux thì việc phân quyền file và thư mục có vẻ khá phức tạp, tuy nhiên nếu bạn hiểu rõ cơ chế hoạt động cũng như làm thử các thao tác sẽ thấy việc phân quyền này không khó như bạn nghĩ. Chúc các bạn thành công!
0 Nhận xét