在Windows 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
问题仍然存在。
@matzeri似乎有用 - 如果你能用解释写出答案我会投票并接受
—
MM
setfacl -b foo