2015-02-18 61 views
13

我最近安装了cygwin,并且一直无法找到我的passwd/etc文件,并将其设置为HOME。有没有办法强制cygwin生成文件?我无法找到cygwin中的etc/passwd文件

+0

您的意思是/ etc/passwd?我在我的PC上检查了它的创建日期,这几乎与Cygwin.ico相同。/etc/passwd在图标文件前3分钟创建。这意味着它是在安装过程中创建的(2013.09.19)。 – szkj 2015-02-19 00:18:38

回答

25

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

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

当这些文件不存在时,Cygwin现在使用本机Windows用户管理机制:Active Directory存在,或SAM不存在。

因此,建议您使用此new mechanism来更改您的主目录。我知道要做到这一点,最简单的方法是这样的行添加到您的​​文件:

db_home: /%H 

这会改变你的Cygwin主目录为等于您的Windows用户配置文件目录。还有许多其他合法的%令牌,您可以在此使用以实现不同的结果。详细信息请参阅上一个链接。

+0

那么他们在Win dir中的位置是否在创建? – 2015-07-07 10:36:25

+0

@square_eyes:它们根本不在Windows目录中。 '/ etc/passwd'和'/ etc/group'是POSIX路径,而不是Windows路径。默认情况下,如果您使用默认的Cygwin安装目录,'/ etc'是Cygwin根目录的一部分,所以它显示为'c:\ cygwin \ etc'或'c:\ cygwin64 \ etc'。但是,将Windows路径映射到POSIX路径的机制是[可配置的](https://cygwin.com/cygwin-ug-net/using.html#mount-table),因此这些文件可能在其他地方。 – 2015-07-07 11:11:09

+0

好的谢谢。我现在明白了:) – 2015-07-09 10:30:43

3

在我的情况下,我在​​文件中设置了db_home: /%H,并将我的.ssh目录的权限更改为“完全控制”。