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
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
: Groupo
: 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 execute5
(Group): Read and execute5
(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.