$30
CSCI322
ASSIGNMENT 1 –
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.
1. 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)
2. 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 nasa.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 directory. Your output should appear in the format of one
name per line, with no duplicates:
ALICE
BOB
CHARLIE
Save your output in a text file called elv.txt.
(4 marks)
Submission
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.