Jim Meyering <[EMAIL PROTECTED]> writes: > Or maybe the documentation should simply admit that when using -d, certain > directory attributes (e.g., for ACLs, too) may be inherited. One argument > in favor of this approach is that Solaris 9's /usr/sbin/install also > works this way.
But when I tried Solaris 9's /usr/sbin/install, the setgid bit was not inherited: $ ls -ld . drwxrwsr-x 2 eggert eggert 512 Dec 13 11:46 . $ /usr/sbin/install -d -m 0755 foo directory foo created 263-pete $ ls -ld foo drwxr-xr-x 2 eggert eggert 512 Dec 16 16:31 foo Perhaps you were using /usr/ucb/install? That does behave like coreutils install: $ rmdir foo $ /usr/ucb/install -d -m 0755 foo 260-pete $ ls -ld foo drwxr-sr-x 2 eggert eggert 512 Dec 16 16:31 foo > Maybe the code needs to use chmod in this case. For what it's worth, Solaris /usr/ucb/install does use chmod, but it expliclty preserves the setgid bit. It does this as follows (assuming you specify -d -m 700): mkdir("foo", 0777) = 0 stat64("foo", 0xFFBFF818) = 0 chmod("foo", 02700) = 0 Obviously this is unsafe. In contrast, /usr/sbin/install, which is a shell script, does something like this: mkdir -p foo chgrp 30 foo chown eggert foo chmod 0700 foo Obviously this is unsafe as well. I just checked FreeBSD install, and it does this: mkdir("foo", 0755) chmod("foo", 0700) This is also unsafe. But it behaves more like Solaris 10 /usr/sbin/install. For what it's worth, gnulib install.sh behaves like FreeBSD and Solaris 10. I tend to think that the gnulib / FreeBSD / Solaris /usr/sbin/install is probably more what users expect; if so, we should fix the code accordingly. I'll volunteer to do that if there is consensus. I don't know about ACLs, though -- I expect they'd be inherited, since -m doesn't really talk about ACLs. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]