Network Working Group K. Pogran
Request for Comments: 501 MIT-Multics
NIC: 15718 11 May 1973
Un-Muddling "Free File Transfer"
Pogran [Page 1]
RFC 501 Un-Muddling "Free File Transfer" 11 May 1973
The first question is: Whose principal identifier does a File Transfer Server process use? There are at least two possibilities: 1) the File Transfer Server can run as a "system daemon" process, with (usually) a highly privileged principal identifier. When acting on behalf of a user, it must, itself, interpretively evaluate that user's access to a desired file. Also, it must be able to charge that user's account for the resources it uses. 2) A File Transfer Server process can be given the user's own principal identifier. With this implementation, validation of the user's access to files is performed automatically by the usual file system mechanisms.
Pogran [Page 2]
RFC 501 Un-Muddling "Free File Transfer" 11 May 1973
RFC 487 matter-of-factly suggests that retrieval of files in "system" directories should be charged to "overhead". Here too, some broad assumptions are made about the nature of accounting mechanisms and accounts at server sites. In addition, an undesirable loss of generality is imposed upon the File Transfer Server: It is now required to have the capability of distinguishing the pathnames of "system" files from those of "user" files. In a number of systems, there is no syntactic distinction between the two, and the same general mechanisms can be used to manipulate both kinds of files (if a distinction between them can be made at all). The addition of code to the File Transfer Server which examines the pathname given for each request, to determine which sort it is, seems to be antithetical to the goals of uniformity and generality that many of today's systems have achieved.
Pogran [Page 3]
RFC 501 Un-Muddling "Free File Transfer" 11 May 1973
In this RFC, I've picked apart Bob Bressler's RFC 487, mostly because of its confusion of several distinct (although related) issues, and the implementation assumptions it contains which conflict with (or badly bend out of shape) mechanisms and design philosophies existing on other systems (in particular, the system I am most familiar with, Multics) [4]. The applicability of the discussions in this RFC, I think goes beyond that: We've got to acknowledge that it's difficult to propose Network-wide mechanisms for providing desirable services without building in assumptions about how they are to be implemented. We're at a point where we're asking for fairly sophisticated services, and proposing correspondingly sophisticated mechanisms. It's time to begin talking about how various systems accomplish such things as user authentication, access control, and so on, so that we can all gain a clearer understanding of such issues, and be able to propose mechanisms with fewer implementation assumptions built into them.
Pogran [Page 4]
RFC 501 Un-Muddling "Free File Transfer" 11 May 1973
[4] Padlipsky keeps insisting that I've also shown the superiority of implementation 2) of the File Transfer Server (described above), but I resist that conclusion. Those interested may want to look at his Unified User-Level Protocol specification, which is based on a similar premise.