rstartd man page on Debian

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

RSTARTD(1)							    RSTARTD(1)

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

SYNOPSIS
       rstartd

       rstartd.real [-c configfilename]

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.

OPTIONS
       -c configfilename
	       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 config‐
	       uration	of  the	 location  of  the  configuration  file.    If
	       rstartd.real  is	 started  without  the	-c  option,  it	 reads
	       /usr/lib/X11/rstart/config.

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
       /usr/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 doesn't 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_CONTEXTS	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 commands 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 (/usr/lib/X11/rstart/commands/<context>)
       per-user all-contexts directory ($HOME/.rstart.commands)
       global all-contexts directory (/usr/lib/X11/rstart/commands)
       (Yes, this means you can't have an all-contexts	generic	 command  with
       the same name as a context.  It didn't 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.

       INTERNAL-REGISTRIES name ...
	       Gives  a	 space-separated  list	of "MISC" registries that this
	       system understands.  (Registries other than this	 are  accepted
	       but generate a Warning.)

       INTERNAL-LOCAL-DEFAULT relative_filename
	       Gives the name ($HOME relative) of the per-user config file.

       INTERNAL-GLOBAL-CONTEXTS absolute_directory_name
	       Gives the name of the system-wide contexts directory.

       INTERNAL-LOCAL-CONTEXTS relative_directory_name
	       Gives the name ($HOME relative) of the per-user contexts direc‐
	       tory.

       INTERNAL-GLOBAL-COMMANDS absolute_directory_name
	       Gives the name of the system-wide generic commands directory.

       INTERNAL-LOCAL-COMMANDS relative_directory_name
	       Gives the name ($HOME relative) of the  per-user	 generic  com‐
	       mands directory.

       INTERNAL-VARIABLE-PREFIX prefix
	       Gives  the  prefix  for the configuration environment variables
	       rstartd passes to its kids.

       INTERNAL-AUTH-PROGRAM authscheme program argv[0] argv[1] ...
	       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.

       INTERNAL-AUTH-INPUT authscheme
	       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 n'th argument to
	       the "AUTH authscheme arg1 arg2 ..." line.

       INTERNAL-PRINT arbitrary text
	       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, eg 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, etc.  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 don't think it can write or delete any files, but there's no
       guarantee  of  that.  The important thing is that (a) it probably won't
       do anything REALLY stupid and (b) it runs with the user's  permissions,
       so it can't 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 doesn't know how to look host names up
       using DNS.  The fix is to look up a host name in $DISPLAY  and  substi‐
       tute  an	 IP address.)  This is a trivial example of an incompatibility
       that rstart can hide.

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

AUTHOR
       Jordan Brown, Quarterdeck Office Systems

X Version 11			 rstart 1.0.3			    RSTARTD(1)
[top]

List of man pages available for Debian

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