MongoDB許可權管理使用者
阿新 • • 發佈:2019-01-02
一、建立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 adminswitched 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"
}
]
}