Randall Perry said:
I've got a perl script, run by root, with the following command:
mkdir("cgi-bin", 0770) || die "Couldn't create cgi-bin dir.\n";
The directory is created ok, but the perms are 0750 . Is this a perl
bug? I'm using 5.8.4.
Not a bug, just a problem with you reading the documentation.
$ perldoc -f mkdir
mkdir FILENAME,MASK
mkdir FILENAME
Creates the directory specified by FILENAME, with permissions
specified by MASK (as modified by "umask"). If it succeeds it
returns true, otherwise it returns false and sets $! (errno). If
omitted, MASK defaults to 0777.
In general, it is better to create directories with permissive
MASK, and let the user modify that with their "umask", than it
is to supply a restrictive MASK and give the user no way to be
more permissive. The exceptions to this rule are when the file
or directory should be kept private (mail files, for instance).
The perlfunc(1) entry on "umask" discusses the choice of MASK in
more detail.