emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#14249: closed (mkdir --parents --mode XXX incorrec


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#14249: closed (mkdir --parents --mode XXX incorrect mode for parents)
Date: Tue, 23 Apr 2013 17:49:02 +0000

Your message dated Tue, 23 Apr 2013 11:43:02 -0600
with message-id <address@hidden>
and subject line Re: bug#14249: mkdir --parents --mode XXX incorrect mode for 
parents
has caused the debbugs.gnu.org bug report #14249,
regarding mkdir --parents --mode XXX incorrect mode for parents
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
14249: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14249
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: mkdir --parents --mode XXX incorrect mode for parents Date: Tue, 23 Apr 2013 14:22:45 +0100
Description of problem:
mkdir doesn't honour the mode option when the parents option is used.
The leaf directories have their permissions set correctly, but the
parent directory has the permissions according to your umask.

How reproducible:
Always

Steps to Reproduce:
1. umask 077
2. mkdir --parents --mode 755 project/subproject
3. ls -ld project project/subproject

Actual results:
drwx------. 3 flatcap flatcap 60 Apr 23 14:17 project
drwxr-xr-x. 2 flatcap flatcap 40 Apr 23 14:17 project/subproject

Expected results:
drwxr-xr-x. 3 flatcap flatcap 60 Apr 23 14:17 project
drwxr-xr-x. 2 flatcap flatcap 40 Apr 23 14:17 project/subproject

Additional info:
mkdir (GNU coreutils) 8.17
fedora 18



--- End Message ---
--- Begin Message --- Subject: Re: bug#14249: mkdir --parents --mode XXX incorrect mode for parents Date: Tue, 23 Apr 2013 11:43:02 -0600 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130402 Thunderbird/17.0.5
tag 14249 notabug
thanks

On 04/23/2013 07:22 AM, Richard Russon wrote:
> Description of problem:
> mkdir doesn't honour the mode option when the parents option is used.
> The leaf directories have their permissions set correctly, but the
> parent directory has the permissions according to your umask.

Thanks for the report.  However, this is the behavior required by POSIX,
so it is correct:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/mkdir.html

... the mkdir utility shall create any pathname components of the path
prefix of dir that do not name an existing directory by performing
actions equivalent to first calling the mkdir() function with the
following arguments:

    A pathname naming the missing pathname component, ending with a
trailing <slash> character, as the path argument

    The value zero as the mode argument

and then calling the chmod() function with the following arguments:

    The same path argument as in the mkdir() call

    The value (S_IWUSR|S_IXUSR| ̃filemask)&0777[1] as the mode argument,
where filemask is the file mode creation mask of the process (see XSH
umask).

...For intermediate pathname components created by mkdir, the mode is
the default modified by u+ wx so that the subdirectories can always be
created regardless of the file mode creation mask; if different ultimate
permissions are desired for the intermediate directories, they can be
changed afterwards with chmod.

[1]Shoot - there's a bug in the html rendition of the POSIX 2013
document, just released this month.  The pdf version has the correct
text; I'll chase down getting the omitted portion of the html version fixed.

> Steps to Reproduce:
> 1. umask 077
> 2. mkdir --parents --mode 755 project/subproject
> 3. ls -ld project project/subproject
> 
> Actual results:
> drwx------. 3 flatcap flatcap 60 Apr 23 14:17 project
> drwxr-xr-x. 2 flatcap flatcap 40 Apr 23 14:17 project/subproject

This behavior is what POSIX mandates.

> 
> Expected results:
> drwxr-xr-x. 3 flatcap flatcap 60 Apr 23 14:17 project
> drwxr-xr-x. 2 flatcap flatcap 40 Apr 23 14:17 project/subproject

If you want that, then you have to either (temporarily) clear your
umask, or call multiple mkdir invocations yourself, instead of letting
-p do it for you.

I'm closing out this bug report, although you may continue to comment if
you have further questions.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]