Utilizzando l'ultima versione di cygwin64 in Windows 10. Sono riuscito a ottenere una directory foo
che ha qualcosa di strano nelle sue autorizzazioni. Non sono sicuro di come sia successo, ma ecco i sintomi:
$ 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
Questo non accade per altre directory, ad es /f/temp/ok
. Usando gli ls
switch non vedo alcuna differenza tra f/temp/ok
e /f/temp/foo
.
Se lo faccio, chmod 775 bar
posso entrare bar
, ma fare una directory sotto bar
ha lo stesso problema. Quindi questo problema è fermare me fare git init
in /f/temp/foo
. Fare chown -R Mm *
nel genitore non fa differenza.
La mia domanda è: cosa sta causando questo problema e qual è la soluzione corretta?
Ci sono alcune differenze visibili con icacls
ma non sono sicuro di come interpretarle:
$ 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)
Per ora ho una soluzione alternativa: crea un'altra directory sotto /f/temp
, quindi usa cp -r
per copiare tutti i file dalla foo
nuova directory, quindi elimina foo
e rinomina la nuova directory. Se uso al cp -a
posto del cp -r
problema persiste.
setfacl -b foo