Site logo
Authors
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Published on
Published on

Tìm hiểu về Linux permission

Giới thiệu về Linux Permissions

Trong hệ thống Linux, quyền hạn đối với tập tin và thư mục là rất quan trọng để duy trì bảo mật và kiểm soát quyền truy cập vào tài nguyên. Quyền hạn trong Linux xác định ai có thể truy cập, sửa đổi và thực thi các tập tin và thư mục, đảm bảo kiểm soát truy cập phù hợp và bảo vệ thông tin nhạy cảm.

Việc hiểu và thiết lập quyền hạn một cách hiệu quả là rất cần thiết cho bảo mật và tính toàn vẹn của hệ thống, đặc biệt là trong môi trường đa người dùng. Bằng cách hiểu và quản lý quyền hạn một cách hiệu quả, bạn có thể bảo vệ hệ thống và dữ liệu của mình khỏi truy cập trái phép.

Phần này sẽ hướng dẫn bạn cách xem, hiểu và sửa đổi quyền hạn trong Linux, đảm bảo kiểm soát truy cập phù hợp trên máy chủ của bạn.

Các Khái niệm Cơ bản

Permission trong Linux dựa trên ba loại quyền truy cập:

  • Read (r): Khả năng xem nội dung tập tin hoặc liệt kê nội dung thư mục
  • Write (w): Khả năng sửa đổi nội dung tập tin hoặc tạo/xóa tập tin trong một thư mục
  • Execute thi (x): Khả năng chạy một tập tin như một chương trình hoặc truy cập vào một thư mục

Các danh mục Permission

Quyền hạn được gán cho ba danh mục người dùng:

  • Owner: Người dùng sở hữu tập tin hoặc thư mục
  • Group: Một nhóm người dùng có quyền hạn chung
  • Others: Tất cả người dùng khác trên hệ thống

Cách kiểm tra quyền truy cập trong Linux

Để xem quyền hạn cho các tập tin và thư mục, sử dụng lệnh ls -l. Kết quả sẽ hiển thị quyền hạn theo định dạng sau:

ls -l
total 16
drwxrwxr-x 2 ubuntu ubuntu 4096 Oct 31 10:23 sample-folder
drwxr-xr-x 2 root   root   4096 Oct 31 10:28 sample-folder-2
-rw-rw-r-- 1 ubuntu ubuntu   10 Oct 31 10:42 sample.md
-rw-r--r-- 1 root   root    574 Oct 31 10:43 sample2.md

Alt text

Sửa đổi Permissions với chmod

Sử dụng lệnh chmod để thay đổi quyền hạn cho các tập tin và thư mục. Quyền hạn có thể được đặt ở định dạng ký hiệu hoặc số (bát phân):
Định dạng ký hiệu: chmod u+rwx,g+rx,o-r filename

  • u: User (owner)
  • g: Group
  • o: Others
  • +: Thêm quyền
  • -: bỏ quyền
# Add permissions
chmod +rwx filename

# Remove permissions
chmod -rwx directoryname

# Allow executable permissions
chmod +x filename

Định dạng số: Quyền truy cập được biểu thị bằng ba số octal, như chmod 755 filename:

  • 7 (Owner): Read, write, and execute
  • 5 (Group): Read and execute
  • 5 (Others): Read and execute

Bảng Permisison theo nhị phân(Binary), bát phân(Octal) và Permission (quyền)

Binary Octal Permission Ý nghĩa
000 0 --- Không có quyền
001 1 --x Chỉ thực thi
010 2 -w- Chỉ ghi
011 3 -wx Ghi và thực thi
100 4 r-- Chỉ đọc
101 5 r-x Đọc và thực thi
110 6 rw- Đọc và ghi
111 7 rwx Đọc, ghi và thực thi
# Owner, Group, Others: đọc, ghi, thực thi
chmod 777 ~/example.txt

# Owner: đọc, ghi, Group: đọc, thực thi Others: Không có quyền
chmod 750 ~/example.txt

Thay đổi Ownership(Quyền sở hữu) với chown

Lệnh chown được dùng để thay đổi chủ sở hữu của tệp hoặc thư mục, điều này rất quan trọng trong các môi trường truy cập chia sẻ:

chown new_owner:new_group filename

Cấu hình quyền truy cập phổ biến

  • 644: rw-r--r-- (Owner can read/write, others can read)
  • 755: rwxr-xr-x (Owner can read/write/execute, others can read/execute)
  • 600: rw------- (Owner can read/write, no access for others)
  • 777: rwxrwxrwx (Owner,Group, Other can read/write/execute)

Cấu hình quyền truy cập phổ biến

  • Tệp riêng tư, SSH private file: chmod 600 filename (chỉ cho phép Owner đọc và ghi)
  • Tệp có thể thực thi bởi chủ sở hữu: chmod 700 script.sh (toàn quyền truy cập cho chủ sở hữu)
  • Tệp có thể đọc công khai: chmod 644 publicfile
  • Cấp quyền cho tất cả mọi người để đọc, ghi và thực thi: chmod 777 example

Best Practices

  • Sử dụng nguyên tắc đặc quyền tối thiểu(least privilege)
  • Thường xuyên kiểm tra và xem xét quyền hạn
  • Cẩn thận khi thay đổi quyền hạn trên các tập tin hệ thống
  • Sử dụng nhóm một cách hiệu quả để quản lý quyền hạn cho nhiều người dùng

Kết luận

Việc hiểu và quản lý quyền truy cập trong Linux là rất quan trọng để duy trì một hệ thống an toàn và có tổ chức. Bằng cách nắm vững các khái niệm này, bạn có thể đảm bảo rằng các tệp và thư mục chỉ có thể truy cập được bởi những người dùng được phép, bảo vệ thông tin nhạy cảm và duy trì tính toàn vẹn của môi trường Linux của bạn.

Vietnamese version
English version