Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Tra cứu ma trận kiểm soát truy cập

    Hệ thống kiểm soát truy cập có thể biểu diễn bằng một ma trận kiểm soát truy cập (Access Control Matrix) MMM: hàng ứng với các chủ thể (subject), cột ứng với các đối tượng (object). Ô M[s][o]M[s][o]M[s][o] ghi lại tập quyền mà chủ thể sss được cấp trên đối tượng ooo, gồm ba quyền cơ bản: đọc (r), ghi (w), thực thi (x).

    Cho ma trận kiểm soát truy cập và một danh sách truy vấn dạng subject object perm, hãy xác định chủ thể có được phép thực hiện quyền perm trên đối tượng tương ứng hay không. Nếu subject hoặc object không tồn tại trong hệ thống, truy vấn bị từ chối.

    Ví dụ

    Input:

    3 2 4
    Alice
    Bob
    Carol
    File1
    File2
    rw- r--
    --x rwx
    --- ---
    Alice File1 w
    Bob File2 x
    Carol File1 r
    Dave File1 r
    

    Output:

    YES
    YES
    NO
    NO
    

    Giải thích: Alice có quyền ghi (w) trên File1 vì ô tương ứng là rw-; Bob có quyền thực thi (x) trên File2 vì ô là rwx; Carol không có quyền đọc trên File1 vì ô là ---; Dave không tồn tại nên bị từ chối.

    • Định dạng đầu vào:

      Dòng 1: ba số nguyên n m q — số chủ thể, số đối tượng, số truy vấn (1≤n,m≤1001 \le n, m \le 1001≤n,m≤100, 1≤q≤2001 \le q \le 2001≤q≤200).

      n dòng tiếp theo: tên các chủ thể (không chứa khoảng trắng), theo đúng thứ tự sẽ dùng làm hàng của ma trận.

      m dòng tiếp theo: tên các đối tượng, theo đúng thứ tự dùng làm cột của ma trận.

      n dòng tiếp theo, mỗi dòng gồm m token cách nhau bởi khoảng trắng; token thứ jjj là quyền của chủ thể (dòng) trên đối tượng thứ jjj. Mỗi token là chuỗi đúng 3 ký tự theo thứ tự cố định (đọc, ghi, thực thi): ký tự là r, w, x tương ứng nếu được cấp quyền đó, hoặc - nếu không. Ví dụ rw- nghĩa là được đọc và ghi, không được thực thi; --- nghĩa là không có quyền nào.

      q dòng cuối, mỗi dòng dạng subject object perm, với perm là một trong ba ký tự r, w, x.

    • Định dạng đầu ra:

      In ra đúng q dòng; dòng thứ iii là YES nếu truy vấn thứ iii được phép, ngược lại in NO.

    Ví dụ:

    Đầu vào:

    1 1 3
    Root
    Sys
    rwx
    Root Sys r
    Root Sys w
    Root Sys x
    

    Đầu ra:

    YES
    YES
    YES
    

    Đầu vào:

    3 2 4
    Alice
    Bob
    Carol
    File1
    File2
    rw- r--
    --x rwx
    --- ---
    Alice File1 w
    Bob File2 x
    Carol File1 r
    Dave File1 r
    

    Đầu ra:

    YES
    YES
    NO
    NO
    

    Đang tải editor...