Jeremy Herbison wrote:
> As I posted in blfs-support, it appears portmapper, at least when run using
> the blfs bootscript (and not started by inetd/xinetd as the portmapper manpage
> recommends), runs as UID 1 regardless of whether or not that is even a valid
> UID. Either the book needs to add a "bin" user (I assume that's what it wants
> to run as) for portmapper, or (preferably) a patch to portmap is needed.
>
> Actually I suppose that if running under xinetd fixes the problem, that could
> be the solution, too.
Interesting. Looking at the source of pmap_check.c:
void check_startup()
{
/*
* Give up root privileges so that we can never allocate a privileged
* port when forwarding an rpc request.
*/
if (setuid(1) == -1) {
syslog(LOG_ERR, "setuid(1) failed: %m");
exit(1);
}
(void) signal(SIGINT, toggle_verboselog);
}
It would appear that there is no choice of uid given to the user. OTOH,
I don't really see a problem with portmap running as uid 1. The only
reason I can see we would need an entry in the passwd file is for
programs like ps and top to translate the numeric uid to a name. The
name used would be arbitrary. The traditional name for uid 1 is, of
course, bin.
Also, I don't see where portmap is to be run out of a superserver. The
man page specifically says: "Portmap must be started before any RPC
servers are invoked." It is designed to be run as a full time daemon.
--Bruce
--
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page