Reference no: EM132103209
Task
In this assignment you will develop simple scripts to manage the user and file system whilst developing some expertise in managing a complex file system.
Part 1: Automated Account Management
You have been asked by your boss to prepare two shell scripts which manage user information. You are to prepare a simple shell script which reads a text file called users.txt. The file is in the form dfs /home/dfs Daniel Saffioti and creates these users on the system without any interactive input. To do this you will need to use the adduser(1) and passwd(1) commands.
You will need to randomly produce the password and report this to the administrator. You can assume the fields being username, home directory and GCOS string are separate by a single white space. You can assume all users are in the same group. The program should output the username and generated password once created.
Part 2: Design of a File System
You work for the Information Technology Department in your University and you have been asked to build a server to store user data (home directories). The volumes can grow without bounds, so it was felt that the ZFS file system should be used for each volume. The operating system itself need not be on a ZFS volume.
All volumes including the operating system should be engineered in such a way to ensure the best data protection is afforded in the event of local disk failure. It is expected that no more than 1 hours worth of data will be lost. The volumes required are as follows: uni0 with mount point /users/ug& quota of 200G. uni1 with mount point /users/pg& quota of 200G. uni2 with mount point /users/deleted& reservation of 100G. uni3 with mount point /users/staff& reservation of 100G. uni4 with mount point /users/guest & reservation of 250G. Given the above your task is as follows define a strategy for how you will ensure the volumes outlined above are provisioned whilst ensuring there data protection. Document this accordingly along with a suitable rationale for your design.
Part 3: Implementing the Filesystem
Given the strategy defined in part two, your job is to implement the storage system. To do this install the latest version of Ubuntu Server on a virtual machine. You will need to ensure the networking is bridged and the root portioning is managed appropriately.
You will need to add additional virtual disks to meet the storage needs above. Install the ZFS package and configure it such that pools of storage are created to meet the above requirements including redundancy and backups. To achieve this use the mirroring and snapshot features of ZFS. Demonstrates your filesystem working and provide any insights gained along the way. Part 4: File System Management with Scripts
Now that you have a plan for the storage there are a few house keeping matters to take care of because users tend to be somewhat liberal with their storage. Write a script to make sure that user home directories are owned and only accessible by the owner. The script can assume home directories are descendants of /users. Finally write a script which takes as an argument the filesystem name e.g. /home and looks for objects which do not belong i.e. end with the extension a.mp3 b.aac c.mp4 d..mov e..avi f..vid When these files are found a summary should be produced including where they are and the size.
The script should also remove the files. Demonstrate each script working in your submission and document the source code and any insights gained along the way. You should submit your assessment in a single word document which contains all components of your assignment. Use screenshots to provide evidence and details of the work you have done to compliment your written answers. You should reference where appropriate using an approve referencing style to support your work.