{
{                        NEW FEATURES IN CLIENT NFS
{                        ==========================

{  Multiple GID Support
{  ====================

       You can access directories on mounted drives that are accessible by
       your User ID (UID), primary Group ID (GID) and secondary GIDs. You
       can have up to 15 secondary GIDs. However, you can configure your
       drive so that the files and directories are created with a
       secondary GID on this drive.

{    User and Group IDs
{    ------------------

       Your User ID and Group ID determine the access rights that you have
       to directories and files. The UID and GID are numbers that may
       have names attached to them.  For example, your UID may be 582 and
       "pamela".  The actual numeric values for your UID and GID are
       assigned by the host system and are compared with values on the
       remote system to determine your access rights to files and
       directories.

       If you have a UID of 582, for example, then you have owner access
       to a file or directory that can be accessed by this UID. GIDs are
       similiarly assigned and used to control access to the group class
       of the file or directory.

       If you create a directory or file on a mounted drive, by default it
       is created with your primary GID. To create files or directories
       with a secondary GID, use the {mount} command with the {/g} option.

       To find out what your UID and GID are, enter {mount /g e:} after
       {e:} has been redirected with a previous {mount} command.

{    Example:
{    --------

              mount /g e: 210

              Device E: UID=582 Default GID=210
              14 Secondary GIDS: 224 211 212 213 214 215 216 217 218 219
              221 222 223 200

       In this example, the user changed the primary GID from 200 to 210.

       You can have up to 15 secondary GIDs associated with your primary
       GID. Therefore, if you have a primary GID of 200, you also have
       secondary GIDs of 210, 211...224, which means that you have group
       access to any directories that are accessible by any of these GIDs.

       If you have the same UID and GID on all NFS servers, the UID and
       GID stored in the authentication cache will work for all
       connections made with the {mount} command.

       For additional information about UNIX access rights, see your
       LANtastic for TCP/IP manual.

       When you enter the {mount} command without a username and password,
       the system looks for a UID and GID in the following order:

           1. If the UID and GID are in the cache, the system goes to the
              authentication cache for the UID and GID.

           2. If the UID and GID are not cached, it uses the UID and GID
              from a previously entered {mount} command to the same host.

           3. If there is no entry in the authentication cache, and the
              server does not have NFSAD or PCNFSD running, the system
              uses the default UID -2 and GID -2 to connect you to the
              server. Your access rights to the file system are the rights
              given to user class "other" if they are supported by the
              server.

{  Receive umask
{  =============

       You can receive your umask from the remote server. Any
       directories you create will have permissions set as umask XOR
       777, and any files you create will have permissions set as umask
       XOR 666.

{    Using umask to Modify Permissions
{    ---------------------------------

       You can use umask to manipulate permissions for files and
       directories on the remote drive in two ways:

           o  Receive the default umask on the remote server

           o  Use {mount /u} to set specific file and directory
              permissions

{    Using the Default umask
{    -----------------------

       By default, you receive your umask from the remote server. Any
       directories you create on the remote drive will have permissions
       set as umask XOR 777, and any files you create will have
       permissions set as umask XOR 666.

       For example, suppose you have an umask set as 022 for your
       account on a remote server. After you mount a remote drive on the
       remote server using this account, any directory you create on the
       mounted drive is created with permissions 755 (022 XOR 777), and
       any file you create is created with permissions 644 (022 XOR 666).

       If you want to create directories with permissions that are
       different from the default on the remote drive, change your umask
       on the remote server.

{    Using Mount to Change umasks
{    ----------------------------

       You can use a temporary umask for a mounted drive if you do not
       want directory and file permissions to depend on your actual
       umask on the remote server.

{    Example:
{    --------

       Assuming drive {e:} is already mounted you could use the following
       command to set a temporary umask:

              mount /u e: 002

       In this example, drive {e:} is mounted with umask of 002. Now the
       created directories and files will have permissions 775 (777 XOR
       002) and 664 (666 XOR 002) respectively.

       {Note...}     If you do not want directories and files created on
                   the remote server to use umask, use the {mount /p}
                   command to set the permissions manually on a mounted
                   drive.

                   This section applies only to files and directories that
                   you create on the mounted drive. Files and directories
                   created previously do not change automatically with
                   umask, although you can modify them with the {mount /p}
                   command.

{  Listing User Name and Group Name
{  =================================

       Use the {ls -l} command to show the UIDs and GIDs of directories
       and files as names.

{    Example:
{    --------

              e:>ls -l

       drwxrwxrwx  wu  wheel   512     Sep 16 09:51   TMP
       drwxrwxr-x  wu  swe     512     Sep 1  09:27   WINSOCK
       lrwxrwxrwx  wu  swe     10      Sep 18 09:38   WINTEST
       lrwxrwxrwx  wu  swe     17      Sep 23 08:59   USR
       drwxrwxrwx  wu  swe     1024    Sep 23 17:10   PCNFSD
       -rwxrwxrwx  wu  wheel   0       Sep 23 09:53   DESKT-MI
       lrwxrwxrwx  wu  swe     15      Sep 22 13:39   PCNFSD.X
       lrwxrwxrwx  wu  swe     15      Sep 22 13:40   FISH
       -rw-rw-r--  wu  swe     5115    Sep 23 13:57   TREEINFO.NCD
       drwxrwxrwx  wu  wheel   512     Sep 23 16:53   NETWO-EE
       Total 8 directories and 2 files

       In this example (on an NFS mounted drive {e:}), the username for
       directory TMP is {wu}, and the groupname is {wheel}.

       Use the {ls -ln} command to show the UID and GID of directories
       and files in numbers.

{    Example:
{    --------

              e:>ls -ln

        drwxrwxrwx     400    150     512     Sep 18 08:59     TMP

       where {wu} is actually a UID of 400 and {wheel} is a GID of 150.

{  Specifying the Number of Retries
{  ================================

       To specify the number of retries before Client NFS times out, use
       the {/t} option with the {mount} command when you mount a drive:

              mount drive: \\server\/path [username [password]] [/t:retry]

       {retry} is the number of retries. Enter a number from 1 to any
       integer up to 65535. The default value is 6.

{  Listing Available Printers
{  ==========================

       You can view a list of all available printers on the server from
       the DOS prompt or Windows DOS box by using the {mount} command line
       option {/l}.

       To list all available printers on the server from the DOS prompt,
       type the following command:

              mount /l server

       {server} is the name of the server for which printer information is
       desired.

{    Example:
{    --------

              mount /l thor

       This command displays a list of available printers on the server
       {thor}.

{  Listing Print Jobs
{  ==================

       If your host is running PCNFSD, you can display a list of all the
       print jobs in the queue for a redirected printer from the DOS
       prompt by typing the following command:

              mount /j [/a] dos_printer

       {/a} lists all print jobs to be displayed. {dos_printer} is LPT1,
       LPT2, or LPT3. If you omit the {/a}, a list of print jobs sent by
       the user who mounted the printer is displayed.

{    Example:
{    --------

              mount /j /a lpt1

       In this example you can view a list of all the print jobs in the
       queue for the printer LPT1.

{  Deleting Print Jobs
{  ===================

       If your host is running PCNFSD, you can delete all print jobs
       from a print queue. Type the following command at the DOS prompt:

              mount /k dos_printer job#

       {dos_printer} is LPT1, LPT2, or LPT3. {job#} is the number of the
       print job you want to delete.

{    Example:
{    --------
 
             mount /k lpt1 14

       This command deletes print job #14 from the printer LPT1.
 
{  Displaying Information about Devices on the Network
{  ===================================================

       Use the {/i} option to display general information about a mounted
       device.

              mount /i [drive:]

{    Example:
{    --------

              mount /i f:

                      REDIRECTOR INFORMATION
  -----------------------------------------------------------------
  DEVICE: F:   STATUS: OK   HOST: \\obelix\/home(129.84.3.62)
  PATH:\\obelix\/home
  Uid: 416  Gid: 100  Timeout: 4 clicks (PCNFSD) (Chksum Disable)
  3 GIDS: 101 1000 1001
  r_size: 4096   w_size: 8192   Lock port: 1107 DOSSHARE Retry: 6
  Permission: (file) 0664 (directory) 0775
  < Root fhandle > 00 00 0a 0c 00 00 00 01 00 0a 00 00 00 00 00 02
                    79 ab 40 cd 00 0a 00 00 00 00 00 02 79 ab 40 cd
  < Current fhandle > 00 00 0a 0c 00 00 00 01 00 0a 00 00 00 00 00
                       02 79 ab 40 cd 00 0a 00 00 00 00 00 02 79 ab 40 cd
  4 NFS devices free.
  Cache UID = 416 GID = 100 GIDS = 101 1000 1001
  Cache username: Frank
  Last NFS error: 13 (Permission denied)

       {Note...}     To prevent filenames from being remapped by the
                   redirector agent, type {mount /i}. See "Preventing
                   Filename Remapping" later in this section.

{  Discovering NFS Servers on the Network
{  ======================================

       To determine if a particular NFS server is available, type the
       following command:

              mount /n [hostname ]

       {hostname} is the name of a specific NFS server. If {hostname} is
       omitted from the command, then all NFS servers on the network are
       displayed.

       {Note...}     Systems that use IP Broadcast bits limit the NFS
                   servers that are displayed. For example, systems using
                   IP Broadcast bit 0 will display only NFS servers that
                   also use IP Broadcast bit 0. The same is true of
                   systems using IP Broadcast bit 1.

{  Obtaining RPC Information about a Server
{  ========================================

       To obtain RPC information about a server, type the following
       command:

              mount /o server

       {server} is the name of the remote server. The format of the output
       is shown below.

              [program #, version #, protocol, port #]

{  Using Absolute and Relative Symbolic Links
{  ==========================================

       You can access directories or files that have symbolic links and
       are mounted on the remote server. An absolute symbolic link
       references a file with a full pathname starting from the root
       directory. A relative symbolic link refers to a file with a
       pathname starting from the current directory.

{    Examples:
{    ---------

       A directory with a relative link:

             lrwxrwxrwx  1 wu  10 Sep 18 10:38 wintest ->../wintest

       A directory with an absolute link:

             lrwxrwxrwx  1 wu  17 Sep 23 09:59 usr -> /archives/smb/usr

       A file with an absolute link:

             lrwxrwxrwx  1 wu  15 Sep 22 14:40 fish -> /user/games/fish

       A file with a relative link:

             lrwxrwxrwx  1 wu  15 Sep 22 14:39 pcnfsd.x -> pcnfsd/pcnfsd.x

       These same directories and files are displayed on a mounted drive
       like this:

             lrwxrwxrwx wu  swe  10 Sep 18 09:38 WINTEST
             lrwxrwxrwx wu  swe  17 Sep 23 08:59 USR
             lrwxrwxrwx wu  swe  15 Sep 22 13:40 FISH
             lrwxrwxrwx wu  swe  15 Sep 22 13:39 PCNFSD.X

       In this example, you could change to directory /archives/smb/usr
       by changing the directory to usr, which is an absolute symbolic
       link to this directory. Similarly, you could directly access the
       file pcnfsd/pcnfsd.x by accessing the file pcnfsd.x, which is a
       relative symbolic link to the original file.  On a mounted drive,
       these symbolic links are transparent to a user.

{  Mounting a File System with Symbolic Links
{  ==========================================

       You can mount a file system with absolute or relative symbolic
       links.  To access the files and directories with symbolic
       links, the original directories and files must be exported.

       If directory /usr/iptcp/release on a remote server has a symbolic
       link called release in the /home/wu directory on the same remote
       server, you can mount /usr/iptcp/release using /home/wu/release as
       the directory path name in a {mount} command.

       To mount or access a directory with relative links, the original
       directory must be exported. Using the above example, if the
       directory /usr/iptcp/release on a remote server has a relative
       link called release in the /home/wu directory on the same remote
       server, the original directory, /usr/iptcp/release, should be
       exported to the user in the /etc/exports file.

       {Note...}     If original directories and files are not exported,
                   they are not listed with the {dir} or {ls -l} commands.
                   However, all directories and files are listed with the
                   {ls} command.

{  Mounting a File System without File-Sharing
{  ===========================================

       You can mount a file system without file-sharing turned on by
       typing {mount /nsh}.  This prevents the LOCK daemon from detecting
       file-sharing violations.

{  Using the LOCK Daemon
{  =====================

       You can use the LOCK daemon for file-sharing and record-locking
       management when either PCNFSD or NFSAD are used for authentication.
       Client NFS has file-sharing, file-locking, and record-locking on by
       default whenever you mount a device.

       File-sharing allows a file system to be opened by more than one
       user with an application that supports file-sharing.  File-locking
       allows only one user at a time to write to a file.  Without
       file-locking, users could make simultaneous alterations, or could
       read the file while it is being modified.  Record-locking prevents
       two users from writing to a record simultaneously.

       {Note...}     Users who want to use NFSAD for authentication
                   (instead of PCNFSD v2) and Sun's Network Lock Manager
                   [(NLM) (rpc.lockd)] for file-locking should use the
                   {/ld} option with the {mount} command. Otherwise NFS
                   uses either NFSAD or NLM for file-locking, whichever is
                   available.

       Each application on the NFS server determines how file-sharing and
       file-locking work. When you open or create a file using a specific
       application, the file is subject to the sharing and locking mode of
       the application. Not all applications provide file-locking.

       Some lock daemons return incorrect information, which can cause a
       false DOS alarm. To mount a file system without file-sharing turned
       on, type {mount} {/nsh}.

{  Preventing Filename Remapping
{  =============================

       Some NFS servers with CD-ROM disks return uppercase filenames that
       have other legal DOS conventions. To reduce confusion, use the
       {/i} command line option during the {mount} operation on these
       servers.

       If you use the {/i} option, the NFS redirector agent does not map
       filenames with uppercase letters returned by an NFS server to DOS
       file format. However, these uppercase filenames should meet other
       DOS filenaming conventions such as a filename length of up to eight
       characters followed by a three character extension.

{  Sending Extra Formfeeds with LPRS
{  =================================

       You can now send extra formfeeds with each print file.  This is
       helpful when printing from applications that do not send a
       formfeed.

              lprs [-1dos_printer] [-2dos_printer] [-3dos_printer] [-f]

       When you add the {-f} option, the LPR server sends an extra
       formfeed to the printer at the end of each job.

{  Special Notes
{  =============

{    Print Command Syntax
{    --------------------

       Chapter 17 of the LANtastic for TCP/IP manual states that to print
       a file you can use the following syntax:

              print filename dos_printer

       This syntax returns the message ~access denied`.  If you use
       the {print filename} syntax, you can print to the default device.

       If you are using the {print} command instead of the copy command
       to print, use the following:

              print /D:device filename

       {device} is LPT1, LPT2, or LPT3. For a detailed explanation of the
       syntax of this command, type {print /?}.

{    Printing from VAX/VMS
{    ---------------------

       When using LPRINT, if you are printing files from Windows
       applications to a non-PostScript printer attached to VAX/VMS, add
       the following entries to the printcap file on VAX/VMS:

              /type=fixed
              /record_size=512
              /passall

{    Updating to PCNFSD Version 2
{    ----------------------------

       In order to take advantage of several new Client NFS features in
       LANtastic for TCP/IP the NFS server must be running PCNFSD
       version 2.  This version is available from most NFS server
       providers. It is also available in source code on the Internet via
       anonymous FTP.  The FTP site is bcm.tmc.edu (128.249.2.1) and the
       file name is /pcnfs/pcnfsd.93.02.16.tar.Z.

       Version 2 of PCNFSD is also available on the Arti-Facts Bulletin
       Board Service (BBS). Instructions for using the BBS are located in
       Appendix A of your LANtastic for TCP/IP manual. The file is called
       PCNFSD.ZIP.
