电竞比分网-中国电竞赛事及体育赛事平台

分享

MongoDB權(quán)限控制(6)

 頭號(hào)碼甲 2022-03-10

權(quán)限概述

在mongodb里面的用戶是屬于數(shù)據(jù)庫的,每個(gè)數(shù)據(jù)庫有自己的管理員,管理員登錄后,只能操作所屬的數(shù)據(jù)庫。

注意:一般在admin數(shù)據(jù)庫中創(chuàng)建的用戶授予超級(jí)管理員權(quán)限,登錄后可以操作任何的數(shù)據(jù)庫。

創(chuàng)建超級(jí)管理員

注意:在開啟權(quán)限管理控制時(shí),一定先要?jiǎng)?chuàng)建一個(gè)超級(jí)管理員授予超級(jí)管理權(quán)限。

(1)創(chuàng)建超級(jí)管理員

登錄mongodb的客戶端,使用如下命令

use admin
db.createUser({user:'root',pwd:'123456',roles:[{role:'root',db:'admin'}]})

(2)修改MongoDB數(shù)據(jù)庫配置文件

修改mongodb.conf文件,將noauth改為auth

#noauth=true
auth=true

(3)重啟MongoDB服務(wù)

systemctl restart mongodb.service

(4)超級(jí)賬戶賬號(hào)連接數(shù)據(jù)庫

如果沒有輸入密碼,進(jìn)入MongoDB的客戶端,進(jìn)行操作,會(huì)報(bào)如下錯(cuò)誤提示

本地連接:

mongo 數(shù)據(jù)庫名稱 -u 用戶名 -p 密碼
示例:mongo admin -u root -p 123456

遠(yuǎn)程連接:

mongo IP地址:端口/數(shù)據(jù)庫名稱 -u 用戶名 -p 密碼

給某個(gè)庫創(chuàng)建普通管理員

我們以php庫為例

use php
db.createUser({user:"php",pwd:"123456",roles: [{role:"dbOwner",db:"php"}]})

登錄操作

權(quán)限配置常用命令

(1)查看當(dāng)前庫下的用戶

show users

(2)刪除用戶

db.dropUser("用戶名")

(3)修改用戶密碼

db.changeUserPassword('root','rootNew');
db.updateUser( "admin",{pwd:"password"}); 

(4)密碼認(rèn)證

db.auth("用戶名","密碼")

前面我們是在mongo后面直接指定了用戶名和密碼,我們也可以在使用了mongo命令后再進(jìn)行認(rèn)證

MongoDB數(shù)據(jù)庫角色

(1)數(shù)據(jù)庫用戶角色:read、readWrite

(2)數(shù)據(jù)庫管理角色:dbadmindbOwner、userAdmin

(3)集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager

(4)備份恢復(fù)角色:backuprestore

(5)所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabaseuserAdminAnyDatabase、 dbAdminAnyDatabase

(6)超級(jí)用戶角色:root

推薦閱讀:MongoDB用戶驗(yàn)證和權(quán)限管理

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多