Tôi đang cố gắng thêm quyền vào MongoDB của mình.
Tôi đang làm tất cả điều này trên Linux với MongoDB 2.6.1.
Tệp mongod.conf của tôi có định dạng tương thích cũ
(đây là cách nó đi kèm với cài đặt).
1) Tôi đã tạo người dùng quản trị như được mô tả ở đây trong (3)
http://docs.mongodb.org/manual/tutorial/add-user-ad Administrator /
2) Sau đó tôi đã chỉnh sửa mongod.conf bằng cách bỏ dòng này
auth = true
3) Cuối cùng tôi đã khởi động lại dịch vụ mongod và tôi đã cố gắng đăng nhập bằng:
/usr/bin/mongo localhost:27017/admin -u sa -p pwd
4) Tôi có thể kết nối nhưng nó nói điều này khi kết nối.
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) Bây giờ có vẻ như sa
người dùng này tôi tạo không có quyền gì cả.
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 >>>
Vấn đề là gì? Tôi đã lặp lại toàn bộ quy trình này 3 lần và
tôi nghĩ rằng tôi đã làm tất cả như được chỉ định trong các tài liệu MongoDB. Nhưng nó không hoạt động.
Tôi đã mong đợi sa
người dùng này được ủy quyền để làm bất cứ điều gì để
sau đó anh ta có thể tạo người dùng khác và cung cấp cho họ quyền cụ thể hơn.