mkdir失败,尽管目录存在并且我似乎具有写许可权

问题描述 投票:0回答:1

我正在Windows 10中使用GitBash。我想在/c/Users/User.Name/Documents中创建一个文件夹(正斜杠与它们在GitBash中的显示相同。在Windows资源管理器中,它们为C:\ Users \ User.Name \ Documents)。

如果我进入/c/Users/User.Name/Documents并键入mkdir = test,它将失败,并显示mkdir:无法创建目录'test':没有此类文件或目录。

Documents文件夹上的权限为drwxr-xr-x。我是文件夹所有者:whoamI = User.Name,它也是我试图在其中创建子目录的Documents文件夹的所有者名称(通过在/c/Users/User.Name中运行ls -lh可以看到)。如果我将.. cd插入/c/Users/User.Name并mkdir = test,则该命令有效。我是/c/Users/User.Name和/c/Users/User.Name/Documents的所有者,并且具有相同的权限。路径/c/Users/User.Name/Documents是实际路径,我不尝试通过符号链接进行访问。

我可以使用Windows资源管理器在/c/users/User.Name/Documents中手动创建'test'文件夹,在这种情况下,当我进入Documents时可以看到它。如果我尝试使用rm -r test删除它,那么它将失败并显示rm:无法删除“ test”:权限被拒绝。该文件夹的权限为drwxr-xr-x,由我本人拥有。

我猜我对所有权/权限不正确。有人可以建议如何解决这个问题吗?我在这里发现了一个类似的问题,他们建议更改文件夹权限,但是据我所知,我拥有完全权限并拥有该文件夹:mkdir-doesnt-work-when-im-in-my-documents-but-does-work-when-im-in-c

git-bash mkdir
1个回答
0
投票

drwxr-xr-x的权限或多或少解释了发生了什么。只允许所有者在该目录中写入,在第一组权限中用w表示。

要在其中创建目录,可以使用chmod更改权限。 766将允许所有人阅读和书写。 Linux权限here有一个很好的描述。

但是,任何chmod命令都可能失败,因为gitbash终端认为root是documents目录的所有者。为了证明这一点,请在文档上方的目录中运行ls -al以查看所有者。如果root是所有者,则可能需要在sudomkdir命令之前添加chmod。或者,您可以通过chown命令来更改所有者,但在Windows中可能会产生意想不到的后果。

© www.soinside.com 2019 - 2024. All rights reserved.