1. 程式人生 > >mongodb專案實戰與高階應用(使用者管理)

mongodb專案實戰與高階應用(使用者管理)

1.1、新增使用者
為testdb 新增ma 使用者

use testdb
db.createUser({user:"ma",pwd:"123",roles:[{ role:"dbAdmin",db:"testdb"}]})

具體角色有
read:允許使用者讀取指定資料庫
readWrite:允許使用者讀寫指定資料庫
dbAdmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile
userAdmin:允許使用者向system.users 集合寫入,可以找指定資料庫裡建立、刪除和管理使用者
clusterAdmin:只在admin 資料庫中可用,賦予使用者所有分片和複製集相關函式的管理許可權。
readAnyDatabase:只在admin 資料庫中可用,賦予使用者所有資料庫的讀許可權
readWriteAnyDatabase:只在admin 資料庫中可用,賦予使用者所有資料庫的讀寫許可權
userAdminAnyDatabase:只在admin 資料庫中可用,賦予使用者所有資料庫的userAdmin 許可權
dbAdminAnyDatabase:只在admin 資料庫中可用,賦予

1.2 檢視所有使用者

db.system.users.find()

和使用者管理相關的操作基本都要在admin 資料庫下執行,要先use admin;
如果在某個單一的資料庫下,那隻能對當前資料庫的許可權進行操作;

1.3、使用者刪除操作

db.system.users.remove({user:"ma"});

1.4 檢視當前使用者許可權

db.runCommand({usersInfo:"ma",showPrivileges:true})

1.5 修改密碼

use testdb
db.changeUserPassword("ma", "123456")

1.6、啟用使用者

db.auth("ma","123")

1.7、安全檢查--auth

非testdb 是不能操作資料庫的,啟用自己的使用者才能訪問
非admin 資料庫的使用者不能使用資料庫命令,admin 資料庫中的資料經過認證為管理員使用者