我无法在 cygwin 中找到 etc/passwd 文件

I am unable to find the etc/passwd file in cygwin

我最近安装了 cygwin,但找不到我的 passwd/etc 文件以设置为 HOME。有没有办法强制cygwin生成文件?

从 Cygwin 1.7.34 开始,不再默认生成 /etc/passwdgroup 文件。

可以仍然generate them。默认情况下,Cygwin 将优先使用这些文件(如果存在),但仅用于满足现有安装和特殊情况。

当这些文件不存在时,Cygwin 现在使用本机 Windows 用户管理机制:Active Directory where present, or SAM where not.

因此建议您使用此 new mechanism 更改主目录。我知道的最简单的方法是在你的 /etc/nsswitch.conf 文件中添加这样一行:

db_home: /%H

这会将您的 Cygwin 主目录更改为等于您的 Windows 用户配置文件目录。您可以在此处使用许多其他合法的 % 标记来获得不同的结果。详情见上一篇link

在我的例子中,我在 /etc/nsswitch.conf 文件中设置 db_home: /%H,并将我的 .ssh 目录的权限更改为 "full control"。