GNU Finger is the collective name for a set of programs:
finger
server. Returns the output from
the server. finger
connects to in.fingerd
on the host
specified in the command line. This is the only program you need to know
anything about if you're a regular user. You should refer to this
program as the finger client to avoid possible confusion.
in.cfingerd
on the clients specified in the
`fingerdir/clients' file, to obtain finger data. This client data
is saved in the file `fingerdir/userdata'. fingerd
should
run on the host specified in the `fingerdir/serverhost' file.
fingerd
should be started at boot time.
finger
connections through inetd
. Should be
attached to the `finger' service via `/etc/inetd.conf'.
in.fingerd
behaves somewhat differently depending on what host it
runs on: on the server host it reads the `fingerdir/userdata'
database, on all other hosts it forwards all requests (unless
`.local' is the target) to in.fingerd
on the host specified
in `fingerdir/serverhost'.
in.fingerd
reads the `fingerdir/userdata' database, various
system files, and makes SMTP connections to the host specified in the
`fingerdir/mailhost' file.
fingerd
by
sampling the status on the client and forwarding it to fingerd
.
It should be configured to respond to the `cfinger' service
specified in the `clients' configuration file, or port 2003 if
nothing else is specified.
When the GNU Finger server receives a request for information about a user it looks to see if the user has a `.fingerrc' file in the home directory. If such a file exists, and is executable, then this file is executed, and the normal finger output is passed to it as input. Its output becomes what is returned for the request. Thus, it can be used to:
finger
by ignoring its input. Below
is a sample script which could be put in `~price-info/.fingerrc'.
#! /bin/sh # # This sample script replaces the output of GNU Finger # echo Hack-O-Matic Consulting Services, Inc. " " `date` cat <<ETX Hi, thanks for asking us about prices on our newly introduced support services for Free Software. Below is a list of new services; for a list of our previous services, please send mail to this address and someone will contact you. Please don't forget to tell us how to reach you. ETX cat ~/info/new-stuff
#! /bin/sh # # This sample filter replaces the "Project:" tag with # "Working on:" # sed -e 's/^Project:$/Working on:/g'Then when `finger -l bson@gnu.ai.mit.edu' is run, the output could look something like:
Jan Brittenson (bson) Home: /home/fsf/bson Shell: /usr/local/bin/bash No mail. Jan Brittenson (bson) is not presently logged in. Last seen at wombat.gnu.ai.mit.edu on Tue Sep 1 15:08:12 1992 No plan. Working on: 1. Hacking GNU Finger 2. Making friends
Various special targets can be added as executable files in the directory `fingerdir/targets'. Each file name in this directory starts with a letter describing when to execute it, followed by a hyphen and the target name. The three letters are:
For instance, the special-target file `x-.help' is run for either `finger .help' or `finger -l .help', whereas the special- target file `l-prices' is run only for `finger -l prices'.
The special-target file is run as super-user, and is given no input. By convention, all GNU Finger sites should support at least:
When invoked, the GNU Finger client looks to see if a `--port' option was specified on the command line. If so, then this becomes the port number or service used. Otherwise, the client looks to see what name it was started under, removes any leading directory path, and any trailing suffixes. A suffix is the part of a filename that follows a dot, including the dot itself. This is the service name used. For instance, if GNU Finger is installed as `/usr/local/bin/finger.new', then the service `finger' is used. If it's installed as `/usr/local/bin/gfinger', then the service `gfinger' is used. This behavior can be changed by the system administrator during installation.
Go to the first, previous, next, last section, table of contents.