2013-02-09 38 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