विंडोज 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