[linux_basic] File Permissions

30/12/2020

Ở bài viết này, mình sẽ trình bày về các quyền truy xuất cơ bản trong Linux, cách biểu diễn quyền và các lệnh cơ bản đi kèm .

1) Quyền truy xuất

  • Quyền truy xuất trên file và thư mục được trình bày khi thực hiện lệnh ls -l
  • Danh sách quyền truy xuất trình bày ở cột đầu tiên của kết quả . Các loại quyền truy xuất gồm :
    • Read ( r ) : cho phép đọc nội dung tập tin và xem nội dung của thư mục bằng lệnh
    • Write ( w ) : cho phép thay đổi nội dung hoặc xóa tập tin . Đối với thư mục , quyền này cho phép tạo , xóa hoặc đổi tên mà không phụ thuộc quyền sở hữu của thư mục chứa mình .
    • Execute ( x ) : cho phép thực thi chương trình , đối với thư mục , quyền này cho phép vào thư mục bằng lệnh cd .
  • Quyền truy xuất gồm 3 nhóm :
  • Bảng cờ đặc tính ( flag ) :
Ký hiệu Kiểu file
- Regular file
d Directory
l Symbolic link ( Soft link )
b Block special file
c Character special file
p Named pipe
s Socket
  • Nhóm 1 : Quyền của người sở hữu ( owner hoặc user ) , ký hiệu bằng kí tự u : người tạo ra thư mục / file hoặc được gán quyền sở hữu .
  • Nhóm 2 : Quyền của nhóm ( group ) ký hiệu bằng kí tự g : nhóm người sử dụng được gắn quyền .
  • Nhóm 3 : Quyền của người dùng khác ( others ) ký hiệu bằng kí tự o : là những người sử dụng khác không thuộc 2 nhóm trên .

2) Biểu diễn quyền truy xuất

  • Biểu diễn quyền truy xuất có 2 cách : bằng chữ và bằng số

2.1) Bằng chữ

  • Trong cách biểu diễn này , quyền truy xuất được viết bằng các ký tự :
    • r : read
    • w : write
    • x : execute
    • - : không có quyền
    • VD :
      • rwx : có full quyền
      • r-- : chỉ có quyền đọc
      • rw- : chỉ có quyền đọc và ghi
      • --- : không có quyền gì
  • Quyền hạn trên 1 file sẽ gồm cả 3 nhóm quyền ( owner , group , others ) nên danh sách quyền sẽ gồm 9 kí tự :
    • VD :
      • rwxrw---- : người sở hữu có full quyền , các user cùng nhóm chỉ có quyền đọc/ghi còn mọi người khác không có quyền truy xuất .
      • rw-r----- : người sở hữu có quyền đọc/ghi , các user cùng nhóm chỉ có quyền đọc còn mọi người khác không có quyền truy xuất .
      • rwxr-xr-- : người sở hữu có full quyền , các user cùng nhóm chỉ có quyền đọc và thực thi chương trình còn mọi người khác chỉ có quyền đọc .

2.2) Bằng số

  • Trong cách biểu diễn này , mỗi quyền được gán cho 1 trị số theo bảng sau :
Quyền Giá trị
r 4
w 2
x 1
  • Mỗi nhóm quyền truy xuất là tổng của các loại quyền trên :
Quyền Ý nghĩa Biểu diễn bằng số
rwx Có full quyền 7
rw- Chỉ có quyền đọc và ghi 6
r-x Chỉ có quyền đọc và thực thi 5
r-- Chỉ có quyền đọc 4
--- Không có quyền gì 0
  • Vì quyền thực sự gồm cả 3 nhóm quyền ( owner , group , others ) nên danh sách quyền biểu diễn dưới dạng số sẽ gồm 3 chữ số .
  • VD :
    • rwxrw---- ( 760 ) : người sở hữu có toàn quyền , các user cùng nhóm chỉ có quyền đọc/ghi còn mọi người khác không có quyền truy xuất .
    • rw-r--r-- ( 644 ) : người sở hữu có quyền đọc/ghi , các user cùng nhóm chỉ có quyền đọc còn mọi người khác không có quyền truy xuất .
    • rwxr-xr-- ( 754 ) : người sở hữu có toàn quyền , các user cùng nhóm chỉ có quyền đọc và thực thi chương trình còn mọi người khác chỉ có quyền đọc .

Lưu ý : Người sử dụng có quyền đọc thì có quyền sao chép tập tin và tập tin sau khi sao chép sẽ thuộc về sở hữu của người thực hiện sao chép .

3) Các lệnh về quyền

3.1) chmod

  • Là lệnh thay đổi quyền truy xuất trên thư mục / tập tin
chmod [options] [mode] [file]
  • Options :
    • -R : áp dụng với mọi thư mục làm cho lệnh chmod có hiệu lực trên cả các thư mục con
  • Mode : Quyền truy xuất mới cho tập tin
    • u : quyền của người sở hữu ( owner )
    • g : quyền sở hữu của nhóm ( group )
    • o : quyền của mọi user khác ( others )
    • + : thêm quyền
    • - : rút bớt quyền
    • = : gán quyền
    • VD :
      • g+w : thêm quyền ghi cho group
      • o-rwx : loại bỏ tất cả các quyền của các user khác
      • u+x : thêm quyền thực thi cho user
      • +x : thêm quyền thực thi cho cả
      • a+rw : thêm quyền đọc ghi cho tất cả
      • ug+r : thêm quyền đọc cho owner và group
      • o=x : chỉ cho phép mọi người thực thi

3.2) chown

  • Là lệnh thay đổi chủ sở hữu thư mục / tập tin ( owner )
chown [options] [owner] [file]
  • Options :
    • -R : áp dụng đối với thư mục làm cho lệnh chown có tác dụng trên cả các thư mục con
  • Owner : chủ sở hữu mới của tập tin
  • Có thể thay đổi đồng thời chủ sở hữu và group sở hữu file
chown [options] [owner]:[group_owner] [file]

3.3) chgrp

  • Là lệnh thay đổi nhóm sở hữu thư mục / tập tin
chgrp [options] [group_owner] [file]
  • Options :
    • -R : áp dụng đối với thư mục làm cho lệnh chgrp có tác dụng trên cả các thư mục con
  • Group_owner : nhóm sở hữu mới của tập tin
ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Hướng dẫn cài đặt Checkmk trên centos 7

Giải pháp giám sát được cài đặt ra sao. Việc cấu hình của nó có khó khăn hay không và bạn muốn...
30/12/2020

Firewall [ Phần 4 ] Xây dựng mô hình firewall với Firewalld Service

Lời mở đầu Sau series những bài tìm hiểu về firewall, hôm nay để tổng kết lại những gì tìm...
30/12/2020

Cảnh báo checkmk cùng với gmail

Thời gian mỗi ngày đều có 24h. Chúng ta không thể lúc nào cũng vào check_mk xem các thiết bị có...
30/12/2020