文件权限从 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 和 git bash 在 Windows 10 上进行 Shell 脚本评估失败
安装了cygwin之后无法获得root权限,更改了passwd也不行,输入su结果显示“-bash: su: 未找到命令"