|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.