Provided by: tcpquota_1.6.15-13_all bug

NAME

       tcpquotad - The TCPQuota daemon.

SYNOPSIS

       tcpquotad [options]

DESCRIPTION

       This  is  the  engine  of  the  TCPQuota system. It checks the files in
       '/proc/net/' for connects to the outside  world  and  the  mSQL  tables
       'allowed'  and  'masq'. The daemon closes a host if it is not listed in
       the mSQL table 'masq', it kills a users processes if the  user  is  not
       allowed  to  use  the  TCP  link  _OR_  if the user have gone below the
       minimum quota value.

NOTES

       The following signals have the specified effect when sent to the server
       process using the kill(1) command:

       SIGHUP
                 Causes server to reload the configuration file.

       SIGTERM SIGINT SIGQUIT SIGKILL
                 Causes the server to clean the firewall entries
                 and the masquerading table from entries, and to
                 exit cleanly

       SIGUSR1
                 Turns on debugging

       SIGUSR2
                 Turns off debugging

MSQL TABLES

       tcptab  -  This  is the main quota table in the database, this contains
       the columns: name and quota.

       name - contains the username of the user allowed
       quota - contains the quota points of the user allowed This is  measured
       in seconds.

       allowed  -  This is the table that holds the username of the users that
       are allowed to use the 'Net link.  A user can exist in the tcptab table
       without being registered here. This is so that one can turn off a user,
       without removing it's points.  It only contain one column: name.

       name - contains the username of the user allowed

       periodtab - xx

       masq - This is the table that holds the information on which host's and
       user's  that  the firewall is opened for.  If one, for example executes
       the  program  openfw   without   parameters,   it   checks   the   file
       /etc/tcpquota/tcpquota.cf for the lines:

            GROUPS=GROUP1
            GROUP1=xxx yyy zzz

       Which  means  that there are one computer group (GROUP1) which contains
       the host's xxx, yyy and zzz.  If you have logged  in  on  the  firewall
       from  host zzz it opens the host's xxx, yyy and zzz for 'Net access for
       free (it depits the TCPQuota user 'free', which does not need to be  an
       existing  system  user).  This  user can go under any value you set for
       MIN_QUOTA in the config file. This table contains  the  columns:  host,
       name, cnts, tic, counter, open and free

       host - Is the IP nummer of the host that the firewall is opened for.
       name  -  Is  the username of the user that have opened the firewall for
       the specified host.
       cnts - Number of connects for the specified host
       tic - Number of ticks since the table was uppdated
       counter - ....
       open - This is for used by the support programs, openfw and openhost to
       trigger the opening/closing of the firewall.

            If the support programs write a:
            3 - means that the firewall should be closed.
            2 - means that it should be opened.

            And the daemon writes a:
            1 - the firewall is opened.
            0 - the firewall is closed.

       free  -  This is 1 if the user is allowed free access to the link and 0
       if not...

       logging - Contains the logging about  who  have  changed  the  TCPQuota
       database when...
       This table contains the columns: when, user and action

       when   -   Is   the   date   when   the   database  administrator  have
       added/removed/changed quota points for another user
       user - The name of the database administrator  that  have  changed  the
       database
       action - What have the administrator done?

       logging_openfw  - Contains the logging about who have opened/closed the
       firewall for free/admin access when...
       This table contains the columns: when, user and action

       when - Is the date when the database administrator  have  opened/closed
       the firewall for access...
       user - The name of the person that have opened/closed the firewall
       action  - What have the administrator done (opened/closed, which set of
       computers)?

MSQL EXAMPLE

       Running msql (1) one can do:

            SELECT quota FROM tcptab WHERE name LIKE 'free'\\g

       And you'll get something like this:

        +----------+
        | quota    |
        +----------+
        | -1008888 |
        +----------+

       This is the number of quota points the user have left to  spend...  (In
       this  perticular example, you'll get a negative value, which means that
       this is how much the user have spend...)

            SELECT masq.host, tcptab.name, tcptab.quota FROM      tcptab, masq
       WHERE masq.host LIKE '42.42.40.66      AND tcptab.name LIKE 'free'\\g

       You'll get an output something like this:

        +-----------------+----------------------+----------+
        | host            | name                 | quota    |
        +-----------------+----------------------+----------+
        | 42.42.40.66     | free                 | -1008888 |
        +-----------------+----------------------+----------+

       This  means  that  the  user  free  is  allowed  free  access from host
       42.42.40.66 and have accumulated a  negative  quota  value  of  1008888
       points (seconds).

       You  naturally  have  to  exchange  the  IP number and username to your
       values... For more information on how to use mSQL can be found  in  the
       manual page for msql.

FILES

       /etc/tcpquota/tcpquota.cf  -  Main  configuration  file  for  the whole
       TCPQuota system

       /etc/tcpquota/tcpquota.cf.debug - Configuration file used when  started
       in debug mode

       /etc/init.d/tcpquota.init  -  Used to start and stop the daemon at boot
       time

       /etc/cron.weekly/tcpquotad - Cron script to  rotate  the  tcpquota  log
       files

       /var/log/tcpquotad.log - Log file for the daemon

OPTIONS

       --debug
              Run  the  daemon  in  debug mode, do not fork, print extra debug
              output.

SEE ALSO

       tcpquota.cf(5), msql(5), relshow(1)

AUTHOR

       Turbo Fredriksson, <turbo@tripnet.se>
       Martin Budsjoe, <marbud@tripnet.se>