Usando a versão mais recente do cygwin64 no Windows 10. Consegui obter um diretório fooque tem algo estranho sobre suas permissões. Não sei bem como isso aconteceu, mas aqui estão os sintomas:
$ cd /f/temp/foo
$ ls -lad .
drwxrwx---+ 1 Mm None 0 Jun 16 14:03 .
$ mkdir bar
$ ls -lad bar
d---rwx---+ 1 Mm None 0 Jun 16 14:17 .
$ cd bar
Permission denied
$ umask
0022
Isso não acontece para outros diretórios, por exemplo, /f/temp/ok . Usando lsinterruptores, não vejo diferença entre f/temp/oke /f/temp/foo.
Se eu fizer chmod 775 bar, posso entrarbar , mas criar um diretório em bartem o mesmo problema. Portanto, este problema está parando me fazendo git initem /f/temp/foo. Fazer chown -R Mm *com os pais não faz diferença.
Minha pergunta é: O que está causando esse problema e qual é a correção adequada?
Existem algumas diferenças visíveis com icacls mas não sei como interpretá-las:
$ cd /f/temp
$ icacls ok >ok.txt
$ icacls foo >foo.txt
$ diff -b ok.txt foo.txt
1c1
< ok NULL SID:(DENY)(Rc,S,REA,WEA,X,DC)
---
> foo NULL SID:(DENY)(Rc,S,REA,WEA,X,DC)
3c3
< DESKTOP-AO2AIEC\None:(RX)
---
> DESKTOP-AO2AIEC\None:(Rc,S,RA)
8c8
< Everyone:(RX)
---
> Everyone:(Rc,S,RA)
10,11c10,12
< CREATOR OWNER:(OI)(CI)(IO)(F)
< CREATOR GROUP:(OI)(CI)(IO)(RX)
---
> CREATOR OWNER:(OI)(CI)(IO)(DENY)(S,RD,WD,AD,REA,WEA,X,DC)
> CREATOR OWNER:(OI)(CI)(IO)(D,Rc,WDAC,WO,RA,WA)
> CREATOR GROUP:(OI)(CI)(IO)(Rc,S,RA)
16c17
< Everyone:(OI)(CI)(IO)(RX)
---
> Everyone:(OI)(CI)(IO)(Rc,S,RA)
Eu tenho uma solução alternativa no momento: coloque outro diretório em /f/tempe use cp -rpara copiar todos os arquivos para fooo novo diretório, exclua fooe renomeie o novo diretório. Se eu usar em cp -avez do cp -rproblema persistir.
setfacl -b foo