Unix / Linux - Quyền truy cập tệp / Chế độ truy cập
Xin chào các bạn đang theo đuổi lập trình! Hôm nay, chúng ta sẽ cùng khám phá thế giới kỳ diệu của quyền truy cập tệp trong Unix và Linux. Đừng lo lắng nếu bạn mới bắt đầu; đến cuối bài hướng dẫn này, bạn sẽ trở thành một chuyên gia về quyền truy cập tệp! Hãy cùng bắt đầu hành trình thú vị này.
Các chỉ báo quyền truy cập
Hãy tưởng tượng bạn là người bảo vệ của một két bảo vệ. Bạn cần quyết định ai có thể mở nó, ai có thể đặt thứ gì vào trong đó, và ai có thể lấy thứ gì ra. Đó chính là essence của quyền truy cập tệp trong Unix và Linux!
Khi bạn liệt kê các tệp sử dụng lệnh ls -l
, bạn sẽ thấy điều gì đó như thế này:
-rwxr-xr-x 1 john users 2048 Jan 15 2023 myfile.txt
Hãy phân tích các ký tự bí ẩn ở đầu:
- Ký tự đầu tiên chỉ định loại tệp (
-
cho tệp thông thường,d
cho thư mục) - 9 ký tự tiếp theo đại diện cho quyền truy cập của người dùng, nhóm và người khác
Dưới đây là bảng tiện ích để nhớ ý nghĩa của từng ký tự:
Ký tự | Ý nghĩa |
---|---|
r | Quyền đọc |
w | Quyền ghi |
x | Quyền thực thi |
- | Không có quyền |
Chế độ truy cập tệp
Bây giờ, hãy nói về những quyền truy cập này thực sự cho phép bạn làm gì với các tệp:
- Đọc (r): Xem nội dung của tệp
- Ghi (w): Chỉnh sửa hoặc xóa tệp
- Thực thi (x): Chạy tệp như một chương trình hoặc kịch bản
Dưới đây là cách dễ nhớ: Nghĩ r
như là "đọc công thức", w
như là "viết công thức", và x
như là "thực thi công thức" (nấu món ăn)!
Chế độ truy cập thư mục
Thư mục có quyền truy cập tương tự, nhưng chúng hoạt động một chút khác nhau:
- Đọc (r): Liệt kê nội dung của thư mục
- Ghi (w): Thêm hoặc xóa tệp trong thư mục
- Thực thi (x): Truy cập thư mục và nội dung của nó
Hãy tưởng tượng một thư mục như một căn phòng. "r" cho phép bạn nhòm vào trong, "w" cho phép bạn thêm hoặc bớt nội thất, và "x" cho phép bạn vào trong phòng.
Thay đổi quyền truy cập
Bây giờ chúng ta đã hiểu quyền truy cập, hãy học cách thay đổi chúng! Chúng ta sử dụng lệnh chmod
để làm điều này. Có hai cách sử dụng chmod
: chế độ biểu tượng và chế độ tuyệt đối.
Chế độ biểu tượng
Điều này giống như đưa ra hướng dẫn để thêm hoặc bớt quyền truy cập. Dưới đây là cú pháp cơ bản:
chmod [who][+,-,=][permissions] filename
-
who
có thể là u (người dùng), g (nhóm), o (người khác), hoặc a (tất cả) -
+
thêm quyền,-
bớt quyền,=
đặt chính xác -
permissions
là r, w, hoặc x
Ví dụ:
chmod u+x myfile.txt
Điều này thêm quyền thực thi cho người dùng.
Sử dụng chmod với Quyền Tuyệt đối
Chế độ tuyệt đối sử dụng số để đặt quyền. Mỗi quyền có một giá trị:
- r = 4
- w = 2
- x = 1
Chúng ta cộng chúng lại cho từng danh mục (người dùng, nhóm, người khác). Dưới đây là bảng để giúp bạn hiểu:
Số | Quyền |
---|---|
0 | --- |
1 | --x |
2 | -w- |
3 | -wx |
4 | r-- |
5 | r-x |
6 | rw- |
7 | rwx |
Ví dụ:
chmod 755 myfile.txt
Điều này đặt rwx cho người dùng, và rx cho nhóm và người khác.
Thay đổi chủ sở hữu và nhóm
Đôi khi, bạn cần thay đổi ai là chủ sở hữu của tệp hoặc nhóm nào tệp thuộc về. Hãy xem cách thực hiện điều đó.
Thay đổi chủ sở hữu
Để thay đổi chủ sở hữu của tệp, chúng ta sử dụng lệnh chown
:
chown newowner filename
Ví dụ:
chown alice myfile.txt
Điều này thay đổi chủ sở hữu của myfile.txt thành alice.
Thay đổi nhóm sở hữu
Để thay đổi nhóm, chúng ta sử dụng lệnh chgrp
:
chgrp newgroup filename
Ví dụ:
chgrp developers myfile.txt
Điều này thay đổi nhóm của myfile.txt thành developers.
Quyền SUID và SGID
Bây giờ, hãy nói về một số quyền đặc biệt: SUID (Set User ID) và SGID (Set Group ID). Đây giống như siêu năng lực cho các tệp!
- SUID: Khi đặt trên một tệp thực thi, nó chạy với quyền của chủ sở hữu.
- SGID: Khi đặt trên một tệp thực thi, nó chạy với quyền của nhóm.
Để đặt chúng, chúng ta sử dụng chmod
với một số đặc biệt:
chmod 4755 myfile # Đặt SUID
chmod 2755 myfile # Đặt SGID
Số 4 ở đầu đặt SUID, và 2 đặt SGID.
Và thế là xong! Bây giờ bạn đã nắm vững thế giới của quyền truy cập tệp trong Unix/Linux. Nhớ rằng, với quyền lực lớn đi kèm với trách nhiệm lớn. Sử dụng quyền này một cách khôn ngoan để giữ cho các tệp của bạn an toàn và bảo mật.
Thực hành là chìa khóa, vì vậy đừng ngần ngại thử nghiệm (trong một môi trường an toàn, tất nhiên). Trước khi bạn biết, bạn sẽ quản lý quyền truy cập tệp như một chuyên gia!
Credits: Image by storyset