MSYS如何定义文件权限?
问题描述:
我对MSYS中的文件权限感到超级困惑。在我的公司将我的Windows用户转移到另一个域后,情况开始出现问题。现在我有这个具体问题:MSYS如何定义文件权限?
我想编译cpputest。我解压缩它使用的是Windows,开始了一个MSYS控制台,所有者和组是这样的:
[email protected] ~/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,并且组和其他人也没有写入权限。如果我想改变这一点:
$ chmod g+w autom4te.cache
chmod: changing permissions of 'autom4te.cache': Permission denied
现在我完全糊涂了,并阻止许多相似的任务(总权限问题,cpputest只是一个例子)。你可以帮我吗?
答
这个问题在我重新运行mingw安装程序后解决了。