On 10/20/2017 01:07 PM, Eric Blake wrote:

> As such, I'm closing this as not a bug.  However, feel free to add
> further comments to this thread if you have further evidence for
> coreutils not doing something required/permitted by POSIX, or not doing
> something that matches what is already documented behavior.

In fact, POSIX gives a grammar for valid mode lines, which says the same
thing as coreutils:

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

Namely:

> %start    symbolic_mode
> %%
> 
> 
> symbolic_mode    : clause
>                  | symbolic_mode ',' clause
>                  ;

A valid MODE line is one or more comma-separated clause,

> 
> 
> clause           : actionlist
>                  | wholist actionlist

Each clause starts either with an OPERATION or a USER,

>                  ;
> 
> 
> wholist          : who
>                  | wholist who
>                  ;
> 
> 
> who              : 'u' | 'g' | 'o' | 'a'
>                  ;

wholist is what coreutils calls USER, which is zero or more of [ugoa]
where repeats are allowed,

> 
> 
> actionlist       : action
>                  | actionlist action
>                  ;
> 

All clauses require one or more actions,

> 
> action           : op
>                  | op permlist
>                  | op permcopy
>                  ;
> 
> 
> permcopy         : 'u' | 'g' | 'o'
>                  ;
> 
> 
> op               : '+' | '-' | '='
>                  ;
> 

where every action is exactly one OPERATOR [-+=], followed either by 0
or more permlist or exactly one permcopy,

> 
> permlist         : perm
>                  | perm permlist
>                  ;
> 
> 
> [XSI]
> perm             : 'r' | 'w' | 'x' | 'X' | 's' | 't'  
>                  ;

And looking at permlist + permcopy, you see where the coreutils
PERMISSIONS of [rwxXst]*|[ugo] comes into play.


-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to