|
|
1.1 ! root 1: .\" Copyright (c) 1983 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted ! 5: .\" provided that the above copyright notice and this paragraph are ! 6: .\" duplicated in all such forms and that any documentation, ! 7: .\" advertising materials, and other materials related to such ! 8: .\" distribution and use acknowledge that the software was developed ! 9: .\" by the University of California, Berkeley. The name of the ! 10: .\" University may not be used to endorse or promote products derived ! 11: .\" from this software without specific prior written permission. ! 12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 15: .\" ! 16: .\" @(#)3.t 6.5 (Berkeley) 3/7/89 ! 17: .\" ! 18: .NH 1 ! 19: Access control ! 20: .PP ! 21: The printer system maintains protected spooling areas so that ! 22: users cannot circumvent printer accounting or ! 23: remove files other than their own. ! 24: The strategy used to maintain protected ! 25: spooling areas is as follows: ! 26: .IP \(bu 3 ! 27: The spooling area is writable only by a \fIdaemon\fP user ! 28: and \fIdaemon\fP group. ! 29: .IP \(bu 3 ! 30: The \fIlpr\fP program runs set-user-id to \fIroot\fP and ! 31: set-group-id to group \fIdaemon\fP. The \fIroot\fP access permits ! 32: reading any file required. Accessibility is verified ! 33: with an \fIaccess\fP\|(2) call. The group ID ! 34: is used in setting up proper ownership of files ! 35: in the spooling area for \fIlprm\fP. ! 36: .IP \(bu 3 ! 37: Control files in a spooling area are made with \fIdaemon\fP ! 38: ownership and group ownership \fIdaemon\fP. Their mode is 0660. ! 39: This insures control files are not modified by a user ! 40: and that no user can remove files except through \fIlprm\fP. ! 41: .IP \(bu 3 ! 42: The spooling programs, ! 43: \fIlpd\fP, \fIlpq\fP, and \fIlprm\fP run set-user-id to \fIroot\fP ! 44: and set-group-id to group \fIdaemon\fP to access spool files and printers. ! 45: .IP \(bu 3 ! 46: The printer server, \fIlpd\fP, ! 47: uses the same verification procedures as \fIrshd\fP\|(8C) ! 48: in authenticating remote clients. The host on which a client ! 49: resides must be present in the file /etc/hosts.equiv or /etc/hosts.lpd and ! 50: the request message must come from a reserved port number. ! 51: .PP ! 52: In practice, none of \fIlpd\fP, \fIlpq\fP, or ! 53: \fIlprm\fP would have to run as user \fIroot\fP if remote ! 54: spooling were not supported. In previous incarnations of ! 55: the printer system \fIlpd\fP ran set-user-id to \fIdaemon\fP, ! 56: set-group-id to group \fIspooling\fP, and \fIlpq\fP and \fIlprm\fP ran ! 57: set-group-id to group \fIspooling\fP.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.