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] shadow: liệt kê tài khoản bị khoá

    File kiểu /etc/shadow có mỗi dòng 9 trường ngăn cách :, trong đó trường 1 là tên user và trường 2 là hash mật khẩu. Tài khoản bị khoá / không đăng nhập được khi trường 2 bắt đầu bằng ! hoặc *. Trường 2 rỗng nghĩa là không đặt mật khẩu (KHÔNG tính là khoá). Hash hợp lệ (đăng nhập được) bắt đầu bằng $.

    Đọc từ stdin, in ra tên user của các tài khoản bị khoá (trường 2 bắt đầu ! hoặc *), sắp xếp tăng dần (LC_ALL=C).

    Ví dụ:

    Input:

    root:$6$abc:19000:0:99999:7:::
    daemon:*:19000:0:99999:7:::
    alice:!$6$xyz:19000:0:99999:7:::
    

    Output:

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

      Nhiều dòng kiểu /etc/shadow (9 trường :).

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

      1 ≤ số dòng ≤ 1000.

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

      Tên user có trường 2 bắt đầu ! hoặc *, sắp xếp tăng dần (LC_ALL=C).

    Ví dụ:

    Đầu vào:

    root:$6$abc:19000:0:99999:7:::
    daemon:*:19000:0:99999:7:::
    alice:!$6$xyz:19000:0:99999:7:::
    

    Đầu ra:

    alice
    daemon

    Giải thích:

    daemon (`*`) và alice (`!...`) bị khoá; root (`$6$...`) đăng nhập được nên loại; sort ABC.

    Đang tải editor...