在 cygwin 上创建文件时使用了错误的权限

在 cygwin 上创建文件时使用了错误的权限

我在工作时换了一个新机器,并将我的整个 cygwin 文件夹从rsync旧机器复制到了新机器。但现在如果我这样做touch tmp,文件会获得060权限,而不像644以前那样。这非常令人不安,因为甚至无法cat <<<foo工作,但会出现错误bash: cannot create temp file for here-document: Permission denied

答案1

这似乎是 NTFS 权限的问题。我也无法通过 Windows 资源管理器访问文件夹。修复 Windows 权限后,它现在可以正常工作了。

答案2

新文件根据设置获取权限umask。执行umask 022示例并重试。

答案3

使用 rsync 时,如果旧计算机上的用户在新计算机上不存在,则可能会出现问题。在这种情况下,您可能会收到文件,指出该用户是旧计算机上的用户或该用户不是任何人。如果发生这种情况,您可能没有权限编辑/修改(甚至访问)同步的数据。

相关内容