mkdir differences between 1.5.25 and 1.7

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Nov 2 12:19:00 GMT 2009


On Oct 29 14:33, Egerton, Jim wrote:
> Test program:
> $ cat x.cc
> #include <stdio.h>
> #include <sys/stat.h>
> 
> int main(int argc, char *argv[]) {
>    mkdir("/tmp/foo", 0777);
> }
> 
> $ ls -ld /tmp/foo
> ls: cannot access /tmp/foo: No such file or directory
> 
> $ ./x
> 
> $ ls -ld /tmp/foo
> drwxr-xr-x 1 root Administrators 0 Oct 29 20:27 /tmp/foo

That's a umask thingy.  Your umask is probably set to 0022, and per
POSIX, mkdir(2) has to take the umask into account.  If you use mkdir(1)
from coreutils:

  mkdir -m 777 /tmp/foo

it should create the permissions as desired, though, since mkdir(1)
sets the umask to 0 if the -m option has been given.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list