Christopher Kohnert writes:
>
> Howdy, I've had a nice repository and pserver setup going for a while
> now, but then my server was upgraded and it doesn't work anymore.
> Whenever I try to do any checkouts of any kind it give me one of two
> errors (depending on how I set the inetd.conf line).
> 1) can't setuid: operation not permitted
> 2) can't open /root/.cvsignore: Not permitted
> can't chdir(/root): Not permitted
>
> I don't run cvs pserver as root (and don't want to) (and didn't in the
> past). So I assume I'm not setting something right and it's still
> thinking it's running as whatever user I tell it to (in inetd.conf) but
> for some reason it doesn't recognize the home directory correctly...
If you don't run pserver as root, then it can't change user to the
actual cvs user (that's why you get "can't setuid: operation not
permitted"). If that's really the way you want to run, then you have to
have a CVSROOT/cvspasswd file that maps all your users to the user
you're running pserver as from inetd (and you can't use the system
password file).
The second problem can be fixed by adding a -f global option to the
pserver command in inetd.conf unless you're running on a Linux system
that has $HOME set in the environment of things run from inetd -- in
that case, you have to arrange to unset $HOME: you can change inetd.conf
to run a shell script that unsets the variable and then runs cvs, or you
can use env to run cvs with a pristene environment.
-Larry Jones
Mom must've put my cape in the wrong drawer. -- Calvin