Tìm hiểu chung về phân quyền trong Linux

  • Wednesday 30/10/2024

1. Giới thiệu về hệ thống phân quyền trong Linux

Linux là một hệ điều hành mã nguồn mở, nổi tiếng với khả năng bảo mật và quản lý quyền truy cập. Một trong những yếu tố quan trọng đóng góp vào sự bảo mật này là hệ thống phân quyền (permission system). Phân quyền trong Linux quy định ai có thể truy cập, chỉnh sửa, và thực thi các tập tin, thư mục trên hệ thống. Bằng cách kiểm soát quyền truy cập, Linux giúp bảo vệ các tài nguyên quan trọng khỏi các tác động không mong muốn hoặc hành động độc hại.

Trong Linux, mọi tập tin và thư mục đều có quyền được gán cho ba loại đối tượng:

  1. Chủ sở hữu (Owner): Người sở hữu tập tin hoặc thư mục.
  2. Nhóm (Group): Một nhóm người dùng có thể có quyền truy cập tương tự như chủ sở hữu.
  3. Người dùng khác (Others): Bất kỳ ai không thuộc hai loại trên.

Mỗi đối tượng có thể được gán ba loại quyền cơ bản:

  • r (read): Quyền đọc nội dung của tập tin hoặc thư mục.
  • w (write): Quyền chỉnh sửa nội dung hoặc xóa tập tin, thư mục.
  • x (execute): Quyền thực thi tập tin (nếu là tệp chương trình) hoặc quyền truy cập vào thư mục.

phan quyen

2. Cách xem quyền trong Linux

Để xem quyền của một tập tin hoặc thư mục, bạn có thể sử dụng lệnh ls -l trong terminal. Kết quả trả về sẽ hiển thị chi tiết về quyền truy cập. Ví dụ:

$ ls -l
-rwxr-xr--

Kết quả trên có thể được diễn giải như sau:

  • -rwxr-xr--: Ký tự đầu tiên - cho biết đây là một tập tin (nếu là thư mục thì sẽ là d).
  • rwx: Chủ sở hữu có quyền đọc, ghi và thực thi tập tin.
  • r-x: Nhóm người dùng có quyền đọc và thực thi, nhưng không thể ghi.
  • r--: Người dùng khác chỉ có quyền đọc.

3. Các quyền cơ bản trong Linux

Như đã đề cập, mỗi tệp và thư mục đều có thể gán ba quyền cơ bản:

  • Read (r): Quyền đọc cho phép người dùng xem nội dung của tệp hoặc liệt kê các tệp trong một thư mục.
  • Write (w): Quyền ghi cho phép người dùng chỉnh sửa nội dung của tệp hoặc thêm, xóa tệp trong một thư mục.
  • Execute (x): Quyền thực thi cho phép người dùng chạy một tệp nếu nó là một chương trình, hoặc truy cập vào thư mục.

phan quyen

4. Thay đổi quyền truy cập

Trong Linux, bạn có thể thay đổi quyền của một tập tin hoặc thư mục bằng lệnh chmod (change mode). Có hai cách sử dụng chmod: chế độ ký tự và chế độ số.

4.1 Chế độ ký tự

Bạn có thể sử dụng các ký tự để biểu thị quyền cần thêm hoặc gỡ bỏ:

  • u – chủ sở hữu
  • g – nhóm
  • o – người dùng khác
  • a – tất cả

Ví dụ:

$ chmod u+x file.txt

Lệnh trên thêm quyền thực thi cho chủ sở hữu tập tin file.txt.

4.2 Chế độ số

Mỗi quyền được biểu diễn bằng một con số:

  • r = 4
  • w = 2
  • x = 1

Bạn cộng các giá trị này để đại diện cho quyền cụ thể. Ví dụ:

  • 7 (rwx): Đọc, ghi, thực thi.
  • 5 (r-x): Đọc, thực thi.
  • 4 (r–): Chỉ đọc.

Ví dụ:

$ chmod 755 file.txt

Lệnh trên thiết lập quyền rwxr-xr-x cho tập tin file.txt. Tức là chủ sở hữu có quyền đọc, ghi, thực thi; nhóm và người dùng khác có quyền đọc và thực thi.

5. Thay đổi chủ sở hữu và nhóm

Bạn có thể thay đổi chủ sở hữu và nhóm của một tập tin hoặc thư mục bằng lệnh chown:

$ chown owner:group file.txt

Ví dụ:

$ chown alice:developers file.txt

Lệnh trên thay đổi chủ sở hữu của tập tin file.txt thành người dùng alice và nhóm developers.

6. Các quyền đặc biệt

Ngoài quyền truy cập thông thường (read, write, execute), còn có ba quyền đặc biệt khác trong Linux là SUID (Set User ID), SGID (Set Group ID), và Sticky Bit. Các quyền đặc biệt này được áp dụng cả cho file và thư mục.

Quyền Cấu hình theo ký tự Cấu hình theo số
SUID chmod +s [Tên file] chmod 4xxx [Tên file]
SGID chmod +g [Tên file] chmod 2xxx [Tên file]
Sticky Bit chmod +t [Tên file] chmod 1xxx [Tên file]
  • SUID (Set User ID):
    • Khi một file có quyền SUID được thiết lập, nó sẽ chạy với quyền của chủ sở hữu của file thay vì quyền của người chạy file. Điều này thường được sử dụng để cho phép người dùng thực hiện các tác vụ mà họ không có quyền thực hiện thông thường.
    • Biểu thị bằng s trong quyền thực thi của chủ sở hữu (owner execute permission).
  • SGID (Set Group ID):
    • Khi một file có quyền SGID được thiết lập, nó sẽ chạy với quyền của nhóm sở hữu của file thay vì quyền của nhóm chạy file. Điều này thường được sử dụng trong các thư mục chia sẻ để đảm bảo mọi tệp được tạo trong thư mục đó đều thuộc cùng một nhóm.
    • Biểu thị bằng s trong quyền thực thi của nhóm sở hữu (group execute permission).
  • Sticky Bit:
    • Khi một thư mục có Sticky Bit được thiết lập, chỉ chủ sở hữu của file có thể xóa hoặc di chuyển file trong thư mục đó, ngay cả khi người khác có quyền ghi vào thư mục đó. Thường được sử dụng trong các thư mục chia sẻ như /tmp để ngăn chặn việc xóa tệp bởi người dùng khác.
    • Biểu thị bằng t trong quyền thực thi của người khác (others execute permission).

7. Kết luận

Phân quyền trong Linux là một cơ chế quan trọng giúp bảo vệ an toàn hệ thống, đặc biệt trong môi trường đa người dùng. Hiểu và sử dụng thành thạo các lệnh liên quan đến phân quyền không chỉ giúp bảo mật dữ liệu mà còn tối ưu hóa quá trình quản trị hệ thống. Phân quyền linh hoạt và dễ quản lý, giúp các quản trị viên dễ dàng kiểm soát ai có thể làm gì trên hệ thống của họ.

_______________________________________________________________________________________________________

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Rate this post