温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MongoDB权限

发布时间:2020-05-20 09:51:59 来源:网络 阅读:656 作者:厚土 栏目:MongoDB数据库
1. 添加用户
MongoDB shell version: 1.8.2
connecting to: 127.0.0.1:30000/test
>
>
>
> use admin
switched to db admin
> db.addUser('admin','admin')
{
                "user" : "admin",
                "readOnly" : false,
                "pwd" : "7c67ef13bbd4cae106d959320af3f704"
}
>

2. 带上--auth参数后重启
$MONGODB_HOME/bin/mongod --fork --logpath=$MONGODB_HOME/logs/mongodb.log --dbpath=$DATA_PATH --port=$MONGODB_PORT --auth

3. 测试
MongoDB shell version: 1.8.2
connecting to: 127.0.0.1:30000/test
>
> use admin
switched to db admin
> show collections
Sat Aug    6 11:16:45 uncaught exception: error: {
                "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
                "code" : 10057
}
switched to db admin
> db.auth('admin','admin')
1
> show collections
system.indexes
system.users
>
没有执行db.auth('admin','admin')之前会报错,说是未授权

4. Java客户端调用也需要使用用户名和密码,只需简单地加上一句
db.authenticate("admin", "admin".toCharArray());

5. 在admin下添加的用户是超级管理员,可以访问任何数据库,用超级管理员可以为单个数据库添加用户,这个用户只能访问他所在的数据库
> use test
switched to db test
> db.addUser("test","test")
{
                "user" : "test",
                "readOnly" : false,
                "pwd" : "a6de521abefc2fed4f5876855a3484f5"
}
6. 在未授权的情况下,依然可以执行
db.shutdownServer()停掉节点
所以运行mongodb的服务器端口一定要严格授权访问


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI