Assignment for Week 5: User Account Management
Description
User account management has both technical and social aspects.
In this assignment your group will create accounts on your system
for all the other class members.
What you need to do
- Create accounts on one or both of your agent instances for all
the other people in the class (including me). Each account should
be accessible to only its owner using the owner's provided public
ssh identity key. You can create accounts by hand or use Puppet
"user" resources, and other language features may make it easier to
create multiple accounts with less Puppet code.
- Decide what kinds of things you want to support for user
accounts, like which shells you will provide default configurations
for. Make sure that each account starts with a working shell and
shell configuration. Other optional things you may want to consider
as part of setting up accounts, depending on your operating system's
support for such features, are:
- Disk quotas
- Resource limits (for memory and CPU usage)
- Password expiration
- Additional default configuration files for commonly-used
software like mail readers, web browsers, X window system clients,
etc.
- Log in to each of your accounts provided by all the other
groups. If your account doesn't initially seem to work, be sure to
contact the other group to try to get things fixed.
What to turn in
- Each of you individually needs to provide me with a summary
report of the status of your accounts on instances run by all the
other groups. Did you successfully arrange with the system
administrators to get an account, and were you able to log in to it
successfully? Note: If you do not provide a report by the due
date, you individually will receive 0 points for this portion of the
assignment.
Note that this item is something where I want you all to do
something individually and turn in something individually. However,
your group will be evaluated on how many other people in the class
can successfully access their accounts on your system.
- Your group should also check log information to determine which
accounts were accessed by the due date and provide a list showing
the status of all the accounts you created. This will provide
a useful cross-check for the individual reports.
Material for all of the above should be checked into your team
git repository by class time on Monday, July 29. For an individual
team member to receive credit for the assignment, they must have
made at least one commit.
Class presentation/discussion
On Monday, July 29 we will take some time in class to have each
group speak briefly about their experience with this assignment.
Discuss how you arranged to set up accounts for other users on your
system, and how those choices worked for you -- did everyone get
accounts on your system who was supposed to? What problems did you
encounter in creating accounts and how did you resolve them?
Evaluation
Your team's grade will be based on the proportion of
people who report they are able to access their account on your
system -- to get all 10 points, everyone who says they tried
to set up an account on your system will also have to say they were
able to log in to it successfully and that it was usable. If
someone says they tried to get an account but couldn't, or the
account was unusable, that will count against your group's point
total. (On the other hand, people who don't report at all won't
count against your total.)
Steve VanDevender