Adduser-1.0 by Craig Hagan (Modified a lot by Chris Cappuccio)
--------------------------------------------------------------
craig@opine.cs.umass.edu -/- chris@slinky.cs.umass.edu

Yet another quick and dirty hack, like the original (not error tested
very much, it should work pretty good unless you fuck with it.)

For SunOS 4 & Linux (I know it runs OK under Linux, from the looks of it
it should run with no problems on a Sun, who knows)

What does it do?

0- Finds out if you are root, looks for shadow password files (we don't
   support shadow, bitch if it's found), looks for SunOS NIS, and maybe
   it does a few other things I forgot about... (chris)
1- Asks you for username and information on your new user
2- Makes the user's home directory and entry in password file
3- Gives them ownership of their home directory.

And, added by Patrick Volkerding (volkerdi@ftp.cdrom.com):

4- Adds the stuff in /etc/skel to the user's new home directory. The new
   files will be owned by the new user, but existing files will be left alone.

------------

In this directory should be:

README	  :  this file
Makefile  :  the makefile to make adduser
adduser.c :  the source code for our magic utility
xfdes.c	  :  the source for fcrypt()
xfdes.h   :  structures/defines for xfdes.c

type make adduser to make the standard version, make nocrypt
if you have no crypt() in your libc (strange things can happen
when politics are involved)

Modifications since craig's adduser (chris)
-----------------------------------

0- Cleaned up that messy code to see if a username
   was already in use. Getpw functions are pretty nice :)
1- Added a small routine to check for unused uid's, so you
   don't have to bitch around with passwd and find one yourself.
2- Made it look nicer
3- Added routines to find out if we are root, if shadow password
   files are present, and also to check for yellow pages (/var/yp)
   and if found remind the person to make passwd under /var/yp
   after the user is made.
4- Took out crypt.o that pretty much didn't work if you had no libufc
   and put in a GPLed fcrypt from Killer Cracker.
5- Fixed Makefile and made changes to adduser for people who are using
   the included fcrypt instead of libc crypt. (-DNO_CRYPT)

What would I like but never get around to doing  (chris)
-----------------------------------------------

0- How about some command line options that match those of useradd
   that comes with shadow?
1- Some error checking, please. Usernames can't begin with -,
   can't be more then 8 chars long, etc..etc..etc... Change little
   things so that they match unix standards (if the idiot who invoked
   adduser gave a shell 400 characters long, it will ruin /etc/passwd
   cuz it can only be like 32 chars long,  blah..)
2- A moduser utility like usermod that comes with shadow...
3- /usr/skel may hold valueable files, I don't use it so I didn't
   include it.
