Don, is this a POSIX/SUS implementation or standard defect? Olga
On Wed, Apr 7, 2010 at 6:22 PM, Nicolas Williams <nicolas.willi...@sun.com> 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 > -- , _ _ , { \/`o;====- Olga Kryzhanovska -====;o`\/ } .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. `'-..-| / Solaris/BSD//C/C++ programmer \ |-..-'` /\/\ /\/\ `--` `--` _______________________________________________ ksh93-integration-discuss mailing list ksh93-integration-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss