Linux là hệ điều hành đa người dùng (multi-user). Nghĩa là nhiều người có thể cùng truy cập 1 hệ thống – như SSH, deploy app, chạy web server, v.v.
Vì vậy, Linux cần hệ thống phân quyền chặt chẽ để:
- Người này không phá người kia
- Dữ liệu được bảo vệ đúng phạm vi
- Hệ thống vẫn chạy ổn định
Mỗi file/folder gắn với 3 nhóm người:
- User (owner) – chủ file
- Group – nhóm của user
- Others – tất cả người ngoài
Mỗi nhóm có 3 quyền cơ bản:
Quyền | Viết tắt | File | Folder |
---|---|---|---|
read | r | xem nội dung | xem danh sách file (ls ) |
write | w | sửa nội dung | tạo/xoá file |
exec | x | chạy file | cd vào folder |
Quyền dưới dạng số (octal)
Bit | Quyền |
---|---|
4 | read |
2 | write |
1 | exec |
→ Cộng lại thành 1 số:
Octal | Binary | Quyền |
---|---|---|
7 | 111 | rwx |
6 | 110 | rw- |
5 | 101 | r-x |
4 | 100 | r-- |
0 | 000 | --- |
→ chmod 755
nghĩa là:
rwx r-x r-x
111 101 101 (binary)
7 5 5 (octal)
Một số setting phổ biến:
Giá trị | Nghĩa | Dùng cho |
---|---|---|
777 | rwxrwxrwx – ai cũng làm gì cũng được | ❌ Rất nguy hiểm |
755 | rwxr-xr-x – owner full, group & others chỉ chạy/đọc | ✅ Script, folder public |
700 | rwx------ – chỉ owner xài được | ✅ Private script hoặc thư mục cá nhân |
644 | rw-r--r-- – owner ghi, người khác chỉ đọc | ✅ File cấu hình |
600 | rw------- – chỉ owner đọc/ghi | ✅ File nhạy cảm (env, ssh) |
Với folder: quyền x
bắt buộc phải có nếu muốn cd
vào được.
Quyền | Ý nghĩa với folder |
---|---|
r | xem danh sách file (nhưng không cd nếu thiếu x ) |
w | tạo/xóa file trong folder (nhưng vẫn cần x ) |
x | đi vào folder (dùng cd ) |
Case thực tế: NGINX cần ghi vào folder logs/
Sai lầm thường gặp:
chmod 777 logs/
→ Sai hoàn toàn! Ai cũng có quyền ghi → dễ bị tấn công hoặc phá file log.
Làm đúng:
Giả sử NGINX chạy bằng user www-data
, ta làm:
chown -R root:www-data logs/ # set owner là root, group là www-data
chmod -R 775 logs/ # owner và group có toàn quyền
Giải thích:
owner (root)
:rwx
= 7group (www-data)
:rwx = 7
others
:r-x
→ không ghi được = 5
→ NGINX ghi log thoải mái, nhưng người khác không phá được.
Một số lệnh quan trọng:
Việc | Lệnh |
---|---|
Đổi quyền số | chmod 755 file_or_folder |
Đổi owner | sudo chown user file_or_folder |
Đổi group | chgrp www-data file_or_folder |
Đổi cả owner + group | sudo chown user:group file_or_folder |
Xem quyền | ls -l |
Tổng kết
- Hiểu quyền ~ hiểu bảo mật cơ bản của Linux
chmod
,chown
,chgrp
là bộ ba cần nhớ- Tránh
777
nếu không muốn “tự mở cửa cho hacker” - Set đúng quyền + group = app chạy ổn, bảo mật vẫn giữ
Leave a Reply