MSYS 如何定义文件权限?
MSYS how are file permissions defined?
我对 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
似乎"I"不是真正的M.Grunwald也不属于"Domain Users",也不属于... 另一方面:
$ 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后问题解决
我对 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
似乎"I"不是真正的M.Grunwald也不属于"Domain Users",也不属于... 另一方面:
$ 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后问题解决