chmod issue on 3.1.7.
Ken Brown
kbrown@cornell.edu
Thu Dec 24 22:56:10 GMT 2020
On 12/24/2020 4:13 PM, Kaz Kylheku (Cygwin) via Cygwin wrote:
> On 2020-10-10 09:32, Kaz Kylheku (Cygwin) via Cygwin wrote:
>> Hi all,
>>
>> Running this Cygwin on a Windows 10 system:
>>
>> 0:DESKTOP-K8055OB:~$ uname -a
>> CYGWIN_NT-10.0-WOW DESKTOP-K8055OB 3.1.7(0.340/5/3) 2020-08-22 19:03
>> i686 Cygwi
>>
>> When a file is created, and permissions set as follows:
>>
>> 0:DESKTOP-K8055OB:~$ touch tempfile
>> 0:DESKTOP-K8055OB:~$ chmod 03777 tempfile
>> 0:DESKTOP-K8055OB:~$ ls -l tempfile
>> -rwsrwsrwt 1 kaz kaz 0 Oct 10 08:59 tempfile
>>
>> Then "chmod u=" is not able to clear the owner's permissions to nothing:
>>
>> 0:DESKTOP-K8055OB:~$ chmod u= tempfile
>> 0:DESKTOP-K8055OB:~$ ls -l tempfile
>> -rwxrwsrwt 1 kaz kaz 0 Oct 10 08:59 tempfile
>>
>> As you can see, it has no effect. The expected value is ----rwsrwt.
>>
>> I tried both with 64 and 32 bit Cygwin: same deal.
>>
>> This is not a problem with the chmod utility. I ran into this as a failing
>> test case against a chmod library function in a programming language.
>>
>> http://www.kylheku.com/cgit/txr/tree/tests/018/chmod.tl
>>
>> The test cases pass until the "u=", which fails in the same way.
>> This does not use the chmod utility.
>>
>> It's an issue with the chmod system call.
>>
>> This used to work on my older Cygwin installation, which was around 2.5.
>
> Anyone have a clue about this issue?
>
> $ icacls tempfile
> tempfile NULL SID:(DENY)(Rc,S,RD,WD)
> BLACKBOX\kaz:(F)
> BLACKBOX\kaz:(RX,W)
> Everyone:(RX,W)
>
> $ getfacl tempfile
> # file: tempfile
> # owner: kaz
> # group: kaz
> # flags: -st
> user::rwx
> group::rwx
> other::rwx
>
> $ ls -l tempfile
> -rwxrwsrwt 1 kaz kaz 0 Dec 24 13:09 tempfile
>
> $ chmod u= tempfile
> $ ls -l tempfile
> -rwxrwsrwt 1 kaz kaz 0 Dec 24 13:09 tempfile
Could the problem be that the owner and group are the same? You can do that on
unix, but I'm not sure the Windows security model allows it. For example, what
happens when you remove permissions of the owner kaz while retaining the
permissions of the group kaz? As far as Windows is concerned, you're talking
about BLACKBOX\kaz in both cases, I think.
Ken
More information about the Cygwin
mailing list