Korzystając z najnowszej wersji cygwin64 w Windows 10. Udało mi się uzyskać katalog, foo
który ma coś dziwnego w swoich uprawnieniach. Nie jestem do końca pewien, jak to się stało, ale oto objawy:
$ 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
Nie dzieje się tak w przypadku innych katalogów, np /f/temp/ok
. Za pomocą ls
przełączników nie widzę żadnej różnicy między f/temp/ok
i /f/temp/foo
.
Jeśli to zrobię chmod 775 bar
, mogę wejść bar
, ale utworzenie katalogu poniżej bar
ma ten sam problem. Więc ten problem jest zatrzymanie mnie robi git init
w /f/temp/foo
. Robienie chown -R Mm *
u rodzica nie ma znaczenia.
Moje pytanie brzmi: co powoduje ten problem i jaka jest właściwa poprawka?
Widoczne są pewne różnice, icacls
ale nie jestem pewien, jak je interpretować:
$ 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)
Mam na razie obejście: utwórz inny katalog poniżej /f/temp
, a następnie użyj, cp -r
aby skopiować wszystkie pliki foo
do nowego katalogu, a następnie usuń foo
i zmień nazwę nowego katalogu. Jeśli użyję cp -a
zamiast cp -r
problem nadal występuje.
setfacl -b foo