1,885
edits
Changes
Created page with '== OPS235 Assignment 1 - Fall 2011 - Chris Tylers' Section Only == '''This version of the assignment applies only to section B during Fall 2011, taught by Chris Tyler.''' Weigh…'
== OPS235 Assignment 1 - Fall 2011 - Chris Tylers' Section Only ==
'''This version of the assignment applies only to section B during Fall 2011, taught by Chris Tyler.'''
Weight: 5% of the overall grade.
=== Purpose and Goal ===
This assignment provides an opportunity to learn some additional system administration concepts and skills.
In this assignment, you will be creating a script and a corresponding system configuration that will allow you to easily manage users.
=== Before You Begin ===
Make a full and complete backup of any configuration file that you're going to change. It's a good idea to fully back-up your virtual machines as well as the <code>/etc</code> directory of your f13host system.
You may choose to create the script and system configuration on any of your virtual machines. '''Do not''' use your f13host.
=== The Script ===
Create a script named <code>newuser</code> with these qualities:
# The script is normally run with three arguments: a username, a password, and a role. The username can be any valid username not already in use on the system; the password can be any valid password; and the role must be one of "user", "software-manager", "backup-manager", "vm-manager", "storage-manager", or "administrator".
# When the script is run, it must create the requested user account with the requested password and role settings.
# The role values correspond to these capabilities:
#* user - no special abilities
#* software-manager - can use the <code>yum</code> and <code>rpm</code> commands via sudo without a password
#* backup-manager - can use the <code>tar</code> command as root via sudo without a password
#* vm-manager - can use the <code>virsh</code> command as root via sudo without a password
#* storage-manager - can use all of the LVM commands plus <code>fdisk</code>, <code>mkdir</code>, and <code>mkfs</code> commands as root without a password, and can edit the <code>/etc/fstab</code> file as a regular user
#* administrator - can run any command as root via sudo '''with''' their regular user password
# Ensure that the root user can run the script without taking any special steps. For example, the root user should be able to type this command regardless of which directory they are in: <code>newuser jdoe 123abc vm-manager</code>
=== The System Configuration ===
Configure your system to work with the above script (e.g., group configuration). In addition:
# A compressed backup of your <code>/etc</code> directory is made every hour from 8 am to 6 pm, Tuesday through Saturday. The compressed backup is stored in the file <code>/var/backup/etc.tgz</code>
=== Testing Your Configuration ===
'''Record the commands used to perform this testing as well as the output generated.'''
Create some test user accounts using your script. Perform the following tasks to ensure that the various roles work correctly:
# Add the RPMFusion yum repositories to your system. Test that you can install software from RPMFusion using an account with the "software-manager" role.
# Create a backup of <code>/home</code> using an account with the "backup-manager" role.
# Create a new virtual machine and install one of the following versions of Linux in the virtual machine:
#* If the last digit of your student ID is 0, install Ubuntu
#* If the last digit of your student ID is 1, install Kubuntu
#* If the last digit of your student ID is 2, install Edubuntu
#* If the last digit of your student ID is 3, install Lubuntu
#* If the last digit of your student ID is 4, install Fedora 16
#* If the last digit of your student ID is 5, install Linux Mint
#* If the last digit of your student ID is 6, install OpenSUSE
#* If the last digit of your student ID is 7, install Debian
#* If the last digit of your student ID is 9, install CentOS
# Confirm that a user account with the "vm-manager" role can start and stop the virtual machine into which you have installed the other version of Linux.
# Add a virtual disk to your VM. Using a user account with the "storage-manager" role, partition that disk, add it to the existing PV, and create a new logical volume which '''any''' user can mount or unmount at the <code>/assignment1</code> mountpoint.
# Confirm that the "administrator" role functions as expected.
# Confirm that the backups of the <code>/etc</code> directory as being correctly performed.
=== Submitting your Assignment ===
The assignment will be marked in person on Friday, November 18. Come prepared with your disk pack fully configured to the assignment specification.
On November 18 you will be given a set of tasks to perform to prove that your system is configured correctly. The evidence of successful completion of those tasks will be used to assign your mark.
== Tips ==
# Read the manpages for:
#* sudo
#* visudo
#* cron
#* yum
#* rpm
# Use user groups to manage the account roles.
'''This version of the assignment applies only to section B during Fall 2011, taught by Chris Tyler.'''
Weight: 5% of the overall grade.
=== Purpose and Goal ===
This assignment provides an opportunity to learn some additional system administration concepts and skills.
In this assignment, you will be creating a script and a corresponding system configuration that will allow you to easily manage users.
=== Before You Begin ===
Make a full and complete backup of any configuration file that you're going to change. It's a good idea to fully back-up your virtual machines as well as the <code>/etc</code> directory of your f13host system.
You may choose to create the script and system configuration on any of your virtual machines. '''Do not''' use your f13host.
=== The Script ===
Create a script named <code>newuser</code> with these qualities:
# The script is normally run with three arguments: a username, a password, and a role. The username can be any valid username not already in use on the system; the password can be any valid password; and the role must be one of "user", "software-manager", "backup-manager", "vm-manager", "storage-manager", or "administrator".
# When the script is run, it must create the requested user account with the requested password and role settings.
# The role values correspond to these capabilities:
#* user - no special abilities
#* software-manager - can use the <code>yum</code> and <code>rpm</code> commands via sudo without a password
#* backup-manager - can use the <code>tar</code> command as root via sudo without a password
#* vm-manager - can use the <code>virsh</code> command as root via sudo without a password
#* storage-manager - can use all of the LVM commands plus <code>fdisk</code>, <code>mkdir</code>, and <code>mkfs</code> commands as root without a password, and can edit the <code>/etc/fstab</code> file as a regular user
#* administrator - can run any command as root via sudo '''with''' their regular user password
# Ensure that the root user can run the script without taking any special steps. For example, the root user should be able to type this command regardless of which directory they are in: <code>newuser jdoe 123abc vm-manager</code>
=== The System Configuration ===
Configure your system to work with the above script (e.g., group configuration). In addition:
# A compressed backup of your <code>/etc</code> directory is made every hour from 8 am to 6 pm, Tuesday through Saturday. The compressed backup is stored in the file <code>/var/backup/etc.tgz</code>
=== Testing Your Configuration ===
'''Record the commands used to perform this testing as well as the output generated.'''
Create some test user accounts using your script. Perform the following tasks to ensure that the various roles work correctly:
# Add the RPMFusion yum repositories to your system. Test that you can install software from RPMFusion using an account with the "software-manager" role.
# Create a backup of <code>/home</code> using an account with the "backup-manager" role.
# Create a new virtual machine and install one of the following versions of Linux in the virtual machine:
#* If the last digit of your student ID is 0, install Ubuntu
#* If the last digit of your student ID is 1, install Kubuntu
#* If the last digit of your student ID is 2, install Edubuntu
#* If the last digit of your student ID is 3, install Lubuntu
#* If the last digit of your student ID is 4, install Fedora 16
#* If the last digit of your student ID is 5, install Linux Mint
#* If the last digit of your student ID is 6, install OpenSUSE
#* If the last digit of your student ID is 7, install Debian
#* If the last digit of your student ID is 9, install CentOS
# Confirm that a user account with the "vm-manager" role can start and stop the virtual machine into which you have installed the other version of Linux.
# Add a virtual disk to your VM. Using a user account with the "storage-manager" role, partition that disk, add it to the existing PV, and create a new logical volume which '''any''' user can mount or unmount at the <code>/assignment1</code> mountpoint.
# Confirm that the "administrator" role functions as expected.
# Confirm that the backups of the <code>/etc</code> directory as being correctly performed.
=== Submitting your Assignment ===
The assignment will be marked in person on Friday, November 18. Come prepared with your disk pack fully configured to the assignment specification.
On November 18 you will be given a set of tasks to perform to prove that your system is configured correctly. The evidence of successful completion of those tasks will be used to assign your mark.
== Tips ==
# Read the manpages for:
#* sudo
#* visudo
#* cron
#* yum
#* rpm
# Use user groups to manage the account roles.