Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

28. Backup dữ liệu người dùng và phân quyền

ICT

1. Vì sao dữ liệu người dùng và phân quyền đặc biệt nhạy cảm?

Trong nhiều sự cố thực tế:

  • File vẫn còn

  • Database vẫn restore được

  • Dịch vụ vẫn khởi động

Nhưng:

  • Người dùng không đăng nhập được

  • Ứng dụng báo lỗi permission

  • Một số chức năng “biến mất”

Nguyên nhân thường không nằm ở dữ liệu, mà ở:

Phân quyền và mối quan hệ giữa dữ liệu – người dùng – hệ thống.

📌 Backup thiếu phân quyền khiến restore mất ý nghĩa vận hành.


2. Dữ liệu người dùng là gì trong bối cảnh backup?

Dữ liệu người dùng không chỉ là:

  • File upload

  • Nội dung nhập liệu

Mà còn bao gồm:

  • Thông tin tài khoản

  • Vai trò (role)

  • Quyền truy cập

  • Mapping người dùng ↔ dữ liệu

📌 Đây là lớp nghiệp vụ, không phải chỉ là file hay bảng dữ liệu.


3. Backup dữ liệu người dùng ở mức ứng dụng

3.1. Dữ liệu người dùng trong database

Thường gồm:

  • User account

  • Role / permission

  • Group / organization mapping

  • Audit log (nếu có)

📌 Phải backup toàn bộ, không chọn lọc cảm tính.


3.2. Dữ liệu người dùng dạng file

  • File upload

  • Hồ sơ đính kèm

  • Media cá nhân

  • Tài liệu nghiệp vụ

📌 Cần đảm bảo:

  • Không thiếu file

  • Không trùng lẫn user


4. Backup phân quyền ở mức hệ điều hành (Linux)

4.1. Ownership và permission (POSIX)

Cần bảo toàn:

  • UID / GID

  • Permission (rwx)

  • ACL (nếu dùng)

📌 File đúng nhưng sai owner = ứng dụng không truy cập được.


4.2. Các thành phần cần backup

  • /etc/passwd

  • /etc/group

  • /etc/shadow (bảo mật cao)

  • ACL (getfacl / setfacl output)

📌 Không backup UID/GID = restore sai toàn bộ quyền.


5. Backup phân quyền trong ứng dụng (ví dụ CMS, webapp)

5.1. Phân quyền logic

Ví dụ:

  • Drupal role & permission

  • Nhóm người dùng

  • Quyền theo chức năng

📌 Nằm trong database, không phải file.


5.2. Quan hệ người dùng – dữ liệu

  • User A được xem dữ liệu nào

  • File thuộc về user nào

  • Hồ sơ gắn với đối tượng nào

📌 Restore sai quan hệ = lỗi nghiệp vụ nghiêm trọng.


6. Backup dữ liệu người dùng trong hệ thống nhiều tầng

Trong hệ thống thực tế:

  • User trong LDAP / AD

  • Permission trong ứng dụng

  • File trên file system

  • Metadata trong database

Chiến lược đúng:

  • Backup từng lớp

  • Ghi rõ mối quan hệ

  • Có thứ tự restore


7. Restore dữ liệu người dùng đúng cách

Trình tự khuyến nghị:

  1. Restore user hệ điều hành (UID/GID)

  2. Restore permission / ACL

  3. Restore database user & role

  4. Restore file dữ liệu

  5. Test đăng nhập và phân quyền

📌 Restore sai thứ tự → lỗi chồng lỗi.


8. Bảo mật khi backup dữ liệu người dùng

Dữ liệu người dùng thường là:

  • Dữ liệu cá nhân

  • Dữ liệu nhạy cảm

  • Dữ liệu có rủi ro pháp lý

Yêu cầu:

  • Mã hóa backup

  • Giới hạn người truy cập

  • Log truy cập restore

📌 Backup dữ liệu người dùng phải tuân thủ bảo mật cao nhất.


9. Sai lầm phổ biến

  • Chỉ backup file, quên permission

  • Chỉ backup DB, quên file user

  • Restore dữ liệu nhưng không restore user

  • Không test đăng nhập sau restore


10. Checklist backup dữ liệu người dùng và phân quyền

BẮT BUỘC

  • User data trong DB

  • Role / permission

  • File upload

  • Ownership / permission

RẤT NÊN

  • ACL

  • Audit log

  • Mapping user ↔ dữ liệu


11. Liên hệ với hệ thống thực tế

Trong hệ thống:

  • Website phục vụ người bệnh

  • Webapp nội bộ nhân viên

  • Dữ liệu cá nhân và nghiệp vụ

Backup sai phân quyền có thể dẫn đến:

  • Lộ dữ liệu

  • Sai chức năng

  • Rủi ro pháp lý


 

Dữ liệu còn nhưng quyền mất
thì hệ thống vẫn coi như hỏng.

Backup dữ liệu người dùng phải:

  • Đi kèm phân quyền

  • Bảo toàn quan hệ nghiệp vụ

  • Được kiểm tra bằng thao tác thật của người dùng