我对MSYS中的文件权限非常困惑。在我的公司将我的Windows用户转移到另一个域后,事情开始出错了。现在我有这个具体问题:
我想编译cpputest。我使用Windows解压缩它,启动了一个msys控制台,所有者和组看起来像这样:
M.Grunwald@GNA ~/Projects/cpputest-3.8
$ ls -la
total 1956
drwxrwx---+ 1 M.Grunwald Domain Users 0 16. Nov 10:21 .
drwxrwx---+ 1 M.Grunwald COMPANY_DE+Domain Users 0 16. Nov 10:21 ..
-rwxrwx---+ 1 M.Grunwald Domain Users 11030 2. Mai 2016 .cproject
-rwxrwx---+ 1 M.Grunwald Domain Users 228 2. Mai 2016 .gitattributes
-rwxrwx---+ 1 M.Grunwald Domain Users 746 25. Mai 12:32 .gitignore
and so on.
当我启动autogen.sh时,会发生这种情况:
$ ./autogen.sh
autom4te-2.69: cannot open autom4te.cache/requests: Permission denied
$ ls -lad autom4te.cache/
drwxr-xr-x+ 1 M.Grunwald Domain Users 0 Nov 16 10:23 autom4te.cache/
所以该目录属于我,我拥有所有权限,但我不允许触及任何内容:
$ touch autom4te.cache/requests
touch: cannot touch 'autom4te.cache/requests': Permission denied
似乎“我”不是真正的M.Grunwald并且不属于“域用户”,也不属于......另一方面:
$ echo "UID: $UID GID: $GROUPS"
UID: 1117609 GID: 1049089
$ ls -lnad autom4te.cache/
drwxr-xr-x+ 1 1117609 1049089 0 Nov 16 10:23 autom4te.cache/
所以ID匹配。 umask也是0000,仍然是group和其他人没有写权限。如果我想改变这个:
$ chmod g+w autom4te.cache
chmod: changing permissions of 'autom4te.cache': Permission denied
现在我对许多类似的任务完全混淆和阻止(总是权限问题,cpputest只是一个例子)。你能救我吗?
答案 0 :(得分:0)
重新运行mingw安装程序后,问题解决了。