ASSIGNMENT 1 – DUE BY 23:59 SATURDAY 24/10
Task 1: User management
A company has set up a new site and transfer staff and visitor accounts to the new site.
Your task is to write a Bash script to create user accounts for all staff and visitors. The supplied user file Usernames.txt is a text file containing a username and its type delimited by comma per line. There are two types of users: staff and visitor. Staff users are added to the staff group and visitor users to the visitors group.
- Write a Bash script, called createUsers.sh, to do the followings.
- a) Create two groups called visitors and staff;
- b) Create an account for each user and add the user to its group in one command.
All user accounts are created with an initial password the same as their username; a home directory with the same name as their username in the /home directory; all accounts use Bash shell program.
- c) Write messages to syslog for all of the above events (new group, new user creation).
Note that while the current need is to handle limited number of usernames from the given user file, your script should be able to handle an arbitrary number of usernames. (4 marks)
- Write a Bash script, called reportVisitors.sh, to report the members of visitors group to the file /tmp/visitors.txt. The output should contain the user names only with each user in a separate line. (1 mark) 3. Create a crontab entry to call the reportVisitors.sh script at 8:00AM and 9:00PM on every weekdays. (1 mark)
Task 2: Web log analysis
From the supplied (historical) NASA web server access log (NASA_access_log_Aug95.txt):
- a) How many POST events appear in the log? Show the command you use to determine the number. b) Write a one-line command to find the last gov GET request for the /history/skylab/flight‐ summary.txt file. The output should list the fully qualified host name and its time of access. (Don’t worry about removing any square brackets.)
- c) Write a one-line command to compile and print all of the Expendable Launch Vehicle names listed in the log. The ELV names are all listed in capital letters under the /elv Your output should appear in the format of one name per line, with no duplicates:
Save your output in a text file called elv.txt.
Submit individual work as a zip file called a1_yourUserID.zip, containing all your scripts, visitors.txt, elv.txt, and a file answer.pdf containing your answer to Task 1.3 and Task 2 to Moodle submission drop box before the due time. For example, if your user ID is abc123, name the file as a1_abc123.zip.