Can't do setuid

2003-02-04 Thread Brian Kowald
I'm trying to get the permissions working for my repository.

For my whole repository, I set the file and directory owner to cvs and the
group to cvsusers. I did this recursively.

I set set group id bit for the entire repository with'chmod -R g+s'.
This is so that new files will have the correct group and owner.

When I execute a cvs update, I get the error message Can't do setuid'  When
I go and look at the repository, the owner has changed to the user doing the
cvs command.

How should this be set up?

Brian








___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Can't do setuid

2003-02-04 Thread Eric Siegerman
On Tue, Feb 04, 2003 at 04:35:47PM -0500, Brian Kowald wrote:
 For my whole repository, I set the file and directory owner to cvs and the
 group to cvsusers. I did this recursively.

Setting the group is good.  Setting the owner doesn't help much;
as you've discovered, it doesn't stay set for very long...


 I set set group id bit for the entire repository with'chmod -R g+s'.
 This is so that new files will have the correct group and owner.

That should only have been done on the directories, NOT on the files.
However, everything should be g+w.  So from a standing start,
it'd be something like:
chmod -R g+w
find . -type d -print0 | xargs -0 chmod g+s
(That's with GNU findutils.  Without it, the g+s pipeline is
harder to do both safely and quickly.  This has been discussed
here in the past; see the archives for details).  

Of course, from your current state, your task is to turn *off*
setgid on the files, not to turn it *on* on the directories...


A couple more steps are needed:
  - Add the users to group cvsgroup (then have them log in
again to pick up the change)

  - Make sure that users' umasks do NOT include the 020 bit, i.e.
that they create files group-writable.  Of course, this has
possibly-unpleasant ramifications for non-CVS files; the
CVSUMASK environment variable *might* be of help, depending
on your setup.


 When
 I go and look at the repository, the owner has changed to the user doing the
 cvs command.

That's as expected.  Once the group stuff that we're talking
about is set up properly, this behaviour shouldn't cause any
problems.  (Indeed, working around this is a lot of the point of
the group stuff in the first place.)


 When I execute a cvs update, I get the error message Can't do setuid'

I have a few thoughts, but nothing concrete:
  - Do you have setuid or setgid enabled on the CVS executable
itself?  If so, turn them off.

  - One of the other suggestions might fix it (especially turning
off setgid on the ,v files).

  - That message doesn't seem to occur in CVS 1.11.5.  Which
version are you using?  If it's an old one, try upgrading.

  - Or are you using another implementation, e.g.  WinCVS, cvsnt,
etc.?  If so, you might have better luck on the appropriate
list.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
A distributed system is one on which I cannot get any work done,
because a machine I have never heard of has crashed.
- Leslie Lamport


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Can't do setuid

2003-02-04 Thread Greg A. Woods
[ On Tuesday, February 4, 2003 at 17:48:24 (-0500), Eric Siegerman wrote: ]
 Subject: Re: Can't do setuid

 That should only have been done on the directories, NOT on the files.
 However, everything should be g+w.  So from a standing start,
 it'd be something like:
   chmod -R g+w
   find . -type d -print0 | xargs -0 chmod g+s

You don't want the ,v files to be writable by anyone.  So, just this:

find . -type d -print0 | xargs -0 chmod g+sw

-- 
Greg A. Woods

+1 416 218-0098;[EMAIL PROTECTED];   [EMAIL PROTECTED]
Planix, Inc. [EMAIL PROTECTED]; VE3TCP; Secrets of the Weird [EMAIL PROTECTED]


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Can't do setuid

2003-02-04 Thread Eric Siegerman
On Tue, Feb 04, 2003 at 06:29:04PM -0500, Greg A. Woods wrote:
 [ On Tuesday, February 4, 2003 at 17:48:24 (-0500), Eric Siegerman wrote: ]
  chmod -R g+w
  find . -type d -print0 | xargs -0 chmod g+s
 
 You don't want the ,v files to be writable by anyone.  So, just this:
 
   find . -type d -print0 | xargs -0 chmod g+sw

Doh!  I'm obviously more sleepy than I thought.  Thanks, Greg.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
A distributed system is one on which I cannot get any work done,
because a machine I have never heard of has crashed.
- Leslie Lamport


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs