MongoDB用户管理&&权限管理(模拟生产)

4 篇文章 0 订阅
3 篇文章 0 订阅
验证库:建立用户时use到的库,在使用用户时,要加上验证库才能登陆。
对于管理员用户,必须在admin下创建.
1. 建用户时,use到的库,就是此用户的验证库
2. 登录时,必须明确指定验证库才能登录
3. 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库
4. 如果直接登录到数据库,不进行use,默认的验证库是test,不是我们生产建议的.
前提:
配置用户验证的功能
```yaml
#编辑配置文件
vi /mongodb/conf/mongo.conf
#在配置文件末追加
security:
  authorization: enabled
#关闭mongodb
ongod -f /ongodb/conf/mongo.conf --shutdown 
#启动mongodb
mongod -f /mongodb/conf/mongo.conf 
```yaml
输入 mongo 连上数据库

创建管理员用户

#验证库
use admin
#创建用户
db.createUser(
{
    user: "root",
    pwd: "1234",
    roles: [ { role: "root", db: "admin" } ]
}
)
#验证用户是否创建成功
db.auth('root','1234')
#此时该用户需要远程登录时要输入才可连上
mongo -uroot -p1234 192.168.220.21/admin

创建对app数据库,读、写权限的用户app01

(1)超级管理员用户登陆
mongo -uroot -p1234 admin
(2)选择一个验证库
use app
(3)创建用户
db.createUser(
	{
		user: "app01",
		pwd: "app01",
		roles: [ { role: "readWrite" , db: "app" } ]
	}
)
mongo  -uapp01 -papp01 192.168.220.21/app

创建app数据库读写权限的用户并对test数据库具有读权限

mongo -uroot -p1234 192.168.220.21/admin
use app
db.createUser({
	user: "app03",
	pwd: "app03",
	roles: [ { role: "readWrite", db: "app" },
	{ role: "read", db: "test" }]
})
查询mongodb中的用户信息
mongo -uroot -p1234 192.168.220.21/admin
db.system.users.find().pretty()
{
	"_id" : "admin.root",
	"user" : "root",
	"db" : "admin",
	"credentials" : {
		"SCRAM-SHA-1" : {
			"iterationCount" : 10000,
			"salt" : "HsSHIKBQyMnFEzA/PSURYA==",
			"storedKey" : "dbOoQserGa/fB+JQyLqr1yXQZBM=",
			"serverKey" : "h+b/vARfWp6cmDquUN6bJo4whdc="
		}
	},
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	]
	}

删除用户(root身份登录,use到验证库)

mongo -uroot -proot123 10.0.0.51/admin
use app
db.dropUser("app01")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值