文件权限从 Git Bash 到 Cygwin 命令行有所不同

Posted

技术标签:

【中文标题】文件权限从 Git Bash 到 Cygwin 命令行有所不同【英文标题】:File Permissions Vary from Git Bash to Cygwin Command Line 【发布时间】:2014-06-17 08:34:20 【问题描述】:

我在 Windows 8 机器上。我在进行源代码控制时使用 Git Bash。我使用 Cygwin 连接到我的服务器。

我有一个敏感文件(实际上是私钥),我想拥有rwx-rwx---- 权限。

从 Cygwin 命令行运行 ls -l 时,此特定文件的权限为 rwx-rwx----。这正是我想要的,很好。

但是,当我从 Git Bash 运行 ls -l 时,它说权限是 rw--r---r--。这不是我想要的。我什至尝试从 Git Bash 对这个文件执行 chmod,但它并没有改变任何东西。

我假设从 Git Bash 查看权限时权限不正确。该文件只是没有 Git Bash 认为的权限。但是,我担心 Git Bash 可能是正确的。如果是这样,那就不好了。

Git Bash 错了吗?要不然是啥?我很担心,因为我不希望这个文件是世界可读的。

如果 Git Bash 只是显示权限错误,那是为什么呢?我知道这不一定是什么大问题,但我很好奇它为什么会扭曲这个文件的权限。

【问题讨论】:

当你说git bash 时,这是 git 的 Cygwin 版本,还是 windows 版本? 【参考方案1】:

我猜你真正需要的不是rwx-rwx---- rwx 当前用户。如果是这种情况,您可以运行

chmod a+x infile

a 使其适用于所有用户。

chmod Man Page

【讨论】:

以上是关于文件权限从 Git Bash 到 Cygwin 命令行有所不同的主要内容,如果未能解决你的问题,请参考以下文章

cygwin“权限被拒绝”

使用 cygwin 和 git bash 在 Windows 10 上进行 Shell 脚本评估失败

如何阻止 git 在 cygwin 上使文件不可执行?

安装了cygwin之后无法获得root权限,更改了passwd也不行,输入su结果显示“-bash: su: 未找到命令"

cygwin配置git

在没有管理员权限的情况下从 C# 使用 Git-bash