MongoDB Linux運維常用號令。
show dbs 查看數據庫
use dbname 進入數據庫
show users 查看當前數據庫用戶權限
建立用戶
db.createUser({user:"usertest",pwd:"passtest",roles:[ {role:"clusterAdmin", db:"admin" }, {role:"readAnyDatabase",db:"admin" }, {role:"readWrite",db:"testDB" } ]})
權限詳解
內建腳色:
數據庫用戶腳色:read、readWrite;
數據庫辦理腳色:dbAdmin、dbOwner、userAdmin;
集群辦理腳色: clusterAdmin、clusterManager、clusterMonitor、hostManager;
備份恢復腳色: backup、restore;
所稀有據庫腳色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超等用戶腳色: root; 這里還有幾個腳色間接或直接供給了系統超等用戶的拜候(dbOwner 、userAdmin、userAdminAnyDatabase)
內部腳色: __system;
------------------------------------------------------------------------------------------
腳色申明:
Read: 許可用戶讀取指定命據庫
readWrite: 許可用戶讀寫指定命據庫
dbAdmin: 許可用戶在指定命據庫中執行辦理函數,如索引建立、刪除,查看統計或拜候system.profile
userAdmin: 許可用戶標的目的system.users調集寫入,可以找指定命據庫里建立、刪除和辦理用戶
dbOwner: 許可在當前DB中執行肆意操作
readAnyDatabase: 付與用戶所稀有據庫的讀權限,只在admin數據庫中可用
readWriteAnyDatabase: 付與用戶所稀有據庫的讀寫權限,只在admin數據庫中可用
userAdminAnyDatabase:付與用戶所稀有據庫辦理User的權限,只在admin數據庫中可用
dbAdminAnyDatabase: 付與辦理所稀有據庫的權限,只在admin數據庫中可用
root: 超等賬號,超等權限,只在admin數據庫中可用。
------------------------------------------------------------------------------------------
集群辦理腳色:
clusterAdmin: 付與辦理集群的最高權限,只在admin數據庫中可用
clusterManager: 付與辦理和監控集群的權限
clusterMonitor: 付與監控集群的權限,對監控東西具有readonly的權限
hostManager: 付與辦理Server
點竄暗碼
方式1:db.changeUserPassword("usertest","changepass");
方式2:db.updateUser("usertest",{pwd:"changepass1"});
點竄權限
db.updateUser("usertest",{roles:[ {role:"read",db:"testDB"} ]})
注:updateuser它是完全替代之前的值,若是要新增或添加roles而不是取代它
則利用方式: db.grantRolesToUser() 和 db.revokeRolesFromUser()
------------------------------------------------------------------------------------------
db.grantRolesToUser("usertest", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}]) # 點竄權限
db.revokeRolesFromUser("usertest",[{role:"read", db:"testDB"}]) # 刪除權限:
刪除用戶
db.dropUser('usertest')
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!