File: README

package info (click to toggle)
efingerd 1.3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 180 kB
  • ctags: 36
  • sloc: sh: 297; ansic: 278; makefile: 62
file content (108 lines) | stat: -rw-r--r-- 4,156 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
=========================================================
                    efingerd

  Radovan Garabik <garabik@melkor.dnp.fmph.uniba.sk>
http://melkor.dnp.fmph.uniba.sk/~garabik/efingerd.html

=========================================================

efingerd is a nice finger daemon, giving you complete control over what are
you going to send to somebody fingering your computer. 
It is based on my xtell program, which is in turn based on ident2 by Michael 
Bacarella.

Requirements:
linux, freebsd, maybe others

If you are just an ordinary user and efingerd is already installed by your 
friendly administrator, you can take the advantage of it by making 
executable .efingerd in your home directory (it can be anything - from 
single shell script to a program in super-hyper-extra-object oriented 
language - only speed makes a difference). This program takes two 
arguments, the first is the name of remote user fingering you (or (null) 
if his/her/its system does not run ident), the second one is address of 
his computer (or IP number, if efingerd is installed with option -n). 
Standard output of this program is then displayed to the person fingering 
you. Look at examples-standard/.efingerd for a nice example. 

The program itself depends on libident (you can get it from 
ftp://ftp.lysator.liu.se/pub/ident/libs). If you cannot install it, you 
can still compile efingerd, just add -DDONT_HAVE_LIBIDENT to the gcc options
(see Makefile). However, without ident you
loose one of the strongest features of efingerd, i.e. deciding about the
finger output depending on who is fingering. Similary, if you do not have
snprintf, add -DDONT_HAVE_SNPRINTF in Makefile.	

How to compile and install:

If you have debian system with all neccessary packages installed, type 
dpkg-buildpackage (or dpkg-buildpackage -rfakeroot) in the package's 
directory, then type 
dpkg -i ../efingerd*deb

Else:

1) look at Makefile and define.h

2) type make
   This should produce the executable efingerd.
   If it worked, ok, if not, there is an error somewhere :-)

3) become root

4) type make install  

5) replace this line in /etc/inetd.conf
 
finger	stream	tcp	nowait	nobody	/usr/sbin/tcpd	/usr/sbin/in.fingerd

   with this line:

finger	stream	tcp	nowait	nobody	/usr/sbin/tcpd	/usr/local/sbin/efingerd

   Notice that the entries are separated by tabs, not spaces.
   efingerd recognizes following options:
   --help  short help
   --version or -v Print version information and exit.
   -t X       Lifetime for spawned services (in seconds)
	      ex: -t 25  maintain connections for up to 25 seconds
   -n         Do not lookup addresses, use IP numbers instead
   -f         Do not display users' full names
   -u         Ignore user-specific .efingerd file   

6) set up your own scripts providing the information about your machine in 
   /etc/efingerd/
   You need these scripts:
   
   /etc/efingerd/list
          - what to display when somebody does finger @your.machine
   /etc/efingerd/luser
          - what to display when somebody fingers user on your machine, and 
            the fingered user does not have ~/.efingerd file
   /etc/efingerd/nouser
          - what to display when somebody fingers non-existent user on 
            your machine    

  If the local user has file .efingerd in his/her home directory, and it is 
  readable ( this is a BUG - should be executable :-) ) by user nobody, it 
  will be executed and it's output will be served to the fingerer (unless
  forbidden by -u option)

  These are normal programs, displaying on standard output desired 
  information. These programs are called with following parameters:
  $1 - identity of remote user, (null) if his/her/its system is not running
       ident
  $2 - address of remote machine (IP number if it has not reverse DNS 
       entry or you specified -n)
  $3 - name of local user being fingered
  
  The lines should end in CRLF (as for RFC), but in practise this does not 
  make much difference.
  

  Look at examples*/ for examples.
  Don't forget that these programs must be executable by user nobody.
   

7) restart inetd with killall -HUP inetd