[TESTERS needed] New POSIX permission handling
Ernie Rael
err@raelity.com
Sat Apr 11 16:26:00 GMT 2015
I'm primarily a lurker, reading this list hoping things soak in a bit.
So I may be off base on this.
In the table below, describing "NULL DENY access mask", looks like
there's a typo concerning read/execute. (of course it might just be a
windows mapping peculiarity that I really didn't want to know about ;-)
-ernie
On 4/11/2015 3:07 AM, Corinna Vinschen wrote:
> On Apr 11 11:40, Corinna Vinschen wrote:
>> On Apr 10 19:00, Steven Penny wrote:
>>> On Fri, Apr 10, 2015 at 5:07 AM, Corinna Vinschen wrote:
>>>> Please give the new code a try. I uploaded new 2015-04-10 developer
>>>> snapshots to https://cygwin.com/snapshots/
>>> Here is the test I ran:
>>>
>>> $ cd /cygdrive/c
>>>
>>> $ touch ~/{alpha,bravo}.sh ~+/{charlie,delta}.sh
>>>
>>> $ chmod +x ~/bravo.sh ~+/delta.sh
>>>
>>> $ ls -l --color ~/{alpha,bravo}.sh ~+/{charlie,delta}.sh
>>> -rw-rw-r--+ 1 John None 0 Apr 10 16:51 /cygdrive/c/charlie.sh
>>> -rwxrwxr-x+ 1 John None 0 Apr 10 16:51 /cygdrive/c/delta.sh (green)
>>> -rw-r--r-- 1 John None 0 Apr 10 16:51 /home/John/alpha.sh
>>> -rwxrwxr-x 1 John None 0 Apr 10 16:51 /home/John/bravo.sh (green)
>>>
>>> So "charlie.sh" looks strange because it has that extra write permission.
>>> However this is not a big deal for me. My concern was that everything was
>>> showing up executable (green) when running "ls --color". So overall this is an
>>> improvement, thanks.
>> What is '~+'? Is that some weird bash feature?
>>
>> Did you check the ACL? The ACL before and after the change should
>> explain what happened. Check it with getfacl *and* icacls to get
>> an idea what it looks like, and compare the result with the POSIX
>> ACL rules, as outlined on, e.g., http://linux.die.net/man/5/acl.
> On second thought, what you need to know is what the NULL DENY ACE looks
> like when looking at it in icacls.
>
> The following bits in the NULL DENY access mask are used:
>
> Windows access <-> POSIX access
> -------------- ------------
> FILE_READ_DATA S_ISVTX
> FILE_WRITE_DATA S_ISGID
> FILE_APPEND_DATA S_ISUID
>
> FILE_READ_EA MASK S_IXOTH (POSIX execute perms)
> FILE_WRITE_EA MASK S_IWOTH (POSIX write perms)
> FILE_EXECUTE MASK S_IROTH (POSIX read perms)
Are read and execute swapped intentionally in the above?
>
> FILE_DELETE_CHILD Set if MASK is valid
>
> READ_CONTROL Set to mark this as a "new style" ACL.
>
> SYNCHRONIZE Has no meaning, but icacls has a bug in
> printing the access mask of DENY ACEs.
>
> Same bits are used in the inheritable NULL DENY, but S_ISVTX and S_ISUID
> should never be set, because they are not supposed to be inherited,
>
>
> HTH,
> Corinna
>
--
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