@chapter(Accounts)

@section(If You Are a User)

If you don't already have an Athena account, you should get one @i(first).
Athena will give accounts to:
@itemize[any undergraduate

a graduate taking an Athena-sponsored course

anybody working on an Athena development project

any full-time MIT faculty member]

Call the Athena Accounts Administrator at (25)3-1325 for details
on how to get an Athena account.

You take the trouble to get an "Athena account" first because then you will
be known to the whole Athena system, @i(not just the individual workstation).
With an Athena account, 
you will have a username on one or more timesharing systems, you
can transfer files, and you can send and receive mail.  Also, you
get the Athena account @i(first) so that any account made subsequently on
that workstation (or anywhere else) is cloned from the Athena
account and therefore recognized by the Athena network.

Once you have the Athena account, go to whomever is acting as the local
site system manager (anybody with "root" privileges).  Tell them
your Athena account username.  They can create your workstation account.

The account made for you on the workstation will:
@itemize[have the same username as the Athena account

the same password

the same group memberships

the same personal data you may have specified with the @i(chfn) and @i(chsh)
commands.
]

If  you change your password on the workstation with @i(passwd), the
change will @i(not) be propogated back to the Athena timesharing machines
and vice versa.  This is different from the "change it here and it changes
everywhere" password rule on the Athena timesharing machines.

Your home directory on the workstation is under:
@format[
/site/mit/@i(username)
]
This directory will have the same small repetoire of starter files
(@i(welcome, .login, .cshrc), etc.) as come with any new Athena
account.

You will have no disk space quota on the workstation.  However, the
user filespace storage available on the workstation is quite small:
currently (May 1, 1986) about 5.25 meg (5225 kbytes).
@foot[A newer version of the workstation system in development
will have more space.]  This is only about twice the default disk
space quota for project accounts on timesharing machines (2.5 meg,
2500 kbytes). Everybody
must share this small space.  It will fill up
very quickly and you will start to get "/site partition full"
messages.

Because of the small user filespace available, we  recommend
that you use your timesharing machine account as your main file
repository, copying only the files that you need to the workstation
during each session, recopying them to the timesharing system at
session end, and deleting them from the workstation.  The
procedure is described in the chapter "File Transfer and Backup."

When the @p(user RVD) system is set up, you will appear to have
ample filespace on your workstation and you can drop the timesharing file
copy strategy for everything but file backups.

Workstation files are @b(not backed up).  You must do this yourself.

Because the workstation model we now employ relies heavily upon
you having a timesharing account for file storage and mail, the
first thing you should do with your new workstation account is
create all the set-ups that will make it easy to @i(rlogin) to
the timesharing system, get your DISPLAY environment variable
set so that the X window system works across the network,
and permit @i(rcp) file transfer.  This is described in the next
chapter.


@section(For System Managers:  How to Make Workstation Accounts)


@subsection(Policy)
You make your own accounts on your workstation.  Since development cluster 
workstations are "private" workstations, you can give anybody you
like an account:  we don't care about what we have no hope of
controlling.

However, the easiest way to make an account on a workstation is to @b(copy)
an Athena account with the @i(/etc/athena/adduser) script.
A Unix account's uniqueness os guarded by three things:  a username,
a numeric uid (user id), and an encrypted password.  If you
don't have the same three on the workstation as you have on Athena,
you aren't the same person.  You can't @i(rlogin) to your other
Athena accounts, transfer files, or send/receive mail.
We recommended, therefore, that when people come to you asking for an account,
that you tell them to  get an Athena account @i(first).  Then you
can use the convenient @i(adduser) script to add them to the workstation,
your users will all be members of the Athena community,
and you won't get confused people who don't understand when they
can't @i(rlogin) to their timesharing machine when they have the same
username on both (but not the same uid).

@subsection(Running Adduser)

You must be user root to run @i(adduser).  Su to root:
@example[% su
Password: @i(rootpassword)
#]
and type:
@example[# /etc/athena/adduser @i(athenausername)]

Replace @i(athenausername) with whatever that user's Athena username is.
At thispoint, the @i(adduser) script goes out over the network
to the system that holds the main Athena user database.  It finds the
username and its password, primary group, default @i(chfn) and
@i(chsh) information.  It then:
@enumerate[
Creates a line for the user in the workstation's @i(/etc/passwd) file.
@i(/etc/passwd) defines who has an account on a Unix machine.
To learn more about it, type: @i(man 5 passwd) and @i(man adduser).

Creates a home directory under @i(/site/mit) and makes the user its owner.

Copies a starter set of files from the @i(/usr/prototype_user)
directory.]

It takes a little time.  "User added" denotes success. @foot(Note:
as of May 1, you could fail with the message: "/tmp/adduser: no such
file or directory."  @i(cd) to @i(/site) and @i(mkdir tmp) and the
problem should be fixed.)

If the network or the user database machine is down, it won't work.
Try again later.  If the user is not in the database, you will
see:
@example[Failed to retrieve data for user 'username'
Cannot find user information]
In this case, you should send the person to Athena to get an
Athena account and try again after they have one.

If Athena won't give the person an account (he/she doesn't fall into one of
the four categories listed in the previous section) you can still make them
an account "manually" by following the three steps enumerated
above.  You must, however, take care to @i(avoid conflict with
Athena usernames and uids).  Please follow these conventions:
@itemize[Pick a username suffixed with "_l" (underbar followed by
a single letter) such as @i(john_o)

Pick a uid out of Athena's assignment range.  Use a number between
30000 and 32767.]
See @i(man 5 passwd) and @i(man adduser) for more information on
adding non-Athena users "manually."  

Athena will not take requests to add people with specific uids:  get
your Athena account first.

@subsection(Routine Maintenance)

You must act as "account administrator" on your local system.
The most common problem people have is forgetting their password.
There is no way to discover a user's password.  Instead, you
fix the problem by su'ing to root and resetting the password to
what the user tells you:
@example[% su
Password: @i(rootpassword)
# passwd @i(username)
New password: @i(newpassword)
Retype new password: @I(newpassword)
# exit
%
]

Passwords changed on a workstation are @i(not) propogated back to
Athena timesharing machines.



