Group permissions are broken?

perryh at pluto.rain.com perryh at pluto.rain.com
Tue Aug 16 01:36:39 UTC 2011


Michael Sierchio <kudzu at tenebras.com> wrote:
> On Mon, Aug 15, 2011 at 1:06 PM, Yuri <yuri at rawbw.com> wrote:
> > User john is a member of both webcamd and vboxusers:
> > # grep john /etc/group
> > webcamd:*:145:john
> > vboxusers:*:920:john
> >
> > When the file /tmp/my-test is owned by webcamd, user john can
> > touch it ok:
> > $ ls -l /tmp/my-test ; touch ?/tmp/my-test
> > -rw-rw---- ?1 vboxusers ?vboxusers ?0 Aug 15 12:54 /tmp/my-test
> >
> > But when /tmp/my-test is owned by webcamd, user john gets an
> > error:
> > $ ls -l /tmp/my-test ; touch ?/tmp/my-test
> > -rw-rw---- ?1 webcamd ?webcamd ?0 Aug 15 13:02 /tmp/my-test
> > touch: /tmp/my-test: Permission denied
> >
> > Why does this error occur? Two groups seem identical. Just
> > different group ids.
>
> /tmp has the sticky bit set.  man 8 sticky

On my 8.1 system, sticky(8) says:

  A directory whose `sticky bit' is set becomes ... a directory in
  which the _deletion_ of files is restricted.  A file in a sticky
  directory may only be _removed_ or _renamed_ if ...

[emphasis added]

Nothing there about the sticky bit changing the permissions required
to _overwrite_ a file, which is the subject of the current inquiry.

Even if the sticky bit _did_ have some effect on overwriting a file,
how would that explain the _different_ behavior of the two cases shown?


More information about the freebsd-questions mailing list