Date: Tue, 22 Jan 2002 10:58:39 +0200 From: Ruslan Ermilov <ru@FreeBSD.ORG> To: Robert Watson <rwatson@FreeBSD.ORG> Cc: Nate Williams <nate@yogotech.com>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, arch@FreeBSD.ORG Subject: Re: cvs commit: src/gnu/usr.bin/man/man Makefile man.c src/etc/mtree BSD.local.dist BSD.usr.dist BSD.x11-4.dist BSD.x11.dist Message-ID: <20020122105839.C78733@sunbay.com> In-Reply-To: <Pine.NEB.3.96L.1020121183943.69509T-100000@fledge.watson.org> References: <15436.42142.53176.44467@caddis.yogotech.com> <Pine.NEB.3.96L.1020121183943.69509T-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 21, 2002 at 06:54:02PM -0500, Robert Watson wrote: > On Mon, 21 Jan 2002, Nate Williams wrote: > > > > > Not in this forum. But we're not typical of the user base. I will > > > > continue to use catman, probably making it world writeable, since in my > > > > situation this isn't a compromise. But what about the man in the > > > > street? > > > > > > The difference between the developers and the users is that the users > > > hardly ever change the man pages, and so would probably benefit most from > > > simply using the catman pages in a pregenerated form, rather than having > > > to wait for each page to render the first time they read it, gradually > > > consuming more and more disk space as they read more manpages. > > > > Except that this doesn't allow the 'users' to print out the pages in a > > form that may be more usable by them. > > > > For example, for most manpages, I simply type 'man', but sometimes I > > want to print out the manpage on my printer, so I create a postscript > > file that is formatted better, and prints out much nicer than the > > tradional 'dumb terminal' manpage that is created by default as the > > catpage. > > This doesn't preclude having the nroff sources installed also, I'm just > pointing out that the argument that it's in the user's best interest to > use the man cache mechanism seems a bit bogus to me. The intended goal of > the man cache was presumably to avoid the full disk cost of catman pages, > while attempting also to avoid the cpu cost of processing the page every > time it's viewed. However, in practice it has become a security/space > tradeoff: you sacrifice security to conserve a few megabytes of space in > catman files. I think that the benefit may once have been there, but I > think on modern systems that it's really not there. > > For compatibility purposes, it might be reasonable to install man > non-setuid, but still have the cat pages and directories be installed as > the man user. Then twiddling man to setuid man from bin/bin would still > work for those wanting to enable it. However, for the default install, we > should either rely purely on nroff source, or also install the catman > distribution. > OK, here's what I will do: 1. Restore man.c's SETUID code but do not enable it. 2. Fix SETUID code so that: a) system catpages are created in a pristine environment (/usr/bin/env -i) b) SETUID path is only attempted for system catpages 3. Provide make.conf knob (ENABLE_SUID_MAN) for installing man(1) ``setuid man''. a) will fix the environment race, b) will fix the symlink race. I've already implemented a), and will post a patch here when b) is also implemented. Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020122105839.C78733>