6

mongodb 2.4.1 の適切な承認を設定する方法。セットアップが機能していないようです。レプリカ メンバー構成:

dbpath = /vol/data/mongodb/

# logfile
logpath   = /var/log/mongodb/mongodb.log
logappend = true

# socket
bind_ip = 0.0.0.0
port = 27018

# replication
replSet = <%= hostname[14,4] %>

# authentication
keyFile = /etc/mongodb.pass

# turn off legacy privilege mode
setParameter = supportCompatibilityFormPrivilegeDocuments=false
setParameter = textSearchEnabled=false

# turn off authorization
auth = true

ユーザー認証を追加した後:

> use admin
> db.addUser( { user: "admin", pwd: "xxx", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase" ] } )

rs.* コマンドにアクセスできません。

> use admin
> db.auth('admin','xxx')
1
> rs.status()
{ "ok" : 0, "errmsg" : "unauthorized" }
4

2 に答える 2

1

レプリカセットがある場合は、keyFile を使用する必要があると思います。

http://docs.mongodb.org/manual/tutorial/enable-authentication/から取得 :

auth または keyFile 設定を使用して認証を有効にします。スタンドアロン インスタンスには auth を使用し、レプリカ セットとシャード クラスターには keyFile を使用します。keyFile は auth を意味し、MongoDB デプロイメントのメンバーが内部で認証できるようにします。

于 2013-05-17T19:42:08.247 に答える