Date: Thu, 27 Mar 1997 11:12:08 +0800 From: Peter Wemm <peter@spinner.DIALix.COM> To: Poul-Henning Kamp <phk@critter.dk.tfs.com> Cc: Bill Fenner <fenner@parc.xerox.com>, ache@nagual.ru, imp@village.org, CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-lib@freefall.freebsd.org Subject: Re: cvs commit: src/lib/libtermcap pathnames.h termcap.c Message-ID: <199703270312.LAA04087@spinner.DIALix.COM> In-Reply-To: Your message of "Mon, 24 Mar 1997 19:17:22 %2B0100." <228.859227442@critter>
next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote:
> In message <97Mar24.094840pst.177486@crevenia.parc.xerox.com>, Bill Fenner wr
it
> es:
> >I think a lot would be solved by having a library function like
> >access() that also accepts a UID. Then the don't-let-people-access-
> >files-in-a-setuid-program-that-they-wouldn't-normally-have-access-to
> >problem, instead of being solved in N different setuid programs,
> >could be solved once.
>
> Well, access_as(2) alone will not do it, you would need a open_as(2),
> unlink_as(2), rename_as(2) and so on...
Err, yeah. I knew that.. :-) Please ignore my previous simplistic reply
about access. :-). With setfsuid() etc in a setuid process, you'd do
this:
setfsuid(getuid());
fd = open(..)
setfsuid(geteuid());
And similar for daemons that are running as root but want to access files
as a user, eg: ftpd. It works for open, unlink, rename, link, chmod, etc
etc, the entire set of VFS syscalls.
Cheers,
-Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703270312.LAA04087>
