mongodb默认链接是不需要用户名、密码的,直接IP、端口号就可以连,这样肯定不安全啦。
MongoDB用户权限分配的操作是针对某个库来说的。--这句话很重要。
下面演示如何给对应的库添加帐号密码:
1,进入命令模式
#mongod
2,进入某个库
#use test
3,添加用户
db.addUser("str","str");
4,用户授权
#db.auth("str","str");
5,修改配置文件mongo.conf支持权限控制
#vim /etc/mongod.conf
把auth=true这行前面的注释去掉,保存即可
6,重启服务
#service mongod restart
程序再次链接test库的时候,如果不提供用户名和密码提示无链接权限。
程序连接如下,见红色部分:
Mongo mongoClient = null;
DB db = null;
DBCollection coll = null;
public Leantest(){
try {
mongoClient = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
}
db = mongoClient.getDB("test");
db.authenticate("str", "str".toCharArray());
//就是上面这行
coll = db.getCollection("testCollection");
}
附上一些常用用户操作命令:
db.system.users.find();
查看所有用户
db.system.users.remove({user:"str"});
删除str用户
db.addUser("str","str1");
更改密码(为已经存在的用户更改密码)