All of lore.kernel.org
 help / color / mirror / Atom feed
* setgid - its current use
@ 2004-04-08  1:46 Dhruv Gami
  2004-04-08  7:41 ` Denis Vlasenko
  0 siblings, 1 reply; 7+ messages in thread
From: Dhruv Gami @ 2004-04-08  1:46 UTC (permalink / raw)
  To: linux-kernel

Hello Everyone,

A long time back there was discussion over setuid/setgid and how its been 
replaced by Capabilities (This is what i understood from the 
archives...please correct me if im wrong).

I'd like to know the possibility of using setgid for users to switch their 
groups and work as a member of a particular group. Essentially, if i want 
one user, who belongs to groups X, Y and Z to create a file as a member of 
group Y while he's logged on as a member of group X, would it be possible 
through setgid() ? 

would i need to change all programs that need this capability ? 

or is there a way in the kernel do achieve this ? 

Can i use capabilities in some way to achieve this ?

Any pointers would be really helpful. i don't mind reading up on heavy 
documentation, if i only know where to look. 

Also, im not subscribed to this list, so I'd appreciate it if replies 
could be CC'd to gami@d10systems.com. If there's any other information 
that I should provide to clarify my question, please let me know.

Thanks !

regards,
Gami
-- 
Dhruv Gami
http://d10systems.com
http://d10systems.com/gami


^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: setgid - its current use
@ 2004-04-08 17:40 Albert Cahalan
  2004-04-09  1:46 ` Rob Couto
  0 siblings, 1 reply; 7+ messages in thread
From: Albert Cahalan @ 2004-04-08 17:40 UTC (permalink / raw)
  To: linux-kernel mailing list; +Cc: gami

Dhruv Gami writes:
> On Thu, 8 Apr 2004, Denis Vlasenko wrote:
>> On Thursday 08 April 2004 04:46, Dhruv Gami wrote:

>>> I'd like to know the possibility of using setgid for users
>>> to switch their groups and work as a member of a particular
>>> group. Essentially, if i want one user, who belongs to
>>> groups X, Y and Z to create a file as a member of group Y
>>> while he's logged on as a member of group X, would it be
>>> possible through setgid() ?
>>
>> it is possible through chmod
>
> but that would be an explicit way of doing it, right ?
> I'm looking for doing this via some system calls or something
> transparent to the user. At  most I'd like to query the user
> for the group as which he wants to work. Which would
> essentially be a question I ask at login or beginning of a 
> session.

I think you need user-private groups and setgid directories.

First of all, ensure that each user has a group of
their own. Do NOT put all users into a "users" group.
So user "gami" would be in group "gami", or maybe
a "gami_group" group if you prefer. Have the home
directories owned by these groups.

Second, set the umask to allow group write access.
(this is why you need the user-private groups)

Now suppose you have two users, bill and tom,
who need to work together on the spamming project.
Create a group called "spamming". Create a project
directory /projects/spamming owned by root and
in the spamming group. Make this directory setgid
and group writable. Any files created in this
directory will be owned by the spamming group.
Due to the umask setting, permissions on these
new files will allow access by all group members.
The setgid bit will propagate to any newly created
directories, but not to newly created files.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-04-09  1:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-08  1:46 setgid - its current use Dhruv Gami
2004-04-08  7:41 ` Denis Vlasenko
2004-04-08  3:06   ` Dhruv Gami
2004-04-08 11:49     ` Miquel van Smoorenburg
2004-04-08 14:08     ` Jesse Pollard
  -- strict thread matches above, loose matches on Subject: below --
2004-04-08 17:40 Albert Cahalan
2004-04-09  1:46 ` Rob Couto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.