Clobberd 4.17 Install              Copyright (C) 1996-2001 Jason Nunn
---------------------              Clobberd comes under the GNU
                                   General Public License.
                                   Darwin, Northern Territory, Australia


hello... it's me jason, so we meet again i guess..

no, this isn't a regular maintenance revision. this is a one off. as i
said two years ago, i no longer maintain clobberd. it's a dead horse....
along with ISP's in australia... as "Hellstra" wields it's monopolistic
black magic- leaving reckages of ISP's, ravaged by mortar fire in it's
wake.  only a few small organisations use clobberd now to monitor shell
sessions (and i can count them off with one hand). the private ISP's that
still exist (and not for long) use livingstone terminal servers.

the only people who would find clobberd of any value now are those that
want to monitor ppp/shell sessions via a handful of modems on a linux box
(some companies do this to enable employees time/volume limited access to
the internet)...  and these are very very few..

..which is why i can't be bothered maintaining it, and once upon a time, i
used it myself.  i'm only doing this to silence the beggings of two people
who emailed me. this is a nights effort of work... no big deal.

4.16 doesn't want to compile under the new glibc 2.2.x. so, i've added the
necessary header files to get it going under the newer linux bundles like
mandrake 8.0. after all, clobberd is more or less a utility exclusive 
to linux ;).

the networking code base that is in clobberd has been used in several
projects of mine over the years. some parts of the code are over 8 years
old now.  when i was working on another project 5 months ago (a commercial
one called "fang"), i noticed a bloody large bug in the foundaries of my
TCP streaming code- a large fucker that produces noise on MTU
boundaries...  this release fixes this problem ;).

i did some fixes here and there so that clobberedit works with the broken
curses libraries that redhat and mandrake seem to release again and again
and again without fixing etc. i've also unitted the "extra"  distribution
into this one... so it now contains the manual.

finally- CLOBBERD DOESN'T KNOW ANYTHING ABOUT RADIUS.

if i got a dollar everytime somebody asked me how they enabled radius
support, i would be rich now. 98% of my emails regarding clobberd are by
people asking how to get radius going. not if it supports radius, but how
to get radius going !.  radius is as foreign to me as turning up to work
on time.

i don't know anything about radius, and unless somebody paaayzz me to
learn about it and put it in, clobberd won't support R A D I U S anytime
soon. ... i hate to burst anybodies bubble here ;).


:Jason Nunn
 Monday Night, August 20th, 2001

 email: jsno@arafura.net.au
   www: jsno.arafuraconnect.com.au


Requirements
------------

  - Linux 2.2 or better
  - Glibc 2.0.x or better
  - Ncurses 2.x or better.
  - linux proc fs installed (linux 2.2.x and up)
  - sendmail
  - ppp 2.3.x configured kernel (for net traffic monitoring)
  - TCP/IP networking configured kernel

Everything has been written in C, except for clobberedit, which has been
written in C++. you will need both a C and C++ compiler installed on your
machine.


Synopsis
--------

Clobberd is a daemon that runs on a single host, and monitors user
activity and network interface activity.

 - For user monitoring, clobberd monitors the utmp file (typically
   /var/run/utmp), monitors their time online, what network interfaces
   they are using (ie PPP), and how much network traffic they are
   creating. It monitors all this information, and regulates them
   according to a set of restrictions.

 - For network interface monitoring, it will simply monitor the amount of
   traffic, and the time it is active. no regulation is done.

Users are able to view their stats via a web page, and a remote
maintenance facility allows you to maintain user data from anywhere on
your network.

For a detailed description of clobberd, please refer to the manual or the
web site: jsno.arafuraconnect.com.au/~jsno/clobberd.

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.


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

- If you are currently running 4.10, then backup your files. from 4.9
  upwards, the clobberd.db data file format is backward compatable. you
  can retain this data file, and use it in this version. for any versions
  before 4.9, you will have to convert them.

- extract distribution.

- run 'Uninstall.old_version' as root. This will remove any old 4.x
  clobberd files that are on your machine. If you are running a very old
  version like 3.2 or 2.8, then you will probably have look around your fs
  and check the /etc, /usr/sbin paths as well.

- Edit directives in the make.config file-

    - comment out the "development" directives.
    - uncomment "release" directives
    - check that those paths exist, if they don't either adjust the paths 
      for your given Un*x flavour, or create the paths.

- make the distribution- type in "make".

- If there's no compilation problems, install it- "make install". Nb/ make
  sure you are root user and this point.

- Go into the /var/local/clobberd file, and edit the boot.conf file where
  appropriate (see manual for directive meanings). 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/local/clobberd/mesg.

- Add the following network service entry to /etc/services-

      clobberd        303/tcp         clobberd

if you have a service that is already using 303, then change it to 304.

- Put "/usr/local/sbin/clobberd in your start up script. This can vary
  emensely. On the redhat bundled machine i am using, I put clobberd at
  the end of my /etc/rc.d/rc.sysinit file-

  ---$--------------------
  # clobberd
  #
  echo -n "Starting up clobberd..."
  /usr/sbin/local/clobberd &
  ---$--------------------


  The next step is to place the following entry in the shutdown script. In
  my case, it's the /etc/rc.d/init.d/halt file.

  ---$--------------------
  # clobberd
  #
  echo "Shutting down clobberd.."
  killall -15 clobberd
  sleep 3
  ---$--------------------

  this is very important, as it will do two things-

   - shuts down clobberd nicely
   - doing this produces a nice log entry in all log files.


- Edit the root crontab and put the following entries in-

  ---$--------------------
  # daily purge 00:00am
  #
  0 0 * * * root /usr/local/sbin/clob_dpurge -p <passwd>

  # total purge on the 1st of each month at 00:00am
  #
  0 0 1 * * root /usr/local/sbin/clob_tpurge -p <passwd>

  # auto-archive on the 1st of each month at 01:00am
  #
  0 1 1 * * root /usr/local/sbin/clob_archive -p <passwd>
  ---$--------------------

  the first entry is mandatory. the daily purge entry for example purges
  the daily monitors for each user and produces a set of logs. The second
  entry (clob_tpurge) you can either choose to do manuallly, or have
  cron run it. The third entry (clob_archive) is completely optional.

  Important: when running within cron, never never never run all the above
  at the same time. have their scheduling seperated by at least 1-2
  minutes.

  Nb/ Purging functions are very flexable. Daily time can be modified to
  mean "weekly time" etc. All you need to do is tailor the appropriate
  message files (/var/lib/clobberd/m_*.txt), and set purge programs to
  run in the cron jobs at your choosen times.

- notify your users to goto http://<clobberd server>/cgi-bin/clob_userstat.cgi
  they will be able to access their stats.



Contact
-------

   Snail: Jason Nunn
          32 Rothdale Rd
          Moil NT 0810
          Australia

   Email: jsno@arafura.net.au (old email: jsno@downunder.net.au)

     WWW: http://jsno.arafuraconnect.com.au



                                   ooo0ooo
