RATS Client Overview

The RATS client is made out of two major parts. The first is the ratsd daemon which should be running on every host on which an accounting related operation needs to be performed. For example this daemon needs to run on your nfs servers if quotas need to be set, but there may be little reason to run it on your web server. You can tell which hosts this daemon needs to run on by looking at your config file and seeing which hosts have functions associated with it. The second part of the RATS client are the actual tools such as ratsadmin and rats.cgi.  These tools contain the logic glue that allows account creation and communicate with ratsd and the main RATS server. A configuration file is needed with every client daemon or tool installation.


The client daemon is designed to do most of the account creation work on your cluster.  These daemons are responsible for adding entries to password files, setting quotas and so on.  This daemons take commands from the network using a documented API and respond to them.  The communications are encrypted using triple DES.   Each daemon will parse the incoming
commands, consult the config file to figure out if  it is responsible for that particular command and execute the command if necessary or forward it to the appropriate daemon.  Needless to say, you should make sure that you config file does not create endless loops.

RATS clients

The clients are responsible for managing the logic of the account creation process.  The clients are those which will determine if an account should be created, what properties it should have, dispatching the appropriate calls to the various daemons and maintaining communications with the main RATS server for database queries.   There are currently two of these clients, one CLI multi-purpose client named ratsadmin and one Web client rats.cgi which is to be used for user directed account creation (it replaces both "mackacct" and "classact")