Використовуючи останню версію cygwin64 в Windows 10. Мені вдалося отримати каталог, foo
який має щось дивне щодо його дозволів. Я не зовсім впевнений, як це сталося, але ось симптоми:
$ 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
Це не відбувається для інших каталогів, наприклад /f/temp/ok
. За допомогою ls
перемикачів я не бачу різниці між f/temp/ok
і /f/temp/foo
.
Якщо я це роблю, chmod 775 bar
то я можу ввести bar
, але тоді створення каталогу в розділі bar
має та сама проблема. Тому ця проблема заважає мені робити git init
в /f/temp/foo
. Робота chown -R Mm *
у батьків не має значення.
Моє запитання: Що викликає цю проблему і яке правильне виправлення?
Деякі відмінності помітні, icacls
але я не знаю, як їх інтерпретувати:
$ 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)
Наразі у мене є вирішення: зробіть інший каталог /f/temp
, а потім cp -r
скопіюйте всі файли з foo
нового каталогу, а потім видаліть foo
та перейменуйте новий каталог. Якщо я використовую cp -a
замість cp -r
проблеми, проблема не зникає.
setfacl -b foo