Phân quyền cho file trong Linux là một khía cạnh quan trọng để bảo mật và quản lý hệ thống. Bằng cách kiểm soát quyền đọc, ghi và thực thi cho từng người dùng hoặc nhóm, bạn có thể bảo vệ dữ liệu và duy trì sự ổn định của hệ thống một cách hiệu quả. Hãy cùng mình tham khảo thêm chủ đề này qua bài viết dưới đây.
Những điểm chính
- Hiểu được khái niệm phân quyền file trong Linux, các thành phần quan trọng và cách sử dụng toán tử hợp lí.
- Nắm được cách phân quyền file trong linux qua các ví dụ, đặc biệt là các lệnh phân quyền nâng cao.
- Vietnix – Nhà cung cấp VPS uy tín hàng đầu với hiệu năng mạnh mẽ và độ ổn định cao.
Quyền cho file trong Linux là gì?
Quyền cho file trong Linux là tập hợp các giới hạn về thao tác, đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể truy cập, chỉnh sửa, hoặc thực thi các file nhất định, tăng cường bảo mật và chức năng của hệ thống Linux của bạn.
Có 3 loại quyền file:
- Đọc (r): Cho phép truy cập và xem nội dung của file.
- Viết (w): Cho phép truy cập và chỉnh sửa file (vd: sửa đổi nội dung hay xóa file).
- Thực thi (x): Cho phép thực thi các file script thành chương trình.
Toán tử | Định nghĩa |
+ | Thêm quyền |
– | Xóa quyền |
= | Gán quyền cho giá trị cụ thể |
Lưu ý
Các quyền này (r,w,x) được cấp ở 3 mức khác nhau dựa trên nhóm (u,g,o) của chúng.
Nhóm phân quyền trong Linux là gì?
--- --- ---
rwx rwx rwx
user group other
Dựa theo khuôn mẫu trên, bạn có thể thấy được 9 kí tự được chia thành 3 cột. Mỗi cột sẽ có 3 quyền file “rwx” đề cập đến đối tượng khác nhau có quyền thực hiện trên file.
- Owner (u): Chỉ áp dụng cho người sở hữu file, folder.
- Group (g): Chỉ áp dụng cho nhóm user cụ thể (chỉ thành viên của nhóm với được phân quyền).
- Other (o): Áp dụng cho tất cả người dùng có trong hệ thống, tuy nhiên nhược điểm là mang lại rủi ro bảo mật.
Kí tự | Class | Mô tả |
`u` | user | Chỉ áp dụng cho người tạo ra, sở hữu file và folder. Không có tác dụng với các user khác. |
`g` | group | Chỉ áp dụng cho nhóm cụ thể, chỉ có các thành viên của nhóm đó mới được phân quyền. |
`o` | others | Áp dụng quyền cho tất cả user có trên hệ thống. |
`a` | All three | Tất cả |
Cách kiểm tra quyền của file trong Linux
Trong Linux có một vài cách để kiểm tra phân quyền cho file, bạn có thể xem qua ví dụ sau:
Lệnh ls
Cách nhanh nhất và đơn giản nhất để xem quyền của một file là sử dụng lệnh ls. Ví dụ, bạn cần kiểm tra file có tên cal.zip có đường dẫn là ~/Desktop/cal.zip, sử dụng cú pháp lệnh như sau:
ls -l cal.zip
Dựa theo trong hình ví dụ trên, bạn sẽ thấy các thông tin cụ thể về file:
- Kí tự “-”: Chỉ định loại file đang dùng (ví dụ: “d” đại diện cho directory).
- rw-rw-r– : Dùng để phân quyền file.
- 1: Số hard link được trỏ đến file cal.zip này.
- nam nam: Lần lượt là owner và group sở hữu file này.
- 13482: dung lượng file.
- Nov 29 11:01: Thời gian chỉnh sửa gần nhất đã thực hiện trên file.
- cal.zip: Tên file được chỉ định xem thông tin.
Lệnh namei
Lệnh namei
trong Linux được sử dụng để theo dõi quá trình phân tích tên đường dẫn. Lệnh này hiển thị từng bước mà hệ thống thực hiện để tìm ra một file hoặc folder dựa trên đường dẫn bạn chỉ định. Khi bạn kết hợp với option “-l” kết quả trả về sẽ bao gồm phân quyền cho file hiện tại.
namei -l ~/Desktop/cal.zip
Lệnh stat
Không giống như lệnh ls -l
, lệnh stat
được dùng để xem chi tiết thông tin file, nhưng bạn vẫn có thể xem được phân quyền cho file bằng lệnh này.
stat ~/Desktop/cal.zip
Cách thay đổi quyền trong Linux
Để thay đổi phân quyền file trong Linux nói chung, bạn sẽ dùng lệnh chmod – viết tắt của change mode – cụ thể là bạn sẽ thay đổi 9 kí tự về quyền file đã được đề cập từ đầu hướng dẫn.
Ví dụ: Bạn cần thay đổi phân quyền file có tên command.txt.
chmod o+x command.txt
Trong ví dụ sau:
- o = Chỉnh định phân quyền sẽ áp dụng cho other (tất cả user trên hệ thống).
- “+” = Thêm quyền cho file được chỉ định.
- x = Phân quyền thực thi file được chỉ định.
Từ đó suy ra, “o+x” có nghĩa là thêm quyền thực thi file cho tất cả user trên hệ thống. Ngoài ra bạn có thể chỉ định cùng lúc nhiều quyền trong một lệnh. Ví dụ, bạn muốn lấy đi mọi quyền đang áp dụng với mọi user trên hệ thống, bạn hãy nhập lệnh sau:
chmod ugo-rwx command.txt
Trong tình huống bạn chỉ muốn thêm/xóa một vài quyền cho file được chỉ định, bạn hãy nhập lệnh sau:
chmod ug+rw,o-x command.txt
Ở đây, sự thay đổi là thêm quyền đọc (r) và viết (w) cho cả user (u) và nhóm (g), loại bỏ quyền thực thi (x) của tất cả user (o) của file command.txt.
Ở ví dụ khác:
chmod ug=rx,o+r command.txt
Sự thay đổi là chỉ định quyền đọc (r) và thực thi (x) cho cả user (u) và nhóm (g) và thêm quyền đọc (r) cho tất cả user đối với file command.txt.
Quyền với ký hiệu Octal trong Linux
Ngoài việc sử dụng kí tự chữ để biểu thị quyền trong lệnh chmod
. Bạn cũng có thể dùng kí hiệu hệ bát phân để biểu thị với lệnh chmod
.
Octal | Binary | Mode |
0 | 000 | — |
1 | 001 | –x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r– |
5 | 101 | r-x |
6 | 110 | rw |
7 | 111 | rwx |
Tương ứng với 3 kí tự r-w-x lần lượt là 3 giá trị bát phân 1-2-4. Bạn kết hợp các mode với nhau sẽ có giá trị khác nhau. Mỗi kí hiệu hệ bát phân có thể sử dụng cho bất kì nhóm u-g-o. Cú pháp chung sẽ như sau:
chmod 777 ten-file
# Hoặc
chmod ugo+rwx
Trong lệnh trên, bạn cấp quyền tối đa cho file giá trị sẽ là 7 và phân quyền cho toàn bộ class (user-group-other) nên giá trị sẽ là 777. Cả 2 lệnh trên để cấp phân quyền tối đa cho file chỉ định, bất cứ ai hay nhóm nào có trên hệ thống đều được phép truy cập.
Do đó các ví dụ sau cũng áp dụng tương tự:
chmod u=r,g=wx,o=rx ten-file
# Hoặc
chmod 435 ten-file
Trong lệnh trên:
u=r
: Giá trị r là 4.g=wx
: giá trị lần lượt của w và x là 2 và 1, tổng là 3.o=rx
: Giá trị lần lượt của r và x là 4 và 1, tổng là 5.
Hoặc:
chmod 775 ten-file
# Hoặc
chmod ug+rwx,o=rx ten-file
Ở lệnh này:
- Cả u và g đều được cấp tối đa quyền, giá trị lần lượt cả hai sẽ là 7 và 7.
- o=rx, giá trị lần lượt của r và x là 4 và 1, tổng là 5.
Quyền bảo mật trong Linux
Thực chất đây là sự kết hợp giữa các phân quyền cho file với nhau để mang lại độ an toàn cho các file, folder có trong hệ thống. Bạn có thể hiểu điều này một cách ngắn gọn theo cách giải thích sau.
Ví dụ: Trong hệ thống, bạn dùng lệnh ls -l
lên một file cụ thể và kết quả trả về của file có phân quyền như sau: “rw-rx-r–“
- “rw-“ : Điều này có nghĩa là chủ sở hữu của file có thể xem nội dung của file và sửa đổi nội dung của file này. Bạn sẽ không thể thực thi file vì quyền thực thi bị vô hiệu hóa.
- “rx-” : Điều này có nghĩa là các thành viên trong nhóm được cấp quyền chỉ có thể đọc và thực thi file.
- “r–“ : Hiển thị các quyền được phép cho những người dùng khác có UserID trên hệ thống Linux này. Điều này có nghĩa là bất kỳ ai trong hệ thống đều có thể đọc nhưng không thể sửa đổi hoặc thực thi nội dung của file.
Với các cột phân quyền cho file chi tiết và cẩn thận, bạn sẽ cải thiện được độ bảo mật cho hệ thống, hạn chế các vấn đề kĩ thuật hoặc rủi ro an toàn không mong muốn.
Các quyền đặc biệt trong Linux
Bên cạnh các phương pháp thông thường, trong linux bạn có thêm các loại quyền đặc biệt dành cho các file phức tạp.
- Lệnh setuid
Lệnh này dùng để set user ID – gán ID người dùng – cho phép user đó thực thi file với quyền ưu tiên của owner (người sở hữu). Cú pháp như sau:
chmod u+s ten-chuong-trinh
- Lệnh setgid
Lệnh này là set group ID – gán ID của nhóm – cho phép các file thực thi dưới quyền nhóm được chỉ định. Cú pháp như sau:
chmod g+s ten-directory
- Lệnh sticky bit
Lệnh này cho phép người dùng (owner) xóa hay đổi tên các file trong folder (dù phân quyền thuộc về user khác). Cú pháp như sau:
chmod +t ten-directory
Vietnix – Dịch vụ VPS với cấu hình mạnh mẽ và hiệu suất ổn định
Vietnix cung cấp các dịch vụ thuê VPS vượt trội, tối ưu cho nhu cầu lưu trữ và xử lý dữ liệu của cá nhân và doanh nghiệp. Với các máy chủ được trang bị cấu hình mạnh mẽ và băng thông cao, dịch vụ VPS của Vietnix đảm bảo hiệu suất hoạt động ổn định và liên tục. Hệ thống VPS dễ dàng tùy chỉnh, phù hợp cho các nhu cầu sử dụng khác nhau, từ web hosting, đến môi trường thử nghiệm hoặc phát triển ứng dụng. Bảng điều khiển thân thiện với người dùng giúp bạn dễ dàng quản lý và theo dõi hệ thống.
Với dịch vụ VPS AMD của Vietnix mang đến hiệu suất vượt trội nhờ vào công nghệ ảo hóa tiên tiến và ổ cứng NVMe siêu nhanh. Khả năng xử lý đa nhiệm và chịu tải cao giúp VPS đáp ứng tốt các ứng dụng có yêu cầu tài nguyên lớn như website có lượng truy cập cao hay các hệ thống cần xử lý dữ liệu nặng. Ngoài ra, dịch vụ còn hỗ trợ tính năng bảo mật mạnh mẽ và cam kết uptime lên tới 99.9%, giúp bạn yên tâm vận hành các dịch vụ trực tuyến mà không lo gián đoạn.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Phân quyền cho file trong Linux không chỉ đảm bảo an toàn dữ liệu mà còn giúp bạn quản lý truy cập hệ thống một cách hiệu quả. Nắm vững các lệnh và quy tắc phân quyền là bước quan trọng để duy trì bảo mật và ổn định cho môi trường làm việc của bạn. Nếu bạn có thắc mắc về chủ đề này, hãy để lại bình luận bên dưới để được Vietnix hỗ trợ.