posix says:

        When bits in mode other than the file permission bits are
        set, the meaning of these additional bits is
        implementation-defined.

"file permission bits" are ~= 777

On Wed, 7 Apr 2010 11:22:28 -0500 Nicolas Williams wrote:
> On Wed, Apr 07, 2010 at 11:17:52AM -0400, Glenn Fowler wrote:
> > can someone who can reproduce the failure do
> >     {
> >     df /tmp
> >     rm -rf /tmp/command
> >     umask
> >     truss /bin/ksh93 -c 'mkdir -m 1777 /tmp/command'
> >     } > test.out 2>&1
> > and send me test.out

> With 93t+ I see the sticky NOT set.  The truss shows:

> umask(0)                                        = 022
> mkdir("/tmp/command", 01777)                    = 0
> umask(022)                                      = 0

> Trussing the real /bin/mkdir I see:

> umask(0)                                        = 022
> umask(022)                                      = 0
> mkdir("/tmp/cmd2", 01777)                       = 0
> lxstat(2, "/tmp/cmd2", 0x080473E0)              = 0
> chmod("/tmp/cmd2", 01777)                       = 0

> It seems that the sticky bit cannot be set by the mkdir(2) system call?!
> I see no indication in mkdir(2), chmod(2), umask(2), or intro(2) that
> mkdir(2) cannot create directories with S_ISVTX or, for that matter,
> S_ISGID (the ksh93 builtin also can't create directories with S_ISGID
> set).

> I think this must either be a bug in Solaris or, given the report from a
> MacOS X user, perhaps a POSIX bug.  The inability to atomically create a
> directory with S_ISVTX and/or S_ISGID set seems at least annoying.

> Nico
> -- 
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss

Reply via email to