2013-02-09 45 views
8

我已经在mongodb站点上的教程之后创建了三个成员replicaSet(在分开的服务器中)。Mongodb KeyFile太开放权限

我有配置/etc/mongodb.conf如下:

叉=真

KEYFILE =/SRV/MongoDB的/密钥文件

而且我在那个位置创建密钥文件和服务器总是告诉我“权限过于开放”keyFile

什么可能是错误的?

在此先感谢

回答

22

the docs

密钥文件不得有组或“世界”的权限在UNIX系统上

因此,如果你运行它,你应该罚款(替代实际路径):

chmod 600 /path/to/keyfile 

您还应该确保密钥文件由您用来运行mongod/mongos进程的用户拥有,否则,设置上述权限将导致错误(只有拥有该文件的用户才能以600个权限访问它) 。

+5

我发现了这个问题。 Mongodb在用户mongodb上运行,并且该文件是由另一个用户创建的。使用chown mongodb keyFile解决了我的问题。 亚当,我做了下面的德教程,我得到了无法读取文件。 现在一切正常 – SeVeNDuS 2013-02-10 08:16:04

+0

对不起 - 我认为这是暗示。 700个权限意味着只有文件的所有者才能访问它,因此该所有者需要与您用来运行MongoDB进程的相同。我添加了一条说明来澄清其他人 – 2013-02-10 22:53:00

+0

我可以理解为什么它不允许世界权限,但禁止组似乎太过分了,使管理员变得复杂。 – UpTheCreek 2013-04-18 14:22:34