The fingerconf file is a simple XML-like file. This means every option has the form <option>value</option>.
2. Most important options
<siteinfo> Contains a text that is displayed for a
"finger .site@sample.org"
<specialfile> Special "dot"-Files in the users home
directory that can be retrieved with finger
(e.g. finger user.pgpkey@sample.org
returns the file ~user/.pgpkey, if pgpkey
is defined as special file)
<option> enables an option:
showidle: Display the idle-time of the users
showfrom: Display from where a user is connected
<dbpath> see section 3.3
<sitehost> see section 3.5
<clientlist> ""
<client> ""
<poll> ""
<sitemaster> same as <sitehost> (backwards compatibilty)
3. /usr/share/finger/statusdb
PFinger uses a database to store the users that are logged in on a remote host. Its default path is /usr/share/finger/. However if you are using GNU Finger compatibility mode (see below) the default is /usr/local/etc/fingerdir/. The default path can be overridden in the configfile with the directive <dbpath>/path/to/dbdir/</dbpath>.
The file must be writeable by the Site Finger Deamon (see below) and readable by the finger deamon.
If you are not using PFinger as a Site deamon the statusdb file is not entirely necessary but the deamon will complain about it in the syslog.
4. GNU Finger compatibility
Enable GNU Finger compatibility mode by starting in.fingerd with the "-g" option. (Set this in the inetd.conf). Further explanation of this mode can be found in the README.
5. Site Finger Deamon
PFinger provides a site finger deamon, which allows you to provide finger information for a whole cluster at a single host. We call the hosts of the cluster "clients" and the Server were the fingerd programs runs "master".
Example Scenario:
We have several Computers in a laboratory. All computers have the same configuration (e.g. the same logins). None of them is assigned to a single person. This means it is not predictable which host someone will use, which makes the finger service somewhat unusable. Now we are able to install the PFinger in.fingerd on all hosts and the PFinger fingerd on a Server. Now everyone can query the Server and gets the same information as if he or she were querying all hosts of the cluster.
Installation:
On every client you need to install the "in.fingerd" program as shown
above. Also you need on every host a simple configuration file
pointing to the master:
Example /etc/fingerconf:
<fingerconf>
<sitehost>master_hostname</sitehost>
</fingerconf>
On the master you need to run the "fingerd" program. This program automatically gathers the online information from the clients all 30 seconds (configurable). The users need not to be able to log into the master. They must however be known (via /etc/passwd, yp/NIS or similar).
In the /etc/fingerconf file you need to specify
- for every client:
<client>client_hostname</client>
in the <clientlist> directive
- for another interval than 30 seconds:
<poll>seconds</poll>
Exapmle server /etc/fingerconf:
(Poll clients (lab1 and lab2) all 150 seconds)
<fingerconf> <poll>150</poll> <clientlist> <client>lab1</client> <client>lab2</client> </clientlist> </fingerconf>
<!-- Sample Finger configuration file for the server --> <!-- this file is read by the finger deamon at startup time --> <fingerconf> <siteinfo> </siteinfo> <option> showidle </option> <option> showfrom </option> <specialfile> plan </specialfile> <specialfile> key <desc>Public key</desc> </specialfile> <specialfile> pgpkey <desc>PGP public key</desc> </specialfile> <desc>User face bitmap</desc> </specialfile> </fingerconf>