NETFS(8)                                                 NETFS(8)

          netfs - network file system





          The network file system is conventionally a set of directo-
          ries contained in /n, and a set of files and programs con-
          tained in /usr/net.

          The connections in the network file system are asymmetric,
          connecting a client and a server. When the client is con-
          nected to the server, the server's file system appears in
          one of the directories in /n. The client establishes and
          maintains connections to servers using /usr/net/setup, which
          is started by invoking the shell script /usr/net/setup.go in
          rc(8). This program uses the file /usr/net/friends to con-
          trol the connections to servers.  Each line in
          /usr/net/friends contains four fields: service name, mount
          point, unique identifier, and debugging flag.  The service
          name is the network name for the server, for instance,
          mh/astro/aliceF for the server on alice.  The mount point is
          the name of the directory on which the remote file system is
          to be mounted, for instance /n/alice. The unique identifiers
          can be any integers bigger than the maximum major device
          number of a device in the system, and smaller than 255.  The
          simplest practice is to number the lines consecutively
          starting at 64.  The debugging flag is usually 0, but can be
          set to 3 before the connection is established to cause the
          server to store copious debugging information in a buffer,
          called debugbuf, which can be examined using pi(9.1). Setup
          reads the file and attempts to connect to all the servers it
          is not already connected to.  If the file is changed it will
          be re-read within 30 seconds.  Connections are tried every
          20 minutes.  If the connection exists it is tested every 30
          seconds, and shut down if there is no response to several
          consecutive probes.

          The server program is /usr/net/fshare, invoked in /usr/rc by
          /usr/net/share.go. It runs as super-user.  It uses a table
          /usr/net/people to translate permissions between the server
          and its clients.  The front of the file explains its format.
          The permission table is maintained by running pscript in the

     NETFS(8)                                                 NETFS(8)

          directory /usr/net. This produces a table by matching login
          names from the client and server password files.

          /n/*              mount points for remote file systems
          /usr/net/people   userid translation table
          /usr/net/friends  connection list

          Group permissions are not well mapped.