Tạo 1 shellcript tên của bạn(viết hoa, có khoảng trắng vd : TRAN A) làm tất cả các việc sau :
1> Vào thư mục nhà của mình, tạo một thư mục có tên là họ tên của mình (viết thường vd : nguyenb). Thư mục cho người chủ thư mục có đủ quyền hạn, người trong nhóm và người dùng khác chỉ có quyền đọc.
2> Vào thư mục mới tạo ở phần 1 tạo 1 thư mục có tên của người đang sử dụng (tên này xuất phát từ stdout của lệnh hostname) ghép với tên người đang chạy chương trình (stdout của lệng whoami ), tên thư mục có 1 khoảng trắng ở giữa , vd : “may3 t8” . ). Thư mục cho người chủ thư mục có quyền đọc ghi, người trong nhóm và người dùng khác chỉ có quyền đọc.
3> Vào thư mục vừa tạo ở phần 2 tạo một tập tin có tên là tên họ đầy đủ của chính mình ghép với tên của máy đang chạy chương trình (stdout của lệnh hostname) dùng các chữ hoa [uppercase] và ko có khoảng trắng trong tên (vd : tên nguyen van a, đang chạy trên máy : may3 -> NGUYENVANAMAY3). Tập tin này chứa các thông tin trong /ect/paswd về chính user chạy chương trình này.
4> Vào thư mục vừa tạo ở phần 1 tạo các thư mục có tên là 1 kí tự duy nhất nằm trong tên của thư mục được tạo trong phần 1(vd : tên thư mục là : nguyenb thì các thư mục trong nó gồm n,g,u,y,e,n,b). Các thư mục này cho người chủ có quyền đọc và ghi, các nguời dùng khác có quyền đọc thôi.
5> Đọc tập tin /ect/passwd tìm những user thuộc về nhóm có mã số người dùng (UID) lớn hơn 500 và nhỏ hơn 1000 trích ra 3 thông tin về user là tên, UID, tên shell { trường 1, trường 3, trường 7}để ghi vào tập tin thongtin nằm trong thư mục mô tả ở phần 3; mỗi dòng của tập tin thongtin chứa 3 thông tin kể trên, mỗi trường thông tin ngăn cách nhau bằng TAB
Thí dụ :
- Trong /ect/passwd có dòng : u8:ABCD12*nADcdq:1008:100:User for practices:/home/u8:/bin/bash
- Thì trong thongtin phải có dòng : u8 1008 /bin/bash
6> Tập tin thongtin này cho người chủ và người cùng nhóm được quyền đọc ghi nhưng những người khác chỉ có quyền đọc.
7> Tâp tin thongtin này được xếp thứ tự tăng dần theo giá trị số của UID.
8> Vào trong thư mục tạo ra ở phần 3 tạo các tập tin có tên là các mã số nhóm (GID) đã được liệt kê trong tập tin /ect/passwd sao cho mỗi tập tin như thế chứa các thông tin gồm tên, UID, GID { trường 1, 3, 4} của những users có mã số nhóm đúng như tên tập tin. Nội dung các tập tin này phải được xếp thứ tự tăng dần theo giá trị số của mã số người dùng (UID).
9> Vào trong thư mục đã tạo ra ở phần 1, tạo một tập tin tên password gồm nội dung tập tin /ect/passwd được xếp thứ tự tăng dần theo giá trị số của mã số nhóm GID và UID
pass:
1> Vào thư mục nhà của mình, tạo một thư mục có tên là họ tên của mình (viết thường vd : nguyenb). Thư mục cho người chủ thư mục có đủ quyền hạn, người trong nhóm và người dùng khác chỉ có quyền đọc.
2> Vào thư mục mới tạo ở phần 1 tạo 1 thư mục có tên của người đang sử dụng (tên này xuất phát từ stdout của lệnh hostname) ghép với tên người đang chạy chương trình (stdout của lệng whoami ), tên thư mục có 1 khoảng trắng ở giữa , vd : “may3 t8” . ). Thư mục cho người chủ thư mục có quyền đọc ghi, người trong nhóm và người dùng khác chỉ có quyền đọc.
3> Vào thư mục vừa tạo ở phần 2 tạo một tập tin có tên là tên họ đầy đủ của chính mình ghép với tên của máy đang chạy chương trình (stdout của lệnh hostname) dùng các chữ hoa [uppercase] và ko có khoảng trắng trong tên (vd : tên nguyen van a, đang chạy trên máy : may3 -> NGUYENVANAMAY3). Tập tin này chứa các thông tin trong /ect/paswd về chính user chạy chương trình này.
4> Vào thư mục vừa tạo ở phần 1 tạo các thư mục có tên là 1 kí tự duy nhất nằm trong tên của thư mục được tạo trong phần 1(vd : tên thư mục là : nguyenb thì các thư mục trong nó gồm n,g,u,y,e,n,b). Các thư mục này cho người chủ có quyền đọc và ghi, các nguời dùng khác có quyền đọc thôi.
5> Đọc tập tin /ect/passwd tìm những user thuộc về nhóm có mã số người dùng (UID) lớn hơn 500 và nhỏ hơn 1000 trích ra 3 thông tin về user là tên, UID, tên shell { trường 1, trường 3, trường 7}để ghi vào tập tin thongtin nằm trong thư mục mô tả ở phần 3; mỗi dòng của tập tin thongtin chứa 3 thông tin kể trên, mỗi trường thông tin ngăn cách nhau bằng TAB
Thí dụ :
- Trong /ect/passwd có dòng : u8:ABCD12*nADcdq:1008:100:User for practices:/home/u8:/bin/bash
- Thì trong thongtin phải có dòng : u8 1008 /bin/bash
6> Tập tin thongtin này cho người chủ và người cùng nhóm được quyền đọc ghi nhưng những người khác chỉ có quyền đọc.
7> Tâp tin thongtin này được xếp thứ tự tăng dần theo giá trị số của UID.
8> Vào trong thư mục tạo ra ở phần 3 tạo các tập tin có tên là các mã số nhóm (GID) đã được liệt kê trong tập tin /ect/passwd sao cho mỗi tập tin như thế chứa các thông tin gồm tên, UID, GID { trường 1, 3, 4} của những users có mã số nhóm đúng như tên tập tin. Nội dung các tập tin này phải được xếp thứ tự tăng dần theo giá trị số của mã số người dùng (UID).
9> Vào trong thư mục đã tạo ra ở phần 1, tạo một tập tin tên password gồm nội dung tập tin /ect/passwd được xếp thứ tự tăng dần theo giá trị số của mã số nhóm GID và UID
pass:
Comment