विंडोज 10 में नवीनतम संस्करण cygwin64 का उपयोग करते हुए। मैं एक निर्देशिका प्राप्त करने में कामयाब रहा, 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