Annotation of researchv10dc/man/man8/netfs.8, revision 1.1.1.1

1.1       root        1: .TH NETFS 8
                      2: .CT 1 sa_nonmortals
                      3: .SH NAME
                      4: netfs \- network file system
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .B /usr/netb/setup.go
                      8: .fi
                      9: .SH DESCRIPTION
                     10: The network file system is conventionally a set of directories
                     11: contained in
                     12: .FR /n ,
                     13: and a set of files and programs in
                     14: .FR /usr/netb .
                     15: Connections in the network file system are asymmetric:
                     16: files on a `server' system are made accessible on a `client' system,
                     17: usually in directory
                     18: .BI /n/ server-name.
                     19: .SS Client
                     20: The client runs
                     21: .FR /usr/netb/setup 
                     22: to maintain connections;
                     23: it is started by invoking
                     24: .F /usr/netb/setup.go
                     25: from
                     26: .IR rc (8).
                     27: .I Setup
                     28: uses
                     29: .F /usr/netb/friends
                     30: to control the connections to servers.
                     31: Each line in
                     32: .I friends
                     33: contains six fields:
                     34: .RS
                     35: network address
                     36: .br
                     37: network call argument
                     38: .br
                     39: mount point
                     40: .br
                     41: protocol id
                     42: .br
                     43: unique identifier
                     44: .br
                     45: debugging flag
                     46: .br
                     47: network calling username
                     48: .RE
                     49: .PP
                     50: The network address and argument give the location of the server.
                     51: They are interpreted differently according to the protocol id,
                     52: which should be one of
                     53: .TP
                     54: .B d
                     55: Call the server on the named network address,
                     56: with default network
                     57: .L dk
                     58: and default service name
                     59: .LR fsb .
                     60: The network call argument is ignored.
                     61: The server machine should respond by calling
                     62: .IR zarf ,
                     63: described below;
                     64: see
                     65: .IR svcmgr (8).
                     66: .TP
                     67: .B t
                     68: Call the named network address,
                     69: with default network
                     70: .LR tcp ,
                     71: and invoke the program named in the
                     72: network call argument
                     73: using the protocol of
                     74: .IR rsh ;
                     75: .IR con (1).
                     76: .PP
                     77: .I Setup
                     78: calls
                     79: .IR setlogname 
                     80: (see
                     81: .IR getuid (2))
                     82: to make the network call appear to have been placed
                     83: by the calling username.
                     84: The username may be omitted;
                     85: .LR daemon
                     86: is the default.
                     87: .PP
                     88: The mount point is the directory
                     89: on which the remote file system is to appear.
                     90: The unique identifier is a integer in the range 0-255;
                     91: it is used internally to distinguish connections,
                     92: and must be unique among all active remote file systems
                     93: (including those not maintained by
                     94: .IR setup ,
                     95: e.g.
                     96: .IR faced (9.5)).
                     97: The debugging flag is usually 0;
                     98: nonzero numbers
                     99: increase the chatter in various logfiles.
                    100: .PP
                    101: .I Setup
                    102: reads the
                    103: .I friends
                    104: file when it starts,
                    105: and checks for changes once a minute.
                    106: Each remote file system is probed once a minute;
                    107: if there is no response to several consecutive probes,
                    108: the connection is torn down and restarted.
                    109: Failed connections are retried every minute.
                    110: .SS Server
                    111: The server program is
                    112: .FR /usr/netb/zarf .
                    113: A separate
                    114: .I zarf
                    115: process exists for each client.
                    116: .PP
                    117: When a connection is started,
                    118: the client sends the server a list of valid user and group names
                    119: and the corresponding numerical IDs
                    120: on the client system.
                    121: The userid and groupid of user and group names that exist
                    122: on both machines are mapped so that
                    123: client and server see IDs
                    124: under the same names.
                    125: Unmapped IDs on the server appear as \-1 on the client.
                    126: Client processes with unmapped IDs are denied access.
                    127: .PP
                    128: .I Zarf
                    129: is subject to access control on the server.
                    130: It will have access only to files that its own userid 
                    131: and groupid admit.
                    132: Unless run as super-user, it will create files with its own,
                    133: not mapped, userid.
                    134: .PP
                    135: .I Zarf
                    136: reads configuration information
                    137: from
                    138: .F /usr/netb/except.local
                    139: and
                    140: .FR /usr/netb/except .
                    141: The
                    142: files are read only once,
                    143: when
                    144: .I zarf
                    145: starts,
                    146: .B except.local
                    147: first.
                    148: Usually
                    149: .B except
                    150: is the same on all machines in some administrative cluster,
                    151: .B except.local
                    152: contains things specific to a particular server system.
                    153: .PP
                    154: The files contain sections
                    155: beginning with the line
                    156: .B client
                    157: .I origin.
                    158: .I Origin
                    159: is the name of the calling client,
                    160: as provided by the network;
                    161: .L *
                    162: matches any client.
                    163: The first matching section is used.
                    164: .PP
                    165: Within each section,
                    166: lines have of one of the following forms.
                    167: Lines beginning with
                    168: .L #
                    169: are ignored.
                    170: .TP
                    171: .BI "uid " cname = sname
                    172: Regardless of the contents of password files,
                    173: map client user name
                    174: .I cname
                    175: to server user name
                    176: .IR sname .
                    177: If
                    178: .I cname
                    179: is not announced as valid by the client,
                    180: the line is ignored.
                    181: If
                    182: .I sname
                    183: is not a valid name on the server,
                    184: any previous mapping for
                    185: .I cname
                    186: is discarded.
                    187: .TP
                    188: .BI "gid " cname = sname
                    189: Map client group name
                    190: .I cname
                    191: to server group name
                    192: .IR sname ,
                    193: as above.
                    194: .TP
                    195: .BI "param otherok=" val
                    196: If
                    197: .I val
                    198: is
                    199: .LR 1 ,
                    200: client processes with unmapped userids
                    201: are granted world access
                    202: to existing files on the server.
                    203: Unmapped userids
                    204: may never create files
                    205: (who would own them?).
                    206: If
                    207: .I val
                    208: is anything else,
                    209: no access is permitted
                    210: to
                    211: unmapped client userids.
                    212: .TP
                    213: .BI "param root=" pathname
                    214: Use
                    215: .I pathname
                    216: rather than
                    217: .B /
                    218: as the root of the filename hierarchy
                    219: made visible on the client.
                    220: .SH EXAMPLES
                    221: A
                    222: .I friends
                    223: file
                    224: for a connection to
                    225: .B alice
                    226: over Datakit,
                    227: .B shamash
                    228: over TCP/IP,
                    229: and
                    230: .B bebop
                    231: over TCP/IP
                    232: without administrative help:
                    233: .RS
                    234: .EX
                    235: .ta \w'tcp!shamash!400 'u +\w'/usr/pjw/netb/zarf 'u +\w'/n/alice 'u +.3i +.3i +.3i
                    236: alice  -       /n/alice        d       0       0
                    237: tcp!shamash!400        -       /n/sun  d       1       0
                    238: bebop  /usr/pjw/netb/zarf      /n/bebop        t       2       0       pjw
                    239: .EE
                    240: .RE
                    241: .PP
                    242: Some
                    243: .I except
                    244: file rules:
                    245: .RS
                    246: .EX
                    247: client dk!nj/astro/research
                    248: param otherok=1
                    249: client *
                    250: uid root=
                    251: gid mail=other
                    252: param otherok=0
                    253: param root=/usr/spool
                    254: .EE
                    255: .RE
                    256: .PP
                    257: If the
                    258: .I research
                    259: machine calls as a client,
                    260: the whole file system tree is visible,
                    261: all userids including the super-user
                    262: are permitted normal access,
                    263: and user names unknown to the server
                    264: are permitted world access.
                    265: If any other machine calls,
                    266: only the contents of
                    267: .B /usr/spool
                    268: are visible,
                    269: .I root
                    270: and unknown users
                    271: are explicitly denied access,
                    272: and
                    273: processes in group
                    274: .I mail
                    275: on the client
                    276: are treated as if in group
                    277: .I other
                    278: on the server.
                    279: .SH FILES
                    280: .PD 0
                    281: .TF /usr/netb/except.local
                    282: .TP
                    283: .F /n/*
                    284: .TP
                    285: .F /usr/netb/friends
                    286: client connection info
                    287: .TP
                    288: .F /usr/netb/except.local
                    289: .TP
                    290: .F /usr/netb/except
                    291: .TP
                    292: .F /usr/netb/setupl
                    293: log file for
                    294: .I setup
                    295: .TP
                    296: .F /usr/netb/zarf.log
                    297: log file for zarf
                    298: server control info
                    299: .SH SEE ALSO
                    300: S. A. Rago, `A Look at the Version 9 Network File System',
                    301: this manual, Volume\ 2
                    302: .SH BUGS
                    303: The scheme works only in a modest-sized, friendly community, as it
                    304: requires a process per client, trust of clients' security, and common
                    305: login names.
                    306: .br
                    307: File modification times are adjusted for clock-time differences
                    308: between machines.
                    309: Thus, when viewed across the network,
                    310: identical files installed on different machines by
                    311: .IR asd (8)
                    312: may appear to have different modification times, and
                    313: symbol tables of random libraries
                    314: .RI ( ar (1))
                    315: may appear to be out of date.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.