RTFM(1) General Commands Manual RTFM(1)NAME
rtfm - a response for easy questions from clueless lusers
SYNOPSIS
rtfm [ -p ] [ -h ] [ -d option ] [ -i interval ] [ -a action ] [ -q luser]
DESCRIPTION
rtfm is a command for system administrators to use in dealing with new users. rtfm is useful for dealing with users having trouble with
their pictures downloaded from alt.binaries.pictures.erotica. rtfm will continue to run until killed by hand, using `kill processid'.
rtfm can be invoked by anyone who has enough of a clue to know what a man page is.
OPTIONS -p Give the answer in a polite fashion.
-h Tell the clueless luser to go to hell. Used with the -p option, they'll look forward to the trip.
-d option
Debug mode using option where option is one of the following:
query Ask the luser what part of rtfm that he or she does not understand.
planet Ask what planet the luser is from.
literacy Ask the luser if the luser can read.
english Ask the luser if the luser understands English.
Mac Ask the luser if the luser has ever used a computer other than a Macintosh.
Nintendo Same as the Mac option, but slightly more harsh.
-i interval
Enable within interval seconds. interval is the time between a luser asking the same damn fool question. This option must be acti-
vated for the -a option. It stores the time of the question in /var/run/luser and checks that file each time that rtfm is activated.
interval is a number of minutes, of the form xxx.xx where each x is a decimal digit. The default is 5.00 minutes.
-a action
This defines some action to be taken in the event that the -i flag condition is met. action can be defined either at the flag level
or by a file. The options for flags are as follows:
scream Let out a scream of utter frustration.
hair Rip out your hair in total frustration.
rm Automatic command ran in lusers home directory. It can have an addition -rf flag added.
ignore Ignore the luser.
warn Warn the other sysadmins.
forward Forward to CNS advising. Particullary if the complaint is /dev/null is full.
kill Kill all the lusers processes.
FILE=file.name Use a file to define a course of actions. This can be any executeable file except those using ksh, which no god-fear-
ing right-thinking sysadmin would be caught using lest he be struck down by the wrath of God.
-q luser
Query file /etc/luser to see if luser is a real luser or a first time luser.
FILES
/etc/luser
SEE ALSO mr.biff(2),
BUGS
rtfm only checks /var/run/luser when the -a option is specified and after the -i option is invoked. Otherwise /tmp would fill up rapidly on
many systems. Also, core may dump if the -a FILE= option is anatomically impossible.
GNU Utilities July 27, 1997 RTFM(1)
Check Out this Related Man Page
rcmd(3x)rcmd(3x)Name
rcmd, rresvport, ruserok - routines for returning a stream to a remote command
Syntax
rem = rcmd(ahost, inport, locuser, remuser, cmd, fd2p);
char **ahost;
u_short inport;
char *locuser, *remuser, *cmd;
int *fd2p;
s = rresvport(port);
int *port;
ruserok(rhost, superuser, ruser, luser)
char *rhost;
int superuser;
char *ruser, *luser;
Description
The subroutine is used by the superuser to execute a command on a remote machine using an authentication scheme based on reserved port num-
bers. The subroutine is a routine that returns a descriptor to a socket with an address in the privileged port space. The subroutine is a
routine used by servers to authenticate clients requesting service with All three functions are present in the same file and are used by
the server (among others).
The subroutine looks up the host *ahost using returning -1 if the host does not exist. For further information, see Otherwise *ahost is
set to the standard name of the host and a connection is established to a server residing at the well-known Internet port inport.
If the call succeeds, a socket of type SOCK_STREAM is returned to the caller and given to the remote command as stdin and stdout. If fd2p
is nonzero, then an auxiliary channel to a control process will be set up, and a descriptor for it will be placed in *fd2p. The control
process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX
signal numbers, to be forwarded to the process group of the command. If fd2p is 0, then the stderr (unit 2 of the remote command) will be
made the same as the stdout and no provision is made for sending arbitrary signals to the remote process, although you may be able to get
its attention by using out-of-band data.
The protocol is described in detail in
The subroutine is used to obtain a socket with a privileged address bound to it. This socket is suitable for use by and several other rou-
tines. Privileged addresses consist of a port in the range 0 to 1023. Only the superuser is allowed to bind an address of this sort to a
socket.
The subroutine takes a remote host's name, as returned by a routine, two user names and a flag indicating if the local user's name is the
superuser. It then checks the files and in the user's home directory to see if the request for service is allowed. A 0 is returned if the
machine name is listed in the file, or the host and remote user name are found in the file. Otherwise returns -1. If the superuser flag
is 1, the checking of the file is bypassed.
See Alsorlogin(1c), rsh(1c), gethostent(3n), rexec(3x), rexecd(8c), rlogind(8c), rshd(8c)rcmd(3x)