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

    solution

    Đề bài: [Hệ điều hành Unix] Tra cứu tên nhóm chính của người dùng

    Cho nội dung rút gọn của /etc/passwd và /etc/group. Mỗi dòng /etc/passwd có dạng tên:x:UID:GID:...; mỗi dòng /etc/group có dạng tên_nhóm:x:GID:.... Nhóm chính của một user là nhóm có GID bằng trường GID của user đó.

    Cho tên một user, hãy in tên nhóm chính của user đó. Nếu user không tồn tại, in NO_USER. Nếu GID của user không khớp nhóm nào, in NO_GROUP.

    Ví dụ: user alice có GID 1000, nhóm GID 1000 tên alice → in alice.

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

      Dòng 1: số P, rồi P dòng /etc/passwd. Dòng tiếp: số G, rồi G dòng /etc/group. Dòng cuối: tên user cần tra cứu.

    • Ràng buộc đầu vào:

      1 ≤ P,G ≤ 1000; các trường không chứa khoảng trắng.

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

      Một dòng: tên nhóm chính, hoặc NO_USER/NO_GROUP.

    Ví dụ:

    Đầu vào:

    2
    alice:x:1000:1000:Alice:/home/alice:/bin/bash
    bob:x:1001:1001:Bob:/home/bob:/bin/bash
    2
    alice:x:1000:
    bob:x:1001:
    alice
    

    Đầu ra:

    alice

    Giải thích:

    alice có GID 1000; nhóm GID 1000 tên 'alice'.

    Đang tải editor...