我想为我的MongoDB实例设置用户名和密码身份验证,以便任何远程访问都将要求输入用户名和密码。 我从MongoDB网站尝试了该教程,并做了以下工作:
use admin
db.addUser(‘theadmin’, ‘12345’);
db.auth(‘theadmin’,‘12345’);
之后,我退出并再次运行mongo。 而且我不需要密码即可访问它。 即使我远程连接到数据库,也不会提示我输入用户名和密码。
更新这是我最终使用的解决方案
-
At the mongo command line, set the administrator:
use admin;
db.addUser(‘admin’,‘123456’); -
Shutdown the server and exit
db.shutdownServer();
exit -
Restart mongod with --auth
$ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/
-
Run mongo again in 2 ways:
i) run mongo first then login:
$ ./mongodb/bin/mongo localhost:27017 use admin db.auth('admin','123456');
ii) run & login to mongo in command line.
$ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456
用户名和密码对mongodump和mongoexport方式相同。
#1楼
这是添加用户的JavaScript代码。
以–auth = true启动mongod
从mongo shell访问管理数据库并传递javascript文件。
mongo管理员“ Filename.js”
“ Filename.js”
// Adding admin user db.addUser(“admin_username”, " admin_password"); // Authenticate admin user db.auth("admin_username ", " admin_password "); // use database code from java script db = db.getSiblingDB(“newDatabase”); // Adding newDatabase database user db.addUser("database_username ", " database_ password ");
现在用户添加完成,我们可以验证从mongo shell访问数据库
#2楼
首先,在mongod配置文件(默认路径/etc/mongo.conf )中取消注释以/etc/mongo.conf #auth=true开头的行。 这将启用对mongodb的身份验证。
然后,重新启动mongodb: sudo service mongod restart
#3楼
该答案适用于Mongo 3.2.1 参考
1号航站楼:
$ mongod --auth
2号航站楼:
db.createUser({user:“admin_name”, pwd:“1234”,roles:[“readWrite”,“dbAdmin”]})
如果要添加而没有角色(可选):
db.createUser({user:“admin_name”, pwd:“1234”, roles:[]})
检查是否通过验证:
db.auth(“admin_name”, “1234”)
它应该给你:
1
其他:
Error: Authentication failed.
0
#4楼
https://docs.mongodb.com/manual/reference/configuration-options/#security.authorization
编辑mongo设置文件;
sudo nano /etc/mongod.conf
添加行:
security.authorization : enabled
重新启动服务
sudo service mongod restart
问候
#5楼
首先在终端上使用运行mongoDB
mongod
现在运行mongo shell使用以下命令
use admin
db.createUser(
{
user: “myUserAdmin”,
pwd: “abc123”,
roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
}
)
使用访问控制重新启动MongoDB实例。
mongod --auth
现在使用以下命令从命令行进行身份验证
mongo --port 27017 -u “myUserAdmin” -p “abc123” --authenticationDatabase “admin”