cygwin pode ignorar o windows xp acls?

1

Como o cygwin é capaz de contornar o ACLS do Windows XP? No exemplo a seguir, o cmd.exe não pode criar um arquivo em um diretório, mas o bash pode. O que dá?

C:\WINDOWS\Temp>mkdir noaccess

C:\WINDOWS\Temp>cacls noaccess /E /R Everyone
processed dir: C:\WINDOWS\Temp\noaccess

C:\WINDOWS\Temp>cacls noaccess
C:\WINDOWS\Temp\noaccess

C:\WINDOWS\Temp>echo abc > noaccess\abc
Access is denied.

C:\WINDOWS\Temp>c:\cygwin\bin\bash -c "echo abc > noaccess/abc"

C:\WINDOWS\Temp>c:\cygwin\bin\bash -c "/bin/cat noaccess/abc"
abc
    
por Miserable Variable 10.02.2012 / 21:18

2 respostas

0

Os aplicativos do Cygwin não têm privilégios especiais, mas "tentam com mais afinco". Se uma chamada do Win32 falhar, o Cygwin tentará usar uma função de API do kernel do NT para executar a operação equivalente (e, às vezes, apenas usa a API do kernel do NT primeiro). Estranhamente, as APIs do kernel do NT podem ter sucesso onde as APIs do Win32 falham.

    
por 28.05.2012 / 23:21
0

Acho que isso tem a ver com a opção noacl

noacl - Cygwin ignores filesystem ACLs and only fakes a subset of permission bits based on the DOS readonly attribute. This behaviour is the default on FAT and FAT32. The flag is ignored on NFS filesystems.

Isso não explica realmente como o Windows não consegue impor ACLs. Eu acho que o Cygwin tem privilégios elevados de algum tipo. Provavelmente isso ficará mais claro se você ler sobre o Cygwin e a segurança do "NT"

    
por 10.02.2012 / 21:39

Tags