Menggunakan versi terbaru cygwin64 di Windows 10. Saya telah berhasil mendapatkan direktori foo
yang memiliki sesuatu yang aneh tentang izinnya. Saya tidak yakin bagaimana ini terjadi tetapi berikut adalah gejalanya:
$ 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
Ini tidak terjadi untuk direktori lain, mis /f/temp/ok
. Menggunakan ls
sakelar, saya tidak bisa melihat perbedaan antara f/temp/ok
dan /f/temp/foo
.
Jika saya melakukannya chmod 775 bar
maka saya bisa masuk bar
, tetapi kemudian membuat direktori di bawah bar
memiliki masalah yang sama. Jadi masalah ini menghentikan saya lakukan git init
di /f/temp/foo
. Berbuat chown -R Mm *
pada orang tua tidak ada bedanya.
Pertanyaan saya adalah: Apa yang menyebabkan masalah ini dan apa perbaikan yang tepat?
Ada beberapa perbedaan yang terlihat icacls
tetapi saya tidak yakin bagaimana menafsirkannya:
$ 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)
Saya telah mendapatkan solusi untuk saat ini: buat direktori lain di bawah /f/temp
, lalu gunakan cp -r
untuk menyalin semua file dari foo
ke dalam direktori baru, kemudian hapus foo
dan ganti nama direktori baru. Jika saya menggunakan cp -a
bukannya cp -r
masalah berlanjut.
setfacl -b foo