Clobberd 4.8 Install               Copyright (C) 1996-1999 Jason Nunn
         | \                       Clobberd is now Under the GNU
          \ Patch level            General Public License.
            Version                Darwin, Northern Territory, Australia
-----------------------

some people have reported problems with network monitoring, but they will
be fixed over time.  this version succeeds 4.3 which had a major bug in it
regarding user names of 8 characters.

Updates
-------

- I changed the Admin Email field to Email Host instead. This will
accommodate isp's that have a email server that's a different machine from
the dialup server. this hack accommodates this configuration. super user
has been converted to a define in the makefile called "SUPER_USER" (first
hack for 4.x).

- changed net traffic quantities to Kb.

- fixed a user search bug in clobberedit.

- other small little changes, and some nick-nack optimisations here and
there.

- fixed a rather simple/embarrassing/overlooked bug involving 8 char
usernames (thanks to philip morgan and steve walsh for noticing it).

- philip morgan <admin@ehcs.com.au> has lovingly completed a manual for
clobberd 4.x (called clobberd4-manual.txt.gz). it is very comprehensive.
please refer to it before asking me or philip questions about clobberd's
operation. it is distributed seperately from this, and you can find it on
my home page, or on clobberd's upload sites.

- Steve Walsh <curl@tcc-comp.com.au> has setup a listserv dedicated to
clobberd. If you'd like to join, send a email to: majordomo@tcc-comp.com.au
and in the message body put "subscribe clobberd".

- Steve has also provided some scripts to do some automation with user
stats etc. they are in the contrib directory.

- as of glibc 2.2, username length in utmp struct is 32 characters (a big win
for the Windows-NT tottys that have been lobbying me since clobberd was first
written). clobberd has been ammended to deal with and accept 32 character
usernames.

- i noticed that under glibc2 and linux 2.2 (which i'm using now) that
user flashes (for example- expiry or bannment) were not displayed when
the user is disconnected. this is because the flash doesn't get the chance
to display before the terminal is clobberd (even when i fsync() it)... so
i've had to introduce a rather ugly 0.5 second delay when user messages
are flashed. if any one knows a better way of doing this, please let me
know.


Synopsis
--------

Clobberd is a daemon that monitors user activity, and meters resources
such as Time, and Network activity. clobberd will run on a single host,
and monitor users by scanning the utmp file (very similar to 2.x). Users
are able to view their stats via a web page, and the remote maintenance
concept (retained from 3.x) allows you to maintain user data from
anywhere. Basically 4.x is all the good bits of 2.x and 3.x. 

4.x has been written for my personal use only. However, i have released it
under the GNU General Public License for anybody to use, and is now
distributed on an "AS IS" basis. i will not tailor it for anybody, and
will only offer technical help to a very limited degree (Nb/ i used to
offer lots of support, but most ISP's take it for granted).

Now days, the text manual is distributed separately. this is because it is
on-goingly maintained (never finished ;) and you the public maintains it.
refer to my page for this manual. 

This will be the last version of clobberd i maintain. Appart from bug fixes
(note: appart from bug fixes), i won't be maintaining or evolving clobberd
anymore. For those of you who have just tuned in (and seens that this is
the last major), i'll give you a quick run down of clobberd's history etc.



A brief history of Clobberd..
-----------------------------

Back in Aug 96, clobberd was just a small utility written for one ISP. A
hack. I quick "do up", just so that this ISP could function.  Before
clobberd, this ISP ran internet software through a BBS, which did all the
accounting. It wasn't possible to do this with Linux, because back then,
things like monitor daemons didn't exist. 

There were a few problems with it, but generally it worked well enough,
and so i figured that maybe there would be other ISP's similar to the one
i was at, that could use a free piece of monitoring software. So i
released it. 

I got a big response from ISP's. All of them were very impressed with it,
but requested extra features. The requests were so diverse, i decided to
rewrite it from scratch, and write a tidy implementation. It got released
as 2.4 in November 96.

Again, the response was very big. Still ISP's, and even some Universities
were requesting very complex features. From about Dec 96 to July 97, i
metered about 300 requests by people to implement new changes. So, as you
can see, the demand for new features was quite large. I implemented what i
could within the scope of 2.x, but the addon's were making it very very
messy and complicated to use. 2.8 ended up getting released about Feb 97. 

I decided to develop 3.x- a networked version with remote maintenance,
data monitoring, time zones, timeouts, multiple login detection, and many
other features. Unfortunately, my design made networking very inefficent
and very unstable. The over all design was very bad. Also, people who I
counted on giving me support and helping me out didn't. So cruical testing
in the phototype never got done, and design flaws became amiss. It wasn't
until 3.x was publically released (November 97), that the flaws became
noticed. Clobberd 3.x was recalled and scraped at the end of January 98.

Even though 3.x was a bad design, it still had some very good ideas in it,
that many people requested. It was a shame to waste the code. During 98, i
had ideas to recycle 3.x, and turn it into something of good use. So, to
end on a good note (to straighten out unfinished business), i decided to
develop 4.x which i started working on in August 98. 

4.x was initially developed for the ISP that started Clobberd off
(Stormfront Technologies), but the SYSOP's lack of interest caused me to
steer designs away from what he needed. i decided to take all the good
points of the 2.x and 3.x distributions, to make a complete, stable,
feature rich distribution. hence, what you see how. 



Installation
------------

- If desired, edit the directives in the Makefile. Nb/ you can leave these
alone if you like. By default, executables will be put in /usr/local/sbin,
data files will be stored in /var/lib/clobberd, and the cgi script will be
put in /home/httpd/cgi-bin  (as per Redhat 5.1).

- As root, make the distribution- "make". If there's no compilation
problems, install it- "make install".

- Go into the /var/lib/clobberd file, and edit the boot.* file.  "passwd:" 
is the daemons password for remote maintenance connections. "tty_owner:" 
and "add_tty:" is used for modem lenancy (a feature that's been with
clobberd for a while). "add_exempt_user:" exempts certain users from
monitoring.  make sure "root" is kept in here. Once done, make sure that
this file has a privillege 0600 at all times, so that your users can not
view your password.

- You may like to customise the m_*.txt files in /var/lib/clobberd. Nb/
also the other clobberd files like log, report and data files are stored
here as well. 

- run clobberd. Put it in your init script.

- Edit the root crontab and put the following entry in it.

0 0 * * * /usr/local/sbin/clobbertool -d 1> /dev/null 2> /dev/null

these entry will tell clobberd to purge users daily settings at 00:00am.

- Perhaps make a page so that users can access clobberstat.cgi.
clobberstat calls clobbertool. one of the functions clobbertool does is
provide user stats.

Nb/ also that clobbertool can also be used to purge all user settings, and
produce a report (for end of month, end of year reporting etc) using the
-t option. 

Purging functions are very flexable. Daily time can be modified to mean
"session time" or "weekly time". All you need to do is tailor the
apropriate message files (/var/lib/clobberd/m_*.txt), and set when cron
jobs to run clobbertool with given options.

That's a about it basically. I now suggest you run clobberedit
("clobberedit <your host running clobberd>") and follow your nose around
it and try to suss it out that way. I think the "following your nose"
method of discovery is the most preferred by people anyway.  For users of
previous versions, it shouldn't be too much drama. If you do get stuck
however, there's always the manual which can be found on my home page (or
around the place).


Contact
-------

Snail: Jason Nunn
       32 Rothdale Rd
       Moil NT 0810
       Australia

Email: jsno@downunder.net.au

  WWW: www.downunder.net.au/~jsno

Nb/ clobberd won't be available on my page anymore.


listserv: majordomo@tcc-comp.com.au
          (send "subscribe clobberd" in the message body)


                                   ooo0ooo
