1. 程式人生 > >MongoDB許可權管理使用者

MongoDB許可權管理使用者

一、建立root使用者

1.建立root使用者

> db.createUser({user:"root",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

2.關閉伺服器

[[email protected] ~]# mongod -shutdown -dbpath=/usr/local/mongodb/data
killing process with pid: 115534

3.重新啟動伺服器

[[email protected] ~]# mongod --auth --dbpath=/usr/local/mongodb/data --journal

4.使用root使用者連線mongodb資料庫

[[email protected] ~]# mongo admin -u root -p 123456

或者直接輸入mongo

但是這種形式要執行以下操作:

> use admin
switched to db admin
> db.auth("root","123456")

> use admin
switched to db admin
> db.auth("root","123456")
1
> show tables
system.users
system.version

二、建立普通使用者

案例實現:

1.使用root使用者登入

[[email protected] ~]# mongo admin -u root -p 123456

2.切換到tomdb

> use tomdb
switched to db tomdb

3.在tomdb中建立一個使用者tom,即tom屬於tomdb

> db.createUser(
... {
... user:"tom",
... pwd:"123456",
... roles:[{role:"readWrite",db:"tomdb"}]
... }
... )
Successfully added user: {
	"user" : "tom",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "tomdb"
		}
	]
}

4.使用root使用者,給tom使用者授權訪問test庫

> db.grantRolesToUser("tom",[{role:"readWrite",db:"test"}])
> use test
switched to db test
> db
test

5.檢查是否授權訪問成功

> show users
{
	"_id" : "tomdb.tom",
	"user" : "tom",
	"db" : "tomdb",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "test"
		},
		{
			"role" : "readWrite",
			"db" : "tomdb"
		}
	]
}