Saya mencoba menambahkan otorisasi ke MongoDB saya.
Saya melakukan semua ini di Linux dengan MongoDB 2.6.1.
File mongod.conf saya berada dalam format kompatibilitas yang lama
(beginilah cara menginstalnya).
1) Saya membuat pengguna admin seperti yang dijelaskan di sini dalam (3)
http://docs.mongodb.org/manual/tutorial/add-user-administrator/
2) Saya kemudian mengedit mongod.conf dengan menghapus komentar pada baris ini
auth = true
3) Akhirnya saya reboot layanan mongod dan saya mencoba masuk dengan:
/usr/bin/mongo localhost:27017/admin -u sa -p pwd
4) Saya dapat terhubung tetapi dikatakan ini saat terhubung.
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:47:16 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
5) Sekarang tampaknya sa
pengguna yang saya buat ini tidak memiliki izin sama sekali.
root@test02:~# mc
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:57:03 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
[admin] 2014-05-29 17:57:03.011 >>> use admin
switched to db admin
[admin] 2014-05-29 17:57:07.889 >>> show collections
2014-05-29T17:57:10.377-0400 error: {
"$err" : "not authorized for query on admin.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[admin] 2014-05-29 17:57:10.378 >>> use test
switched to db test
[test] 2014-05-29 17:57:13.466 >>> show collections
2014-05-29T17:57:15.930-0400 error: {
"$err" : "not authorized for query on test.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[test] 2014-05-29 17:57:15.931 >>>
Apa masalahnya? Saya mengulangi seluruh prosedur ini 3 kali dan
saya pikir saya melakukan semuanya seperti yang ditentukan dalam dokumen MongoDB. Tapi itu tidak berhasil.
Saya mengharapkan sa
pengguna ini diotorisasi untuk melakukan apa saja sehingga
ia kemudian dapat membuat pengguna lain dan memberi mereka izin yang lebih spesifik.