v08i041: Account creation/manipulation program, Part01/08

sources-request at mirror.UUCP sources-request at mirror.UUCP
Sat Feb 7 07:07:17 AEST 1987


Submitted by: Kyle Jones <xanth!kyle>
Mod.sources: Volume 8, Issue 41
Archive-name: mcp/Part01

This is mcp, an account creation/manipulation program.

[  MCP is pretty neat, and seems like it can be real useful for larger
   sites, after you adjust the site-specific stuff.  --r$  ]

#! /bin/sh
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
# If all goes well, you will see the message "End of archive 1 (of 8)."
# Contents:  man help src misc Copyright README Makefile Installation
#   Futuribles PATCHED help/Copyright help/Makefile help/add-alias.n
#   help/add-class.n help/add-group.n help/add-range.n help/add-sig.n
#   help/add-to-alias.n help/add-to-class.n help/add-to-group.n
#   help/add-to-sig.n help/add-user.n help/add-vig.n help/alias.n
#   help/bind-class.n help/bind-group.n help/bind-sig.n
#   help/checkpoint-changes.n help/class.n help/cryo.n help/deadbeat.n
#   help/describe-alias.n help/describe-changes.n
#   help/describe-class.n help/describe-command.n
#   help/describe-cryos.n help/describe-deadbeats.n
#   help/describe-group.n help/describe-inactives.n
#   help/describe-range.n help/describe-sig.n help/describe-user.n
#   help/disable-user.n help/exit-mcp.n help/freeze-deadbeats.n
#   help/freeze-inactives.n help/freeze-user.n help/gid.n
#   help/inactive.n help/list-aliases.n help/list-classes.n
#   help/list-commands.n help/list-cryos.n help/list-deadbeats.n
#   help/list-groups.n help/list-inactives.n help/list-ranges.n
#   help/list-sigs.n help/list-users.n help/list-vigs.n
#   help/pause-mcp.n
# Wrapped by rs at mirror on Fri Feb  6 15:55:41 1987
PATH=/bin:/usr/bin:/usr/ucb; export PATH
if test ! -d 'man' ; then
    echo shar: creating directory "'man'"
    mkdir 'man'
fi
if test ! -d 'help' ; then
    echo shar: creating directory "'help'"
    mkdir 'help'
fi
if test ! -d 'src' ; then
    echo shar: creating directory "'src'"
    mkdir 'src'
fi
if test ! -d 'misc' ; then
    echo shar: creating directory "'misc'"
    mkdir 'misc'
fi
echo shar: extracting "'Copyright'" '(385 characters)'
if test -f 'Copyright' ; then 
  echo shar: will not over-write existing file "'Copyright'"
else
sed 's/^X//' >Copyright <<'@//E*O*F Copyright//'
X(c) 1986 by Kyle E. Jones
X
XAll sources and documentation of this mcp distribution are
Xincluded in this copyright, but permission is granted to
Xcopy and redistribute any part of this distribution, provided
Xthat this notice is a conspicuous part of the redistribution,
Xand that no part of this distribution is sold.
X
XThis software is distributed 'as is', without warranties of any kind.
@//E*O*F Copyright//
if test 385 -ne "`wc -c <'Copyright'`"; then
    echo shar: error transmitting "'Copyright'" '(should have been 385 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'README'" '(926 characters)'
if test -f 'README' ; then 
  echo shar: will not over-write existing file "'README'"
else
sed 's/^X//' >README <<'@//E*O*F README//'
XMcp was written and tested under 4.2 and 4.3 BSD UNIX and Sun 4.2 Rel 3.0
XUNIX.  Mcp should be lint-free under all these systems unless I let
Xsomething slip by at the last minute.  Taking care of "possible pointer
Xalignment problems" really paid off when I had to port mcp from a VAX to a
XSun.  Many other things we tried to port died in agony.  I mention this only
Xas a warning to those who wish to make improvements.
X
XNote to Sun users:
X	Mcp was never intended to run under the Yellow Pages!
X	I have not even considered the ramifications
X	of writing code to deal with this, because we chose not
X	to use the Yellow Pages.
X
XInstallation instructions are in the 'Installation' file.  As far I can
Xtell, everything works.  If you're convinced I'm wrong, send bug reports
Xto my e-mail address.
X
Xkyle jones
XUUCP : kyle at xanth.uucp	 -or-  ...!seismo!decuac!edison!xanth!kyle
XCSNET: kyle at odu.csnet
XARPA : kyle%odu.csnet at relay.cs.net
@//E*O*F README//
if test 926 -ne "`wc -c <'README'`"; then
    echo shar: error transmitting "'README'" '(should have been 926 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Makefile'" '(1256 characters)'
if test -f 'Makefile' ; then 
  echo shar: will not over-write existing file "'Makefile'"
else
sed 's/^X//' >Makefile <<'@//E*O*F Makefile//'
Xall:
X	(cd man; time make -k)
X	(cd help; time make -k)
X	(cd src; time make -k depend mcp)
X
Xinstall:	install-man install-help install-mcp
X
Xinstall-man:
X	@echo Manuals...
X	(cd man; time make -k install)
X	/etc/catman -w
Xinstall-help:
X	@echo Help pages...
X	(cd help; time make -k install)
Xinstall-mcp:
X	@echo Mcp...
X	(cd src; time make -k install)
X
Xclean:
X	(cd man; make clean)
X	(cd help; make clean)
X	(cd src; make clean)
X
Xtar:
X	@echo Making tar file of mcp paraphernalia, etc....
X	@tar cvpf MCP.tar Copyright man/Copyright src/Copyright\
X		help/Copyright README Makefile Installation Futuribles\
X		src/Lint src/nitpick src/*.c src/*.h src/Makefile\
X		man/Makefile man/*.n\
X		help/Makefile help/*.n\
X		misc
X
Xshar:
X	@echo Making shars of mcp paraphernalia...
X	@echo 'mkdir man help misc src src/Lint' > MCP.1
X	@shar -cv -p X Copyright man/Copyright src/Copyright\
X		help/Copyright README Makefile Installation Futuribles\
X		man/Makefile man/*.n >> MCP.1
X	@shar -cv -p X help/Makefile help/*.n misc/* > MCP.2
X	@shar -cv -p X src/[a-b]*.c > MCP.3
X	@shar -cv -p X src/[c]*.c > MCP.4
X	@shar -cv -p X src/[d-f]*.c > MCP.5
X	@shar -cv -p X src/[g-l]*.c > MCP.6
X	@shar -cv -p X src/[m-t]*.c > MCP.7
X	@shar -cv -p X src/[u-z]*.c src/*.h src/Makefile src/nitpick > MCP.8
@//E*O*F Makefile//
if test 1256 -ne "`wc -c <'Makefile'`"; then
    echo shar: error transmitting "'Makefile'" '(should have been 1256 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Installation'" '(1352 characters)'
if test -f 'Installation' ; then 
  echo shar: will not over-write existing file "'Installation'"
else
sed 's/^X//' >Installation <<'@//E*O*F Installation//'
X	--- Mcp Installation Instructions ---
X
X1.  Edit sysdep.h in the src directory to configure mcp for your system.
X    This header file contains comments explaining every definition therein.
X
X2.  Edit the Makefiles in the help, man, and src directories, to make
X    sure things will be installed in the right places.  The Makefiles contain
X    comments which indicate definitions that may need changing.
X
X3.  As the super-user and in the parent directory of the help, man, and src
X    directories, type 'make'.  This will take 10 to 20 minutes to complete.
X
X4.  Make sure that all the installation directories and account file
X    directories (from sysdep.h) exist.  DON'T create any of the mcp
X    specific account files; mcp will take care of that.
X
X5.  Now type 'make install' and everything will be put into place.
X
X6.  As the super-user type 'mcp -B' and mcp will build its data files.  At
X    this point everything is ready for your use.  The next step is to read
X    the mcp manual page.
X
X	Note:	The manuals and help pages are designed to reflect changes
X		in mcp's configuration (src/sysdep.h).  So if you reconfigure
X		mcp, be sure to remake and install the manuals and help pages.
X		There are make dependencies that will take care of this,
X		Just 'make install' in this directory or in both the help
X		and man directories.
X	Enjoy,
X		Kyle Jones
@//E*O*F Installation//
if test 1352 -ne "`wc -c <'Installation'`"; then
    echo shar: error transmitting "'Installation'" '(should have been 1352 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Futuribles'" '(1117 characters)'
if test -f 'Futuribles' ; then 
  echo shar: will not over-write existing file "'Futuribles'"
else
sed 's/^X//' >Futuribles <<'@//E*O*F Futuribles//'
X	-- Future Improvements --
X
XThe whole program needs to be re-written (again).  Mcp's development
Xwas driven by need, rather than any concrete design specifications
Xand it shows.  Here are a few of the local outcries.
X
X1.  Allow default login names to be chiseled from the real names
X    by a set of rewriting rules, much in the way that sendmail rewrites
X    addresses.  This would be much better than inflicting ODU'isms
X    on other sites.
X
X2.  Get rid of the hard coded cryos, deadbeats and inactives in favor
X    of a more generalized database retrieval system.
X
X3.  A facility to log who made what changes while using mcp (maybe).
X    I see no real use for such a feature except to facilitate finger-pointing
X    when accounts vanish.  Nonetheless, such a feature was suggested and
X    if this is suggested often enough, it will be implemented.
X
X4.  Have mcp use /etc/termcap instead of making assumptions about
X    the few(?) capabilities that it uses (maybe).
X
X5.  Junk or rewrite the internal help facilities (probably).  I can't
X    accurately judge their usefulness since I know what mcp's going to
X    do.
@//E*O*F Futuribles//
if test 1117 -ne "`wc -c <'Futuribles'`"; then
    echo shar: error transmitting "'Futuribles'" '(should have been 1117 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'PATCHED'" '(2231 characters)'
if test -f 'PATCHED' ; then 
  echo shar: will not over-write existing file "'PATCHED'"
else
sed 's/^X//' >PATCHED <<'@//E*O*F PATCHED//'
XSince I first put MCP in the backlog, two patches arrived.  I applied
Xthem to the source before sending it out on mod.sources on Feburary 6.
XHere is the header from the two patch files, describing the changes
Xthey made.
X	/Rich $alz, moderator
X-------------------------------------------------------------------------------
X
XThis patch (#1) makes the following changes in the MCP 1.0 distribution.
X
X1)   Fixed bug in update-user command.  Mcp would sometimes
X     segmentation fault or update the wrong user's attributes
X     iff changing the login name and any other attribute
X     simultaneously. (thanx to tadguy at odu.edu)
X
X2)   Fixed a misfeature in update-user.  When changing a user's home
X     directory to a directory that already exists, mcp would ask an
X     ambiguous and unnecessary question.
X
X3)   Fixed bug in accessing the /usr/adm/lastlog.  Users with no
X     corresponding record in /usr/adm/lastlog (uid too high) were
X     listed with ridiculous last login times.
X
X4)   Fixed mcp startup diagnostic bug.  If mcp was taking its input from
X     a pipe, it would report that it was reading from a pipe AND a file.
X
X5)   A -v command line option (prints the version and patchlevel)
X     has been added and the mcp manual page has been updated to
X     reflect this.
X
X-------------------------------------------------------------------------------
X
XThis patch (#2) makes the following changes in the MCP 1.0 distribution.
XThis patch will not work if patch #1 has not been applied.
X
X1)	Mcp now will compile if SENDMAIL is not defined.  (oops?)
X2)	Fixes message function call with incorrect number of args in upduser.
X3) 	Mcp nows looks to see if the home directory exists before
X	asking whether you want to remove it.
X4)	Fixes misfeature when setting the expiration date of classes and
X	sigs that were originally set to never expire.
X5) 	Adds showtag()/erasetag() goodies (developed for an independent tenex
X	library) to mcp's completion routines.
X6)	Fixes a couple of typos in the load-file help page.
X7)	Added documentation for a subtle feature concerning the group
X	ownership of newly created home directories.
X
Xkyle jones, odu computer science
XARPA: kyle at xanth.cs.odu.edu		CSNET: kyle at odu.csnet
XUUCP: kyle at xanth.uucp
@//E*O*F PATCHED//
if test 2231 -ne "`wc -c <'PATCHED'`"; then
    echo shar: error transmitting "'PATCHED'" '(should have been 2231 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/Copyright'" '(385 characters)'
if test -f 'help/Copyright' ; then 
  echo shar: will not over-write existing file "'help/Copyright'"
else
sed 's/^X//' >help/Copyright <<'@//E*O*F help/Copyright//'
X(c) 1986 by Kyle E. Jones
X
XAll sources and documentation of this mcp distribution are
Xincluded in this copyright, but permission is granted to
Xcopy and redistribute any part of this distribution, provided
Xthat this notice is a conspicuous part of the redistribution,
Xand that no part of this distribution is sold.
X
XThis software is distributed 'as is', without warranties of any kind.
@//E*O*F help/Copyright//
if test 385 -ne "`wc -c <'help/Copyright'`"; then
    echo shar: error transmitting "'help/Copyright'" '(should have been 385 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/Makefile'" '(3251 characters)'
if test -f 'help/Makefile' ; then 
  echo shar: will not over-write existing file "'help/Makefile'"
else
sed 's/^X//' >help/Makefile <<'@//E*O*F help/Makefile//'
XHELPDIR = /usr/mcphelp
XCPP     = /lib/cpp
X
XPAGES =\
X	add-alias.k		add-to-alias.k\
X	bind-class.k		bind-group.k		bind-sig.k\
X	describe-alias.k	list-aliases.k\
X	remove-alias.k		remove-from-alias.k	update-alias.k\
X	unbind-class.k		unbind-group.k		unbind-sig.k\
X	add-class.k           add-group.k           add-range.k\
X	add-sig.k             add-to-class.k        add-to-group.k\
X	add-to-sig.k          add-user.k            add-vig.k\
X	checkpoint-changes.k  describe-changes.k    describe-class.k\
X	describe-command.k    describe-cryos.k      describe-deadbeats.k\
X	describe-group.k      describe-inactives.k  describe-range.k\
X	describe-sig.k        describe-user.k       disable-user.k\
X	exit-mcp.k            freeze-deadbeats.k    freeze-inactives.k\
X	freeze-user.k         list-classes.k        list-commands.k\
X	list-cryos.k          list-deadbeats.k      list-groups.k\
X	list-inactives.k      list-ranges.k         list-sigs.k\
X	list-users.k          list-vigs.k           load-file.k\
X	pause-mcp.k           remove-class.k        remove-cryos.k\
X	remove-from-class.k   remove-from-group.k   remove-from-sig.k\
X	remove-group.k        remove-range.k        remove-sig.k\
X	remove-user.k         remove-vig.k          save-and-exit.k\
X	save-changes.k        shell-escape.k        update-class.k\
X	update-group.k        update-range.k        update-sig.k\
X	update-user.k		what-is.k\
X	alias.k cryo.k class.k deadbeat.k gid.k inactive.k range.k sig.k\
X	uid.k vig.k
X
XMATTES	=\
X	add-alias.n		add-to-alias.n\
X	bind-class.n		bind-group.n		bind-sig.n\
X	describe-alias.n	list-aliases.n\
X	remove-alias.n		remove-from-alias.n	update-alias.n\
X	unbind-class.n		unbind-group.n		unbind-sig.n\
X	add-class.n           add-group.n           add-range.n\
X	add-sig.n             add-to-class.n        add-to-group.n\
X	add-to-sig.n          add-user.n            add-vig.n\
X	checkpoint-changes.n  describe-changes.n    describe-class.n\
X	describe-command.n    describe-cryos.n      describe-deadbeats.n\
X	describe-group.n      describe-inactives.n  describe-range.n\
X	describe-sig.n        describe-user.n       disable-user.n\
X	exit-mcp.n            freeze-deadbeats.n    freeze-inactives.n\
X	freeze-user.n         list-classes.n        list-commands.n\
X	list-cryos.n          list-deadbeats.n      list-groups.n\
X	list-inactives.n      list-ranges.n         list-sigs.n\
X	list-users.n          list-vigs.n           load-file.n\
X	pause-mcp.n           remove-class.n        remove-cryos.n\
X	remove-from-class.n   remove-from-group.n   remove-from-sig.n\
X	remove-group.n        remove-range.n        remove-sig.n\
X	remove-user.n         remove-vig.n          save-and-exit.n\
X	save-changes.n        shell-escape.n        update-class.n\
X	update-group.n        update-range.n        update-sig.n\
X	update-user.n		what-is.n\
X	alias.n cryo.n class.n deadbeat.n gid.n inactive.n range.n sig.n\
X	uid.n vig.n
X
Xall:	$(PAGES)
X
X$(PAGES):	Defs
X
XDefs:	../src/sysdep.h
X	sed -e 's/"//g' -e "s/[	 ][ 	]*/ /g" ../src/sysdep.h > Defs
X
Xinstall:	all
X	@echo Installing help pages...
X	@cp $(PAGES) $(HELPDIR)
X
Xclean:
X	@echo Removing nroff output and other debris...
X	@rm -f $(PAGES) Defs
X
Xview:	all
X	@$$PAGER $(PAGES)
X
X.n.k:	; cat Defs $< | $(CPP) -P | nroff | cat -s > $@
X
X.SUFFIXES:	.n .k
@//E*O*F help/Makefile//
if test 3251 -ne "`wc -c <'help/Makefile'`"; then
    echo shar: error transmitting "'help/Makefile'" '(should have been 3251 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-alias.n'" '(234 characters)'
if test -f 'help/add-alias.n' ; then 
  echo shar: will not over-write existing file "'help/add-alias.n'"
else
sed 's/^X//' >help/add-alias.n <<'@//E*O*F help/add-alias.n//'
X.ce
X.ul
Xadd-alias <name>
X.sp
X.ul
Xadd-alias
Xcreates a new alias to which addresses may be subsequently
Xadded via \fIadd-to-alias\fR.  The newly created alias may also be
Xbound to classes, sig, and groups
Xwith the \fIbind-\fR commands.
@//E*O*F help/add-alias.n//
if test 234 -ne "`wc -c <'help/add-alias.n'`"; then
    echo shar: error transmitting "'help/add-alias.n'" '(should have been 234 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-class.n'" '(754 characters)'
if test -f 'help/add-class.n' ; then 
  echo shar: will not over-write existing file "'help/add-class.n'"
else
sed 's/^X//' >help/add-class.n <<'@//E*O*F help/add-class.n//'
X.ce
X.ul
Xadd-class <name>
X.sp
X.ul
Xadd-class
Xcreates a new class to which users may be subsequently
Xadded via \fIadd-to-class\fR.  Mcp will allow you to set
Xan expiration date for the class if you wish.  Note that when
Xa class expires nothing is done about it; the expiration dates are
Xjust handy to have.
XFrom the shell \fImcp -c\fR will list
Xexpired classes, among other things.
X.sp
XAfter entering the expiration date, mcp plunks you down in
Xyour favorite editor so you can write a class description.
XWhen you have created the description, save it, and you will
Xbe returned to mcp.  The description length must not exceed
XDESCSIZE characters.  If your description is too long mcp will
Xcomplain and return you to the editor to pare down your
Xdescription.
@//E*O*F help/add-class.n//
if test 754 -ne "`wc -c <'help/add-class.n'`"; then
    echo shar: error transmitting "'help/add-class.n'" '(should have been 754 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-group.n'" '(389 characters)'
if test -f 'help/add-group.n' ; then 
  echo shar: will not over-write existing file "'help/add-group.n'"
else
sed 's/^X//' >help/add-group.n <<'@//E*O*F help/add-group.n//'
X.ce
X.ul
Xadd-group <name>
X.sp
X.ul
Xadd-group
Xcreates a standard UNIX group to which users may be subsequently
Xadded via \fIadd-to-group\fR.  Mcp will start at 0 and search for the first
Xunused numerical group ID.  Mcp will offer this group ID to you as a
Xdefault; you may take it or you enter a different one.  Mcp will complain if
Xthis ID is already being used and ask you to select again.
@//E*O*F help/add-group.n//
if test 389 -ne "`wc -c <'help/add-group.n'`"; then
    echo shar: error transmitting "'help/add-group.n'" '(should have been 389 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-range.n'" '(579 characters)'
if test -f 'help/add-range.n' ; then 
  echo shar: will not over-write existing file "'help/add-range.n'"
else
sed 's/^X//' >help/add-range.n <<'@//E*O*F help/add-range.n//'
X.ce
X.ul
Xadd-range <name>
X.sp
X.ul
Xadd-range
Xcreates a default range of uids to be assigned to subsequently
Xcreated users having a base gid that maps to
X.ul
X<name>
Xin GRPFILE.  Thus
X.ul
X<name>
Xmust be an existing group.  You will be prompted for the start, end
Xand mode of the uid range.  Mcp will then check to see that the range you
Xspecified doesn't conflict with existing ranges, i.e. if the range you
Xspecified overlaps any other range of mode "exclusive", or if your range is
Xmode "exclusive" and it overlaps any other range mcp will complain and
Xrefuse to create the range.
@//E*O*F help/add-range.n//
if test 579 -ne "`wc -c <'help/add-range.n'`"; then
    echo shar: error transmitting "'help/add-range.n'" '(should have been 579 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-sig.n'" '(777 characters)'
if test -f 'help/add-sig.n' ; then 
  echo shar: will not over-write existing file "'help/add-sig.n'"
else
sed 's/^X//' >help/add-sig.n <<'@//E*O*F help/add-sig.n//'
X.ce
X.ul
Xadd-sig <name>
X.sp
X.ul
Xadd-sig
Xcreates a new sig (\fIS\fRpecial \fII\fRnterest \fIG\fRroup) to which users
Xmay be subsequently added via \fIadd-to-sig\fR.  Mcp will permit you to set an
Xexpiration date for this sig if you wish.  Note that when a sig expires
Xnothing is done about; expiration dates are just handy to have.  From
Xthe shell \fImcp -c\fR will report expired sigs, among other things.
X.sp
XAfter entering the expiration date, mcp whisks you into your favorite editor
Xso you can write a sig description.  When you have created the description,
Xsave it, and you will be returned to mcp.  The description length must not
Xexceed DESCSIZE characters.  If your description is too long, mcp will
Xcomplain and return you to the editor to pare down your description.
@//E*O*F help/add-sig.n//
if test 777 -ne "`wc -c <'help/add-sig.n'`"; then
    echo shar: error transmitting "'help/add-sig.n'" '(should have been 777 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-to-alias.n'" '(163 characters)'
if test -f 'help/add-to-alias.n' ; then 
  echo shar: will not over-write existing file "'help/add-to-alias.n'"
else
sed 's/^X//' >help/add-to-alias.n <<'@//E*O*F help/add-to-alias.n//'
X.ce
X.ul
Xadd-to-alias <name>
X.sp
X.ul
Xadd-to-alias
Xallows you to add addresses to an existing alias.  Mcp will prompt you for a
Xlist of addressees, space separated.
@//E*O*F help/add-to-alias.n//
if test 163 -ne "`wc -c <'help/add-to-alias.n'`"; then
    echo shar: error transmitting "'help/add-to-alias.n'" '(should have been 163 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-to-class.n'" '(277 characters)'
if test -f 'help/add-to-class.n' ; then 
  echo shar: will not over-write existing file "'help/add-to-class.n'"
else
sed 's/^X//' >help/add-to-class.n <<'@//E*O*F help/add-to-class.n//'
X.ce
X.ul
Xadd-to-class <name>
X.sp
X.ul
Xadd-to-class
Xallows you to add users to an  existing  class.
XMcp will prompt you for a list of users, space separated.
X#ifdef SENDMAIL
XIf this class is bound to any aliases, the users will also be added
Xto these aliases as addresses.
X#endif
@//E*O*F help/add-to-class.n//
if test 277 -ne "`wc -c <'help/add-to-class.n'`"; then
    echo shar: error transmitting "'help/add-to-class.n'" '(should have been 277 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-to-group.n'" '(399 characters)'
if test -f 'help/add-to-group.n' ; then 
  echo shar: will not over-write existing file "'help/add-to-group.n'"
else
sed 's/^X//' >help/add-to-group.n <<'@//E*O*F help/add-to-group.n//'
X.ce
X.ul
Xadd-to-group <name>
X.sp
X.ul
Xadd-to-group
Xallows you to add users to an existing group.  Mcp will prompt you for a
Xlist of space separated users.  The users will be added to the system groups
Xlist in GRPFILE when a \fIsave-changes\fR or \fIsave-and-exit\fR is executed.
X#ifdef SENDMAIL
XIf this group is bound to any aliases, the users will also be added
Xto these aliases as addresses.
X#endif
@//E*O*F help/add-to-group.n//
if test 399 -ne "`wc -c <'help/add-to-group.n'`"; then
    echo shar: error transmitting "'help/add-to-group.n'" '(should have been 399 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-to-sig.n'" '(272 characters)'
if test -f 'help/add-to-sig.n' ; then 
  echo shar: will not over-write existing file "'help/add-to-sig.n'"
else
sed 's/^X//' >help/add-to-sig.n <<'@//E*O*F help/add-to-sig.n//'
X.ce
X.ul
Xadd-to-sig <name>
X.sp
X.ul
Xadd-to-sig
Xallows you to add users to an existing sig.  Mcp will prompt you for a list
Xof space separated user names.
X#ifdef SENDMAIL
XIf this sig is bound to any aliases, the users will also be added
Xto these aliases as addresses.
X#endif
@//E*O*F help/add-to-sig.n//
if test 272 -ne "`wc -c <'help/add-to-sig.n'`"; then
    echo shar: error transmitting "'help/add-to-sig.n'" '(should have been 272 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-user.n'" '(2536 characters)'
if test -f 'help/add-user.n' ; then 
  echo shar: will not over-write existing file "'help/add-user.n'"
else
sed 's/^X//' >help/add-user.n <<'@//E*O*F help/add-user.n//'
X.ce
X.ul
Xadd-user [ name ]
X.sp
X.ul
Xadd-user
Xallows you to create a new account.  There are several stages to this
Xprocess.  If the optional
X.ul
Xname
Xis supplied, mcp will use this as the user's login name, otherwise mcp will
Xcreate a login name from the user's real name using these steps:
X.nf
X.sp
X.in +2
XTrim real name of titles (e.g. Dr., Prof.)
XTrim real name of suffixes (e.g. Jr., III)
XCase-lower the entire real name.
XIf last name is not taken as a login name and it's less
X    than eight characters in length, use it.
XIf real name has three initials, concatenate them.
XIf this is unused as a login, use it.
XTruncate the last name to no more than 5 characters.
XAppend a '_'.
XAppend the first character of the first name.
XIf the result of the last two operations is already used
X    as a login, increment the last character by one
X    until a unique login is found.
X.in -2
X.sp
X.fi
XMcp will then announce the result of all this to you.
X.sp
XMcp will ask you (mostly) obvious questions about  this  new
Xaccount  until  it  has  enough  information  to  create it.
XDefault responses, if any, appear in brackets "[]".
X.sp
XWhen mcp prompts you with "Id: " it expects  a  string  that
Xwould uniquely identify the owner of the account anywhere on
Xthe planet.  Generally this would be a person's Social Security
XNumber.  The reason for requesting such identification
Xinformation is that mcp will use it to notify you if  you're
Xabout  to create an account for a user that already has one.
XYou can specify "exception" here  if  you  don't  have  such
Xinformation;  this  is useful for non-human accounts such as
X"ftp", and "uucp".
X.sp
XThere is also more than one way to answer mcp's request for a password to
Xuse.  You can specify "none" and the user won't have a password.  Specify
X"unused" and the user will have asterisk placed in the password field of his
Xline in /etc/passwd.  This guarantees that this account has no valid
Xpassword and thus no one can log into this account and only the super-user
Xcan su to it (since su doesn't ask the super-user for passwords).  This is
Xuseful for non-human accounts such as "daemon" and "news".  If you specify
X"generate", mcp will generate a good (and utterly random) password for the
Xuser and tell you what it is.  Other than these special cases what you type
Xis what the password will be.  Be aware that mcp silently disallows control
Xcharacters and colons.
X.sp
XRemember, at any stage in the
X.ul
Xadd-user
Xprocess you can just hit the interrupt key and the command will
Xbe aborted with no change.
@//E*O*F help/add-user.n//
if test 2536 -ne "`wc -c <'help/add-user.n'`"; then
    echo shar: error transmitting "'help/add-user.n'" '(should have been 2536 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/add-vig.n'" '(415 characters)'
if test -f 'help/add-vig.n' ; then 
  echo shar: will not over-write existing file "'help/add-vig.n'"
else
sed 's/^X//' >help/add-vig.n <<'@//E*O*F help/add-vig.n//'
X.ce
X.ul
Xadd-vig <name>
X.sp
X.ul
Xadd-vig
Xtells mcp that members of a particular group should be treated specially.
XMembers of a vig will not be conidered inactive or deadbeats for any reason.
XMembership must be by base gid in order to get special treatment; membership
Xto a vig by the /etc/group access list doesn't count.  The group must
Xalready exist.
X
XVig is an acronym for \fIV\fRery \fII\fRmportant \fIG\fRroup.
@//E*O*F help/add-vig.n//
if test 415 -ne "`wc -c <'help/add-vig.n'`"; then
    echo shar: error transmitting "'help/add-vig.n'" '(should have been 415 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/alias.n'" '(220 characters)'
if test -f 'help/alias.n' ; then 
  echo shar: will not over-write existing file "'help/alias.n'"
else
sed 's/^X//' >help/alias.n <<'@//E*O*F help/alias.n//'
X.in 3
X.ti 0
X.ul
Xalias
X\- an abstraction used by sendmail(8) to map one address to one or more
Xother addresses.  Mail sent to an address corresponding to an alias is
Xautomatically sent to all addresses within that alias.
@//E*O*F help/alias.n//
if test 220 -ne "`wc -c <'help/alias.n'`"; then
    echo shar: error transmitting "'help/alias.n'" '(should have been 220 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/bind-class.n'" '(293 characters)'
if test -f 'help/bind-class.n' ; then 
  echo shar: will not over-write existing file "'help/bind-class.n'"
else
sed 's/^X//' >help/bind-class.n <<'@//E*O*F help/bind-class.n//'
X.ce
X.ul
Xbind-class <class name>
X.sp
X.ul
Xbind-class
Xbinds an existing class to an one or more aliases.  This means that all
Xusers that are members of the class are now members of these aliases.
XSubseqeunt changes in class membership will be reflected in the addresses
Xcontained in the aliases.
@//E*O*F help/bind-class.n//
if test 293 -ne "`wc -c <'help/bind-class.n'`"; then
    echo shar: error transmitting "'help/bind-class.n'" '(should have been 293 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/bind-group.n'" '(293 characters)'
if test -f 'help/bind-group.n' ; then 
  echo shar: will not over-write existing file "'help/bind-group.n'"
else
sed 's/^X//' >help/bind-group.n <<'@//E*O*F help/bind-group.n//'
X.ce
X.ul
Xbind-group <group name>
X.sp
X.ul
Xbind-group
Xbinds an existing group to an one or more aliases.  This means that all
Xusers that are members of the group are now members of these aliases.
XSubseqeunt changes in group membership will be reflected in the addresses
Xcontained in the aliases.
@//E*O*F help/bind-group.n//
if test 293 -ne "`wc -c <'help/bind-group.n'`"; then
    echo shar: error transmitting "'help/bind-group.n'" '(should have been 293 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/bind-sig.n'" '(281 characters)'
if test -f 'help/bind-sig.n' ; then 
  echo shar: will not over-write existing file "'help/bind-sig.n'"
else
sed 's/^X//' >help/bind-sig.n <<'@//E*O*F help/bind-sig.n//'
X.ce
X.ul
Xbind-sig <sig name>
X.sp
X.ul
Xbind-sig
Xbinds an existing sig to an one or more aliases.  This means that all
Xusers that are members of the sig are now members of these aliases.
XSubseqeunt changes in sig membership will be reflected in the addresses
Xcontained in the aliases.
@//E*O*F help/bind-sig.n//
if test 281 -ne "`wc -c <'help/bind-sig.n'`"; then
    echo shar: error transmitting "'help/bind-sig.n'" '(should have been 281 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/checkpoint-changes.n'" '(290 characters)'
if test -f 'help/checkpoint-changes.n' ; then 
  echo shar: will not over-write existing file "'help/checkpoint-changes.n'"
else
sed 's/^X//' >help/checkpoint-changes.n <<'@//E*O*F help/checkpoint-changes.n//'
X.ce
X.ul
Xcheckpoint-changes
X.sp
X.ul
Xcheckpoint-changes
Xcauses all the current changes to the accounting files to be written out to
Xthe checkpoint files.  The real accounting files are untouched.
X
XNote that other changes such as the need to make and remove home directories
Xare not recorded.
@//E*O*F help/checkpoint-changes.n//
if test 290 -ne "`wc -c <'help/checkpoint-changes.n'`"; then
    echo shar: error transmitting "'help/checkpoint-changes.n'" '(should have been 290 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/class.n'" '(416 characters)'
if test -f 'help/class.n' ; then 
  echo shar: will not over-write existing file "'help/class.n'"
else
sed 's/^X//' >help/class.n <<'@//E*O*F help/class.n//'
X.in 3
X.ti 0
X.ul
Xclass
X\- an mcp abstraction with the following attributes:
X.nf
X.sp
X.in +1
X\(bu   Name
X\(bu   Expiration date (optional)
X\(bu   Description
X.in -1
X.sp
X.fi
XClasses are created using
X.ul
Xadd-class
Xand users may be subsequently added to them via
X.ul
Xadd-to-class.
XClasses are not automatically deleted when they expire.  However the
Xsystem administrator can use
X.ul
Xmcp -c
Xto report any expired classes.
@//E*O*F help/class.n//
if test 416 -ne "`wc -c <'help/class.n'`"; then
    echo shar: error transmitting "'help/class.n'" '(should have been 416 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/cryo.n'" '(211 characters)'
if test -f 'help/cryo.n' ; then 
  echo shar: will not over-write existing file "'help/cryo.n'"
else
sed 's/^X//' >help/cryo.n <<'@//E*O*F help/cryo.n//'
X.in 3
X.ti 0
X.ul
Xcryo
X\- any user that has the shell FREEZE_SH.  Cryos are generally
Xcreated by using one of the
X.ul
Xfreeze
Xcommands, although this is not the only way they can be created (e.g.
X.ul
Xupdate-user).
@//E*O*F help/cryo.n//
if test 211 -ne "`wc -c <'help/cryo.n'`"; then
    echo shar: error transmitting "'help/cryo.n'" '(should have been 211 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/deadbeat.n'" '(135 characters)'
if test -f 'help/deadbeat.n' ; then 
  echo shar: will not over-write existing file "'help/deadbeat.n'"
else
sed 's/^X//' >help/deadbeat.n <<'@//E*O*F help/deadbeat.n//'
X.in 3
X.ti 0
X.ul
Xdeadbeat
X\- any user that is not a member of a class, sig and whose base gid does
Xnot map to a vig, and is not a cryo.
@//E*O*F help/deadbeat.n//
if test 135 -ne "`wc -c <'help/deadbeat.n'`"; then
    echo shar: error transmitting "'help/deadbeat.n'" '(should have been 135 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-alias.n'" '(235 characters)'
if test -f 'help/describe-alias.n' ; then 
  echo shar: will not over-write existing file "'help/describe-alias.n'"
else
sed 's/^X//' >help/describe-alias.n <<'@//E*O*F help/describe-alias.n//'
X.ce
X.ul
Xdescribe-alias <name>
X.sp
X.ul
Xdescribe-alias
Xdisplays all information pertinent to a particular alias.  All the alias'
Xaddressees are displayed along with the names of any classes, sigs, and
Xgroups to which the alias is bound.
@//E*O*F help/describe-alias.n//
if test 235 -ne "`wc -c <'help/describe-alias.n'`"; then
    echo shar: error transmitting "'help/describe-alias.n'" '(should have been 235 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-changes.n'" '(337 characters)'
if test -f 'help/describe-changes.n' ; then 
  echo shar: will not over-write existing file "'help/describe-changes.n'"
else
sed 's/^X//' >help/describe-changes.n <<'@//E*O*F help/describe-changes.n//'
X.ce
X.ul
Xdescribe-changes [ number ]
X.sp
X.ul
Xdescribe-changes
Xdescribes what mcp will do at the next \fIsave-changes\fR or
X\fIsave-and-exit\fR.  You are informed what accounting files will be
Xmodified and what directories will be added, removed, etc.  If the optional
X.ul
Xnumber
Xis present,
Xthe last
X.ul
Xnumber
Xchanges will be displayed.
@//E*O*F help/describe-changes.n//
if test 337 -ne "`wc -c <'help/describe-changes.n'`"; then
    echo shar: error transmitting "'help/describe-changes.n'" '(should have been 337 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-class.n'" '(326 characters)'
if test -f 'help/describe-class.n' ; then 
  echo shar: will not over-write existing file "'help/describe-class.n'"
else
sed 's/^X//' >help/describe-class.n <<'@//E*O*F help/describe-class.n//'
X.ce
X.ul
Xdescribe-class <name>
X.sp
X.ul
Xdescribe-class
Xdisplays all information pertinent to a particular class.  The name, and
Xexpiration date are given and then each member is listed with real name,
Xuid, and an asterisk if the user has ever logged in.
X#ifdef SENDMAIL
XThe aliases bound to the class are listed, if any.
X#endif
@//E*O*F help/describe-class.n//
if test 326 -ne "`wc -c <'help/describe-class.n'`"; then
    echo shar: error transmitting "'help/describe-class.n'" '(should have been 326 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-command.n'" '(341 characters)'
if test -f 'help/describe-command.n' ; then 
  echo shar: will not over-write existing file "'help/describe-command.n'"
else
sed 's/^X//' >help/describe-command.n <<'@//E*O*F help/describe-command.n//'
X.ce
X.ul
Xdescribe-command <mcp command>
X.sp
X.ul
Xdescribe-command
Xexplains what a particular mcp command does and tells what, if any,
Xarguments the command expects to be passed to it.  For example
Xif
X.ul
Xdescribe-command
Xis invoked with
X.ul
X"describe-command"
Xas it's first argument, mcp will display this page... and think unsavory
Xthoughts.
@//E*O*F help/describe-command.n//
if test 341 -ne "`wc -c <'help/describe-command.n'`"; then
    echo shar: error transmitting "'help/describe-command.n'" '(should have been 341 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-cryos.n'" '(187 characters)'
if test -f 'help/describe-cryos.n' ; then 
  echo shar: will not over-write existing file "'help/describe-cryos.n'"
else
sed 's/^X//' >help/describe-cryos.n <<'@//E*O*F help/describe-cryos.n//'
X.ce
X.ul
Xdescribe-cryos
X.sp
X.ul
Xdescribe-cryos
Xlists all users that are frozen.  The login name is displayed along with the
Xreal name, uid, and an asterisk if the user has ever logged in.
@//E*O*F help/describe-cryos.n//
if test 187 -ne "`wc -c <'help/describe-cryos.n'`"; then
    echo shar: error transmitting "'help/describe-cryos.n'" '(should have been 187 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-deadbeats.n'" '(291 characters)'
if test -f 'help/describe-deadbeats.n' ; then 
  echo shar: will not over-write existing file "'help/describe-deadbeats.n'"
else
sed 's/^X//' >help/describe-deadbeats.n <<'@//E*O*F help/describe-deadbeats.n//'
X.ce
X.ul
Xdescribe-deadbeats
X.sp
X.ul
Xdescribe-deadbeats
Xgives a detailed listing of all the deadbeats.
XThe login name is displayed along with the real  name,  uid,
Xand an asterisk if the user has ever logged in.
XUse
X.ul
Xwhat-is deadbeat
Xif you are uncertain about just what a
X.ul
Xdeadbeat
Xis.
@//E*O*F help/describe-deadbeats.n//
if test 291 -ne "`wc -c <'help/describe-deadbeats.n'`"; then
    echo shar: error transmitting "'help/describe-deadbeats.n'" '(should have been 291 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-group.n'" '(417 characters)'
if test -f 'help/describe-group.n' ; then 
  echo shar: will not over-write existing file "'help/describe-group.n'"
else
sed 's/^X//' >help/describe-group.n <<'@//E*O*F help/describe-group.n//'
X.ce
X.ul
Xdescribe-group <name>
X.sp
X.ul
Xdescribe-group
Xgives all information relating to a particular group.  The uid range is
Xlisted, if any.  Members are listed with the users that have the base gid
Xthat maps to this group listed as "members" while those that claim
Xmembership only through the access list in GRPFILE are listed as
X"groupies".
X#ifdef SENDMAIL
XThe aliases bound to the group are listed, if any.
X#endif
@//E*O*F help/describe-group.n//
if test 417 -ne "`wc -c <'help/describe-group.n'`"; then
    echo shar: error transmitting "'help/describe-group.n'" '(should have been 417 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-inactives.n'" '(279 characters)'
if test -f 'help/describe-inactives.n' ; then 
  echo shar: will not over-write existing file "'help/describe-inactives.n'"
else
sed 's/^X//' >help/describe-inactives.n <<'@//E*O*F help/describe-inactives.n//'
X.ce
X.ul
Xdescribe-inactives <number>
X.sp
X.ul
Xdescribe-inactives
Xlists users that have not logged in
X.ul
X<number>
Xdays, excluding users that are frozen and members of vigs.  The login name
Xis displayed along with the real name, uid, and an asterisk if the user has
Xever logged in.
@//E*O*F help/describe-inactives.n//
if test 279 -ne "`wc -c <'help/describe-inactives.n'`"; then
    echo shar: error transmitting "'help/describe-inactives.n'" '(should have been 279 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-range.n'" '(112 characters)'
if test -f 'help/describe-range.n' ; then 
  echo shar: will not over-write existing file "'help/describe-range.n'"
else
sed 's/^X//' >help/describe-range.n <<'@//E*O*F help/describe-range.n//'
X.ce
X.ul
Xdescribe-range <name>
X.sp
X.ul
Xdescribe-range
Xdisplays the uid range associated with a particular group.
@//E*O*F help/describe-range.n//
if test 112 -ne "`wc -c <'help/describe-range.n'`"; then
    echo shar: error transmitting "'help/describe-range.n'" '(should have been 112 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-sig.n'" '(318 characters)'
if test -f 'help/describe-sig.n' ; then 
  echo shar: will not over-write existing file "'help/describe-sig.n'"
else
sed 's/^X//' >help/describe-sig.n <<'@//E*O*F help/describe-sig.n//'
X.ce
X.ul
Xdescribe-sig <name>
X.sp
X.ul
Xdescribe-sig
Xdisplays all information pertinent to a particular sig.  The name, and
Xexpiration date are given and then each member is listed with real name,
Xuid, and an asterisk if the user has ever logged in.
X#ifdef SENDMAIL
XThe aliases bound to the sig are listed, if any.
X#endif
@//E*O*F help/describe-sig.n//
if test 318 -ne "`wc -c <'help/describe-sig.n'`"; then
    echo shar: error transmitting "'help/describe-sig.n'" '(should have been 318 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/describe-user.n'" '(202 characters)'
if test -f 'help/describe-user.n' ; then 
  echo shar: will not over-write existing file "'help/describe-user.n'"
else
sed 's/^X//' >help/describe-user.n <<'@//E*O*F help/describe-user.n//'
X.ce
X.ul
Xdescribe-user <name>
X.sp
X.ul
Xdescribe-user
Xgives all the information pertaining to a particular user, with the
Xexception of his password, which is encrypted and thus (virtually)
Xindeterminable.
@//E*O*F help/describe-user.n//
if test 202 -ne "`wc -c <'help/describe-user.n'`"; then
    echo shar: error transmitting "'help/describe-user.n'" '(should have been 202 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/disable-user.n'" '(605 characters)'
if test -f 'help/disable-user.n' ; then 
  echo shar: will not over-write existing file "'help/disable-user.n'"
else
sed 's/^X//' >help/disable-user.n <<'@//E*O*F help/disable-user.n//'
X.ce
X.ul
Xdisable-user <name>
X.sp
X.ul
Xdisable-user
Xis used temporarily deny a user access to his account.  The user is NOT
Xfrozen.  The shell of the victim is changed to DISABLED_SH which should be a
Xprogram to print a message explaining why the user is being denied access to
Xhis account and exit.
X.sp
XHistorically
X.ul
Xdisable-user
Xhas been used to lock out people who have done something naughty like break
Xinto the system, pending either the termination of their account or hiring
Xthem as system staff.
X.sp
XContrary to popular belief,
X.ul
Xdisable-user
Xdoes not release a
Xhorde of daemons to maim a user.
@//E*O*F help/disable-user.n//
if test 605 -ne "`wc -c <'help/disable-user.n'`"; then
    echo shar: error transmitting "'help/disable-user.n'" '(should have been 605 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/exit-mcp.n'" '(168 characters)'
if test -f 'help/exit-mcp.n' ; then 
  echo shar: will not over-write existing file "'help/exit-mcp.n'"
else
sed 's/^X//' >help/exit-mcp.n <<'@//E*O*F help/exit-mcp.n//'
X.ce
X.ul
Xexit-mcp
X.sp
X.ul
Xexit-mcp
Xallows you terminate the current mcp session without saving changes.  Mcp
Xwill ask for confirmation that this is what you want to do.
@//E*O*F help/exit-mcp.n//
if test 168 -ne "`wc -c <'help/exit-mcp.n'`"; then
    echo shar: error transmitting "'help/exit-mcp.n'" '(should have been 168 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/freeze-deadbeats.n'" '(321 characters)'
if test -f 'help/freeze-deadbeats.n' ; then 
  echo shar: will not over-write existing file "'help/freeze-deadbeats.n'"
else
sed 's/^X//' >help/freeze-deadbeats.n <<'@//E*O*F help/freeze-deadbeats.n//'
X.ce
X.ul
Xfreeze-deadbeats
X.sp
X.ul
Xfreeze-deadbeats
Xchanges the shell of the certain users to FREEZE_SH.  These users are then
Xtermed "cryos".  Use
X.ul
Xwhat-is deadbeat
Xfor a complete definition of a
X.ul
Xdeadbeat.
XThis facility is generally used to end a user's access to an
Xaccount preparatory to archival and/or removal.
@//E*O*F help/freeze-deadbeats.n//
if test 321 -ne "`wc -c <'help/freeze-deadbeats.n'`"; then
    echo shar: error transmitting "'help/freeze-deadbeats.n'" '(should have been 321 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/freeze-inactives.n'" '(326 characters)'
if test -f 'help/freeze-inactives.n' ; then 
  echo shar: will not over-write existing file "'help/freeze-inactives.n'"
else
sed 's/^X//' >help/freeze-inactives.n <<'@//E*O*F help/freeze-inactives.n//'
X.ce
X.ul
Xfreeze-inactives <number>
X.sp
X.ul
Xfreeze-inactives
Xchanges the shell of users who have not logged in
X.ul
X<number>
Xdays to FREEZE_SH, exempting members of vigs.  These frozen users are then
Xtermed "cryos".
X.sp
XThis facility is generally used to end a user's access to an account
Xpreparatory to archival and/or removal.
@//E*O*F help/freeze-inactives.n//
if test 326 -ne "`wc -c <'help/freeze-inactives.n'`"; then
    echo shar: error transmitting "'help/freeze-inactives.n'" '(should have been 326 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/freeze-user.n'" '(341 characters)'
if test -f 'help/freeze-user.n' ; then 
  echo shar: will not over-write existing file "'help/freeze-user.n'"
else
sed 's/^X//' >help/freeze-user.n <<'@//E*O*F help/freeze-user.n//'
X.ce
X.ul
Xfreeze-user <name>
X.sp
X.ul
Xfreeze-user
Xchanges the shell of the victim to FREEZE_SH.  The user is then termed a
X"cryo".  If the user is a member of a vig, you will be asked to confirm
Xwhether you really want to do this.
X.sp
XThis facility is generally used to end a user's access to an
Xaccount preparatory to archival and/or removal.
@//E*O*F help/freeze-user.n//
if test 341 -ne "`wc -c <'help/freeze-user.n'`"; then
    echo shar: error transmitting "'help/freeze-user.n'" '(should have been 341 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/gid.n'" '(158 characters)'
if test -f 'help/gid.n' ; then 
  echo shar: will not over-write existing file "'help/gid.n'"
else
sed 's/^X//' >help/gid.n <<'@//E*O*F help/gid.n//'
X.in 3
X.ti 0
X.ul
Xgid
X\- the standard UNIX numerical group id which uniquely identifies each
Xgroup and appears a basic attribute for each UNIX user in PWDFILE.
@//E*O*F help/gid.n//
if test 158 -ne "`wc -c <'help/gid.n'`"; then
    echo shar: error transmitting "'help/gid.n'" '(should have been 158 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/inactive.n'" '(189 characters)'
if test -f 'help/inactive.n' ; then 
  echo shar: will not over-write existing file "'help/inactive.n'"
else
sed 's/^X//' >help/inactive.n <<'@//E*O*F help/inactive.n//'
X.in 3
X.ti 0
X.ul
Xinactive
X\- a user that has not logged in for
X.ul
Xx
Xnumber of days
X.ul
X(x
Xis supplied by you).  Exceptions are members of vigs and cryos, who are never
Xconsidered inactive.
@//E*O*F help/inactive.n//
if test 189 -ne "`wc -c <'help/inactive.n'`"; then
    echo shar: error transmitting "'help/inactive.n'" '(should have been 189 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-aliases.n'" '(423 characters)'
if test -f 'help/list-aliases.n' ; then 
  echo shar: will not over-write existing file "'help/list-aliases.n'"
else
sed 's/^X//' >help/list-aliases.n <<'@//E*O*F help/list-aliases.n//'
X.ce
X.ul
Xlist-aliases [ regular-expression ... ]
X.sp
X.ul
Xlist-aliases
Xproduces a multi-column listing of the names of all the aliases matching the
Xregular expressions.  If no expressions are given all the aliases are listed.
X.sp
XThe expressions should be of the type described in the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-aliases ^c"
Xwhich lists all aliases that begin with the letter 'c'.
@//E*O*F help/list-aliases.n//
if test 423 -ne "`wc -c <'help/list-aliases.n'`"; then
    echo shar: error transmitting "'help/list-aliases.n'" '(should have been 423 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-classes.n'" '(441 characters)'
if test -f 'help/list-classes.n' ; then 
  echo shar: will not over-write existing file "'help/list-classes.n'"
else
sed 's/^X//' >help/list-classes.n <<'@//E*O*F help/list-classes.n//'
X.ce
X.ul
Xlist-classes [ regular-expression ... ]
X.sp
X.ul
Xlist-classes
Xproduces a multi-column listing of the names of all the classes matching the
Xregular expressions.  If no expressions are given all the classes are listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-classes ^c ^g"
Xwhich lists all classes that begin with the letters 'c' and 'g'.
@//E*O*F help/list-classes.n//
if test 441 -ne "`wc -c <'help/list-classes.n'`"; then
    echo shar: error transmitting "'help/list-classes.n'" '(should have been 441 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-commands.n'" '(539 characters)'
if test -f 'help/list-commands.n' ; then 
  echo shar: will not over-write existing file "'help/list-commands.n'"
else
sed 's/^X//' >help/list-commands.n <<'@//E*O*F help/list-commands.n//'
X.ce
X.ul
Xlist-commands [ regular-expression ... ]
X.sp
X.ul
Xlist-commands
Xproduces a multi-column listing of  the  names
Xof  all  the  mcp commands matching the regular expressions.
XIf no expressions are given  all  the  commands  are  listed,
Xeven the ones that only the super-user can use.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-commands ^f g$"
Xlists all commands that begin with the letter 'f' and all commands that
Xend with the letter 'g'.
@//E*O*F help/list-commands.n//
if test 539 -ne "`wc -c <'help/list-commands.n'`"; then
    echo shar: error transmitting "'help/list-commands.n'" '(should have been 539 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-cryos.n'" '(468 characters)'
if test -f 'help/list-cryos.n' ; then 
  echo shar: will not over-write existing file "'help/list-cryos.n'"
else
sed 's/^X//' >help/list-cryos.n <<'@//E*O*F help/list-cryos.n//'
X.ce
X.ul
Xlist-cryos [ regular-expression ... ]
X.sp
X.ul
Xlist-cryos
Xproduces a multi-column listing of the names of all the cryos matching the
Xregular expressions.  If no expressions are given all the cryos are listed.
XCryos are users with the shell FREEZE_SH.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-cryos x" which
Xlist all cryos the contain the letter 'x' in their names.
@//E*O*F help/list-cryos.n//
if test 468 -ne "`wc -c <'help/list-cryos.n'`"; then
    echo shar: error transmitting "'help/list-cryos.n'" '(should have been 468 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-deadbeats.n'" '(468 characters)'
if test -f 'help/list-deadbeats.n' ; then 
  echo shar: will not over-write existing file "'help/list-deadbeats.n'"
else
sed 's/^X//' >help/list-deadbeats.n <<'@//E*O*F help/list-deadbeats.n//'
X.ce
X.ul
Xlist-deadbeats [ regular-expression ... ]
X.sp
X.ul
Xlist-deadbeats
Xproduces a multi-column listing of the  names
Xof all the deadbeats matching the regular expressions.  If
Xno expressions are  given  all  the  deadbeats  are  listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  As example usage is "list-deadbeats ^...$"
Xwhich lists all deadbeats with names containing exactly three characters.
X
@//E*O*F help/list-deadbeats.n//
if test 468 -ne "`wc -c <'help/list-deadbeats.n'`"; then
    echo shar: error transmitting "'help/list-deadbeats.n'" '(should have been 468 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-groups.n'" '(436 characters)'
if test -f 'help/list-groups.n' ; then 
  echo shar: will not over-write existing file "'help/list-groups.n'"
else
sed 's/^X//' >help/list-groups.n <<'@//E*O*F help/list-groups.n//'
X.ce
X.ul
Xlist-groups [ regular-expression ... ]
X.sp
X.ul
Xlist-groups
Xproduces a multi-column listing of the names of all the groups matching the
Xregular expressions.  If no expressions are given all the groups are listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-groups ^g.*f$"
Xwhich lists all groups that begin with 'g' and end with an 'f'.
@//E*O*F help/list-groups.n//
if test 436 -ne "`wc -c <'help/list-groups.n'`"; then
    echo shar: error transmitting "'help/list-groups.n'" '(should have been 436 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-inactives.n'" '(562 characters)'
if test -f 'help/list-inactives.n' ; then 
  echo shar: will not over-write existing file "'help/list-inactives.n'"
else
sed 's/^X//' >help/list-inactives.n <<'@//E*O*F help/list-inactives.n//'
X.ce
X.ul
Xlist-inactives <number> [ regular-expression ... ]
X.sp
X.ul
Xlist-inactives
Xproduces a multi-column listing  of  all  the
Xusers  that  have  not  logged  in within
X.ul
X<number>
Xdays, and names matching the regular expressions.  If no expressions are
Xgiven all those inactive for
X.ul
X<number>
Xdays are listed.
X.sp
XThe expressions should be of the type described in the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-inactives 3 ^t"
Xwhich lists users that haven't logged in for three days and have login names
Xthat begin with a 't'.
@//E*O*F help/list-inactives.n//
if test 562 -ne "`wc -c <'help/list-inactives.n'`"; then
    echo shar: error transmitting "'help/list-inactives.n'" '(should have been 562 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-ranges.n'" '(437 characters)'
if test -f 'help/list-ranges.n' ; then 
  echo shar: will not over-write existing file "'help/list-ranges.n'"
else
sed 's/^X//' >help/list-ranges.n <<'@//E*O*F help/list-ranges.n//'
X.ce
X.ul
Xlist-ranges [ regular-expression ... ]
X.sp
X.ul
Xlist-ranges
Xproduces a multi-column listing of the names of all the classes matching the
Xregular expressions.  If no expressions are given all the classes are listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-ranges p" which
Xlists all ranges that have names that contain the letter 'p'.
@//E*O*F help/list-ranges.n//
if test 437 -ne "`wc -c <'help/list-ranges.n'`"; then
    echo shar: error transmitting "'help/list-ranges.n'" '(should have been 437 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-sigs.n'" '(446 characters)'
if test -f 'help/list-sigs.n' ; then 
  echo shar: will not over-write existing file "'help/list-sigs.n'"
else
sed 's/^X//' >help/list-sigs.n <<'@//E*O*F help/list-sigs.n//'
X.ce
X.ul
Xlist-sigs [ regular-expression ... ]
X.sp
X.ul
Xlist-sigs
Xproduces a multi-column listing of the names of all the sigs matching the
Xregular expressions.  If no expressions are given all the sigs are listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-sigs ^.....*$"
Xwhich lists all sigs that have names that are at least four characters in
Xlength.
@//E*O*F help/list-sigs.n//
if test 446 -ne "`wc -c <'help/list-sigs.n'`"; then
    echo shar: error transmitting "'help/list-sigs.n'" '(should have been 446 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-users.n'" '(440 characters)'
if test -f 'help/list-users.n' ; then 
  echo shar: will not over-write existing file "'help/list-users.n'"
else
sed 's/^X//' >help/list-users.n <<'@//E*O*F help/list-users.n//'
X.ce
X.ul
Xlist-users [ regular-expression ... ]
X.sp
X.ul
Xlist-users
Xproduces a multi-column listing of the names of all the users matching the
Xregular expressions.  If no expressions are given all the users are listed.
X.sp
XThe expressions should be  of  the  type  described  in  the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-users ^[a-j]"
Xwhich lists users with names beginning with the letters 'a' through 'j'.
@//E*O*F help/list-users.n//
if test 440 -ne "`wc -c <'help/list-users.n'`"; then
    echo shar: error transmitting "'help/list-users.n'" '(should have been 440 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/list-vigs.n'" '(478 characters)'
if test -f 'help/list-vigs.n' ; then 
  echo shar: will not over-write existing file "'help/list-vigs.n'"
else
sed 's/^X//' >help/list-vigs.n <<'@//E*O*F help/list-vigs.n//'
X.ce
X.ul
Xlist-vigs [ regular-expression ... ]
X.sp
X.ul
Xlist-vigs
Xproduces a multi-column listing of the names of all the vigs matching the
Xregular expressions.  If no expressions are given all the vigs are listed.
XUse what-is vig for a definition of a vig.
X.sp
XThe expressions should be of the type described in the
X.ul
Xregex(3)
Xof the Unix Programmers Manual.  An example usage is "list-vigs ^[akz]"
Xwhich lists all vigs with names beginning with the letters, 'a', 'k', and 'z'.
@//E*O*F help/list-vigs.n//
if test 478 -ne "`wc -c <'help/list-vigs.n'`"; then
    echo shar: error transmitting "'help/list-vigs.n'" '(should have been 478 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'help/pause-mcp.n'" '(162 characters)'
if test -f 'help/pause-mcp.n' ; then 
  echo shar: will not over-write existing file "'help/pause-mcp.n'"
else
sed 's/^X//' >help/pause-mcp.n <<'@//E*O*F help/pause-mcp.n//'
X.ce
X.ul
Xpause-mcp
X.sp
X.ul
Xpause-mcp
Xsuspends the mcp process which should precipitate you back to your shell.
XWoe unto you if you don't have a shell under mcp...
@//E*O*F help/pause-mcp.n//
if test 162 -ne "`wc -c <'help/pause-mcp.n'`"; then
    echo shar: error transmitting "'help/pause-mcp.n'" '(should have been 162 characters)'
fi
fi # end of overwriting check
echo shar: "End of archive 1 (of 8)."
cp /dev/null ark1isdone
DONE=true
for I in 1 2 3 4 5 6 7 8; do
    if test ! -f ark${I}isdone; then
        echo "You still need to run archive ${I}."
        DONE=false
    fi
done
case $DONE in
    true)
        echo "You have run all 8 archives."
        echo 'See the README file'
        ;;
esac
##  End of shell archive.
exit 0



More information about the Mod.sources mailing list