GNU Info

Info Node: (mtools.info)floppyd

(mtools.info)floppyd


Next: floppyd_installtest Prev: Commands Up: Commands
Enter node , (file) or (file)node

Floppyd
=======

   `Floppyd' is used as a server to grant access to the floppy drive to
clients running on a remote machine, just as an X server grants access
to the display to remote clients.  It has the following syntax:

   `floppyd' [`-d'] [`-l'] [`-s' PORT] [`-r' USER] [`-b' IPADDR]
DEVICENAME [DISPLAYNAMES]

   `floppyd' is always associated with an X server.  It runs on the
same machine as its X server, and listens on port 5703 and above.

Authentication
--------------

   `floppyd' authenticates remote clients using the `Xauthority'
protocol. Xhost authentication is not supported. Each floppyd is
associated with an X server.  When a remote client attempts to connect
to floppyd, it sends floppyd the X authority record corresponding to
floppyd's X server.  Floppyd in turn then tries to open up a connection
to the X server in order to verify the authenticity of the xauth record.
If the connection to the X server succeeds, the client is granted access

   *Caution*: In order to make authentication work correctly, the local
host should *not* be listed in the `xhost' list of allowed hosts.
Indeed, hosts listed in `xhost' do not need a correct `Xauthority'
cookie to connect to the X server. As `floppyd' runs on the same host
as the X server, all its probe connection would succeed even for
clients who supplied a bad cookie.  This means that your floppy drive
would be open to the world, i.e. a huge security hole.   If your X
server does not allow you to remove `localhost:0' and `:0' from the
`xhost' list, you can prevent floppyd from probing those display names
with the `-l' option.

Command line options
--------------------

`d'
     Daemon mode. Floppyd runs its own server loop.  Do not supply this
     if you start floppyd from `inetd.conf'

`s  PORT'
     Port number for deamon mode.  Default is 5703 + DISPLAYNUMBER.
     This flag implies daemon mode.  For example, for display
     `hitchhiker:5', the port would be 5708.

`b  IPADDR'
     Bind address (for multihomed hosts). This flag implies daemon mode

`r USER'
     Run the server under as the given user

`l'
     Do not generate local default display names

   DEVICENAME is the name of the device node to be opened.  Default is
`/dev/fd0'.

   DISPLAYNAMES is a list of display names to connect to for
authentication.  All displays in the list are tried until one is found
that grants access or until the list is exhausted.  If no list is
supplied, the a display name list based on the ip address supplied using
the `-b' flag is constructed:
     `IPADDR:N.0'.

   * `:'N`.0'
    If `floppyd' is started from inetd, the address of the socket used
for stdin is used as a bind address.

   If no bind address is supplied, a list containing the following 3
items is constructed:
   * HOSTNAME`:'N`.0'

   * `localhost:'N`.0'

   * `:'N`.0'

   N is the display number derived from the port number (PORT - 5703
modulo 10). The local items (`localhost:0' and `:0') are not
constructed if the `-l' flag is given.

Connecting to floppyd
---------------------

   In order to use floppyd, add the flag `remote' to the device
description in your `~/.mtoolsrc' file.  If the flag `remote' is given,
the `file' parameter of the device description is taken to be a remote
address.  It's format is the following:
HOSTNAME`:'DISPLAYNUMBER[`/'BASEPORT]. When using this entry, mtools
connects to port BASEPORT+DISPLAYNUMBER at HOSTNAME. By default
BASEPORT is 5703.

Examples:
---------

   The following starts a floppy daemon giving access to `/dev/fd0',
listening on the default port 5703, tied to the default X servers:

     floppyd -d /dev/fd0

   Each of the following starts a floppy daemon giving access to
`/dev/fd1', tied to the :1 local X servers, and listening on port 5704.
We assume that the local host is named `hitchhiker'.

     floppyd -d /dev/fd0 localhost:1 hitchhiker:1 :1
     floppyd -p 5704 /dev/fd0

   If you want to start floppyd by `inetd' instead of running it as a
daemon, insert the following lines into `/etc/services':
     # floppy daemon
     floppyd-0    5703/tcp    # floppy daemon for X server :0
     floppyd-1    5704/tcp    # floppy daemon for X server :1

   And insert the following into `/etc/inetd.conf' (assuming that you
have defined a user named floppy in your `/etc/passwd'):

     # floppy daemon
     floppyd-0   stream  tcp  wait  floppy  /usr/sbin/floppyd floppyd /dev/fd0
     floppyd-1   stream  tcp  wait  floppy  /usr/sbin/floppyd floppyd /dev/fd1

   Note that you need to supply the X display names for the second
floppyd.  This is because the port is opened by inetd.conf, and hence
floppyd cannot know its number to interfere the display number.

   On the client side, insert the following into your `~/.mtoolsrc' to
define a drive letter accessing floppy drive in your X terminal:
     drive x: file="$DISPLAY" remote


automatically generated by info2www version 1.2.2.9