rstartd man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

rstartd(1X)							   rstartd(1X)

NAME
       rstartd - a sample implementation of a Remote Start rsh helper

SYNOPSIS
       rstartd, rstartd.real [-c configfilename]

OPTIONS
       This  option  specifies the "global" configuration file that rstartd is
       to read.	 Normally, rstartd is a shell script that invokes rstartd.real
       with the -c switch, allowing local configuration of the location of the
       configuration file.  If rstartd.real is started without the -c  option,
       it  reads  <XRoot>/lib/X11/rstart/config,  where	 <XRoot> refers to the
       root of the X11 install tree.

DESCRIPTION
       rstartd is an implementation of a Remote Start "helper" as defined in A
       Flexible Remote Execution Protocol Based on rsh.

       This document describes the peculiarities of rstartd and how it is con‐
       figured.

INSTALLATION
       It is critical to successful interoperation of the Remote Start	proto‐
       col  that rstartd be installed in a directory which is in the "default"
       search path, so that default rsh requests and the ilk will be  able  to
       find it.

CONFIGURATION AND OPERATION
       rstartd	is  by design highly configurable.  One would like things like
       configuration file locations to be fixed, so that users and administra‐
       tors  can  find them without searching, but reality is that no two ven‐
       dors will agree on where things should go, and nobody thinks the origi‐
       nal  location  is "right".  Thus, rstartd allows one to relocate all of
       its files and directories.

       rstartd has a hierarchy of configuration files which  are  executed  in
       order when a request is made.  They are:

       global  config per-user ("local") config global per-context config per-
       user ("local") per-context config config from request

       As you might guess from the presence of "config from request",  all  of
       the  config  files  are	in  the	 format of an rstart request.  rstartd
       defines a few additional keywords with the INTERNAL- prefix for	speci‐
       fying its configuration.

       rstartd	starts	by  reading and executing the global config file. This
       file will normally specify the locations	 of  the  other	 configuration
       files and any systemwide defaults.

       rstartd	will  then  read  the  user's  local config file, default name
       $HOME/.rstart.

       rstartd will then start interpreting the request.

       Presumably one of the first lines in the	 request  will	be  a  CONTEXT
       line.  The context name is converted to lower case.

       rstartd will read the global config file for that context, default name
       <XRoot>/lib/X11/rstart/contexts/<name>, if any.

       It will then read the user's config file for that context, default name
       $HOME/.rstart.contexts/<name>, if any.

       (If neither of these exists, rstartd aborts with a Failure message.)

       rstartd	will  finish interpreting the request, and execute the program
       specified.

       This allows the system administrator and the user  a  large  degree  of
       control	over  the  operation  of rstartd.  The administrator has final
       say, because the global config file does not need to specify a per-user
       config  file.  If it does, however, the user can override anything from
       the global file, and can even completely	 replace  the  global  context
       config files.

       The config files have a somewhat more flexible format than requests do;
       they are allowed to contain blank lines and lines  beginning  with  "#"
       are  comments  and  ignored.   (#s in the middle of lines are data, not
       comment markers.)

       Any commands run are provided a few useful  pieces  of  information  in
       environment  variables.	The exact names are configurable, but the sup‐
       plied defaults are:

       $RSTART_CONTEXT		   the name of the context $RSTART_GLOBAL_CON‐
       TEXTS	 the global contexts directory $RSTART_LOCAL_CONTEXTS	   the
       local contexts directory $RSTART_GLOBAL_COMMANDS	    the global generic
       commands	 directory  $RSTART_LOCAL_COMMANDS	the local generic com‐
       mands directory

       $RSTART_{GLOBAL,LOCAL}_CONTEXTS should contain one special file, @List,
       which  contains	a list of the contexts in that directory in the format
       specified for ListContexts.  The supplied version of ListContexts  will
       cat both the global and local copies of @List.

       Generic commands are searched for in several places: (defaults)

       per-user	  per-context	directory   ($HOME/.rstart.commands/<context>)
       global per-context directory
			     (<XRoot>/lib/X11/rstart/commands/<context>)  per-
       user  all-contexts  directory  ($HOME/.rstart.commands) global all-con‐
       texts directory (<XRoot>/lib/X11/rstart/commands)

       (Yes, this means you cannot have an all-contexts generic	 command  with
       the same name as a context.  It did not seem like a big deal.)

       Each  of	 these	directories should have a file called @List that gives
       the names and descriptions of the commands in  that  directory  in  the
       format specified for ListGenericCommands.

CONFIGURATION KEYWORDS
       There are several "special" rstart keywords defined for rstartd config‐
       uration.	 Unless otherwise specified, there are	no  defaults;  related
       features are disabled in this case.

       Gives  a	 space-separated  list	of  "MISC" registries that this system
       understands.  (Registries other than this are accepted but  generate  a
       Warning.)  Gives the name ($HOME relative) of the per-user config file.
       Gives the name of the system-wide contexts directory.  Gives  the  name
       ($HOME relative) of the per-user contexts directory.  Gives the name of
       the system-wide generic commands directory.  Gives the name ($HOME rel‐
       ative)  of  the	per-user generic commands directory.  Gives the prefix
       for the configuration environment variables rstartd passes to its kids.
       Specifies the program to run to set up authentication for the specified
       authentication scheme.  "program argv[0] ..." gives the program to  run
       and its arguments, in the same form as the EXEC keyword.	 Specifies the
       data to be given to the authorization program as	 its  standard	input.
       Each  argument  is passed as a single line. $n, where n is a number, is
       replaced by the	nth argument to the "AUTH authscheme  arg1  arg2  ..."
       line.   Prints  its  arguments  as a Debug message.  Mostly for rstartd
       debugging, but could be used to debug config files.

NOTES
       When using the C shell, or any other shell which runs  a	 script	 every
       time the shell is started, the script may get run several times. In the
       worst case, the script may get run three times:

       By rsh, to run rstartd By rstartd, to run the specified command By  the
       command, for example, xterm

       rstartd currently limits lines, both from config files and requests, to
       BUFSIZ bytes.

       DETACH is implemented by redirecting file descriptors  0,1,  and	 2  to
       /dev/null and forking before executing the program.

       CMD is implemented by invoking $SHELL (default /bin/sh) with -c and the
       specified command as arguments.

       POSIX-UMASK is implemented in the obvious way.

       The authorization programs are run in the same context  as  the	target
       program	--  same environment variables, path, and so forth.  Long term
       this might be a problem.

       In the X context, GENERIC-CMD Terminal runs xterm. In  the  OpenWindows
       context, GENERIC-CMD Terminal runs cmdtool.

       In  the	X context, GENERIC-CMD LoadMonitor runs xload. In the OpenWin‐
       dows context, GENERIC-CMD LoadMonitor runs perfmeter.

       GENERIC-CMD ListContexts lists the contents of @List in both  the  sys‐
       tem-wide	 and  per-user	contexts  directories.	It is available in all
       contexts.

       GENERIC-CMD ListGenericCommands lists the contents of @List in the sys‐
       tem-wide	 and  per-user commands directories, including the per-context
       subdirectories for the current context.	It is available	 in  all  con‐
       texts.

       CONTEXT None is not implemented.

       CONTEXT Default is really dull.

       For  installation  ease,	 the  "contexts" directory in the distribution
       contains a file "@Aliases" which lists a context name and  aliases  for
       that  context.  This  file is used to make symlinks in the contexts and
       commands directories.

       All MISC values are passed unmodified as environment variables.

       One can mistreat rstartd in any number of ways, resulting  in  anything
       from  stupid  behavior to core dumps.  Other than by explicitly running
       programs I do not think it can write or delete any files,  but  there's
       no guarantee of that.  The important thing is that (a) it probably will
       not do anything REALLY stupid and (b) it runs with the  user's  permis‐
       sions, so it cannot do anything catastrophic.

       @List  files  need not be complete; contexts or commands which are dull
       or which need not or should not be advertised need not  be  listed.  In
       particular,  per-user  @List  files should not list things which are in
       the system-wide @List files.  In the future, perhaps  ListContexts  and
       ListGenericCommands  will automatically suppress lines from the system-
       wide files when there are per-user replacements for those lines.

       Error handling is OK to weak.  In particular, no	 attempt  is  made  to
       properly	 report	 errors	 on the exec itself.  (Perversely, exec errors
       could be reliably reported when detaching, but  not  when  passing  the
       stdin/out socket to the app.)

       If compiled with -DODT1_DISPLAY_HACK, rstartd will work around a bug in
       SCO ODT version 1.  (1.1?)  (The bug is that the X clients are all com‐
       piled  with  a bad library that does not know how to look host names up
       using DNS. The fix is to look up a host name in $DISPLAY and substitute
       an  IP  address.)  This is a trivial example of an incompatibility that
       rstart can hide.

SEE ALSO
       rstart(1X), rsh(1), A Flexible Remote Execution Protocol Based on rsh

AUTHOR
       Jordan Brown, Quarterdeck Office Systems

								   rstartd(1X)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net