Bài 03: User, group và phân quyền Linux

Bài 03: User, group và phân quyền Linux

Bài này đi sâu vào user, group, permission và cách thực hành phân quyền an toàn cho file/thư mục trên Linux.

Sau bài này anh sẽ biết:

  • Linux quản lý user/group như thế nào.
  • Hiểu quyền rwx và số quyền 644/755.
  • Dùng chown, chmod, groups.
  • Phân quyền đúng cho thư mục web/app.

1. User và group là gì?

Mỗi process/file trong Linux đều gắn với user và group. Quyền truy cập quyết định ai được đọc, ghi hoặc chạy file.

whoami
id
groups

id cho biết UID, GID và các group mà user thuộc về.

2. Hiểu quyền rwx

ls -l

Ví dụ output:

-rw-r--r-- 1 root root 1200 May 03 config.txt
drwxr-xr-x 2 www-data www-data 4096 May 03 public
Ký hiệu Ý nghĩa
r read: đọc file/list thư mục
w write: sửa file/tạo xóa trong thư mục
x execute: chạy file/đi vào thư mục

3. Quyền số 644, 755 là gì?

Số Quyền Thường dùng
644 owner đọc/ghi, group/others chỉ đọc File config, file web tĩnh
600 chỉ owner đọc/ghi Private key, secret
755 owner full, group/others đọc/chạy Thư mục public, script cần chạy
700 chỉ owner full Thư mục riêng tư

4. Lab thực hành phân quyền

Mục tiêu: tạo file/thư mục và đổi quyền để hiểu tác dụng.
mkdir -p ~/sysadmin-lab/day03
cd ~/sysadmin-lab/day03
echo "secret" > secret.txt
ls -l secret.txt
chmod 600 secret.txt
ls -l secret.txt
chmod 644 secret.txt
ls -l secret.txt

Khi file là 600, chỉ owner đọc/ghi. Khi là 644, người khác có thể đọc nhưng không ghi.

Đổi owner/group

sudo chown root:root secret.txt
ls -l secret.txt
sudo chown $USER:$USER secret.txt
ls -l secret.txt

chown user:group file đổi chủ sở hữu file. Trên production phải rất cẩn thận vì đổi sai owner có thể làm service không đọc/ghi được.

5. Tình huống thực tế: web không upload được ảnh

Ứng dụng web cần ghi vào thư mục uploads/, nhưng thư mục thuộc root nên process web không ghi được.

ls -ld /var/www/site/uploads
# nếu app chạy bằng user www-data
sudo chown -R www-data:www-data /var/www/site/uploads
sudo chmod -R 755 /var/www/site/uploads

6. Lỗi thường gặp

  • Dùng chmod 777 để “cho nhanh”. Đây là thói quen nguy hiểm.
  • chown -R nhầm thư mục quá rộng.
  • Không biết service chạy bằng user nào.
  • Private key để quyền quá mở, SSH từ chối dùng key.
Lưu ý production: Trước khi chmod -R hoặc chown -R, hãy chạy pwdls -ld để chắc chắn đúng thư mục.

7. Checklist phân quyền

  • Biết file/thư mục thuộc user/group nào.
  • Biết service chạy bằng user nào.
  • File nhạy cảm dùng 600/640.
  • Thư mục public thường 755, file thường 644.
  • Tránh 777 trừ lab tạm thời.

8. Bài tập

  1. Tạo file private.txt và đặt quyền 600.
  2. Tạo thư mục public và đặt quyền 755.
  3. Giải thích khác nhau giữa 644 và 600.
  4. Tìm user đang chạy service SSH hoặc Nginx nếu máy có cài.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *