X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=blobdiff_plain;f=spec.sgml.in;h=8d04194d0650c417f2e6289c90a38dab4f24e215;hp=d0de3742f8ed268244cd8b12cb8b052944717282;hb=6096be0f6c9252541e9478bf397330bec73f2024;hpb=cfea7c1510f84b0cae12bfbc1934d9905837e716 diff --git a/spec.sgml.in b/spec.sgml.in index d0de374..8d04194 100644 --- a/spec.sgml.in +++ b/spec.sgml.in @@ -11,7 +11,9 @@ program to invoke another when only limited trust exists between them. - Applications and notes on use

+Examples +

+ +The companion package, Standard services and directory management

In later versions of this specification standard service names and interfaces for common services such as mail delivery and WWW CGI -scripts will be specified. +scripts may be specified.

~/.userv/.servdata/, where -~/.userv/, where -The use of a dot-directory inside ~/.userv will hopefully avoid -the user becoming confused by finding parts of a semi-privileged -application's internal state in their filespace, and or discourage -them from fiddling with and thus corrupting it. (Note that such -applications should of course not rely for their global integrity on -the integrity of the data on the user's side of the security -boundary.) +If desired, a dot-directory inside ~/.userv may be used to +avoid the user becoming confused by finding parts of a semi-privileged +application's internal state in their filespace, and/or discourage +them from fiddling with and thus corrupting it. +

+ +However, Reducing the number of absolutely privileged subsystems

@@ -1272,13 +1283,13 @@ it. This gives rise to a large and complex body of code which must be trusted with the security of the system.

-Using +If they were to use Do not give away excessive privilege to @@ -1344,29 +1355,59 @@ facilities which currently run as root. It is debatable whether the user-controlled state should be kept in the user's filespace (in dotfiles, say) or kept in a separate area set aside for the purpose; however, using the user's home directory (and -probably creating a separate subdirectory of it as a dotfile to -contain many subsystems' state) has fewer implications for the rest of -the system and makes it entirely clear where the security boundaries -lie. +possibly creating a separate subdirectory of it as a dotfile to +contain subsystem state) has fewer implications for the rest of the +system and makes it entirely clear where the security boundaries lie. - -Its facilities for restricting activities to running certain programs -may at first glance seem to provide similar functionality to +However, its use when restricted to running particular programs in +particular ways is very similar to many common uses of . However, the -separation mentioned above is a problem here too, particular for -interaction - it can be hard for a . Error handling and input streams (eg stdin) +

+ +When the service program is reading from a file descriptor connected +to the calling side, the fd that the service program refers to a pipe +set up by + +Therefore if there is some kind of error it is possible for the +service-side fd to give premature end of file. If it is important to +tell whether all of the intended data has been received by the service +program, the datastream must contain an explicit end-of-file +indication of some kind. +

+ +For example, consider a Don't give access to general-purpose utilities