使用mongodb 有段時間了,由於是在內網使用,便沒有設定許可權,一直是裸奔。
最近有時間,研究了下mongodb 3.2 的使用者許可權配置,網上有許多使用者許可權配置的文章,不過大多是之前版本,有些出入,特記錄備查。
環境mongodb shell version: 3.2.6
centos release 6.8 (final)
設定方法 使用者許可權設定
1、進入mongodb的shell : mongo
2、切換資料庫: use admin
從3.0 版本起,預設只有 local庫,沒有 admin庫,需要我們自己來建立。
3、新增使用者,指定使用者的角色和資料庫: db.createuser( , pwd: "admin", roles: [ ] } ) user欄位,為新使用者的名字;pwd欄位,使用者的密碼;cusomdata欄位,為任意內容,例如可以為使用者全名介紹;roles欄位,指定使用者的角色,可以用乙個空陣列給新使用者設定空角色。在roles欄位,可以指定內建角色和使用者定義的角色。
4、檢視建立的使用者 : show users或 db.system.users.find()
5、啟用使用者許可權:
修改配置檔案,增加配置:
security: authorization: enabled
重新啟動mongodb, /etc/init.d/mongod restart
6、使用者驗證使用:
啟用使用者驗證後,再次登入mongo shell ,執行 show dbs等命令會提示「沒有許可權」。此時,需要使用者驗證登入。
db.auth("admin","admin") 其他 內建的角色 資料庫使用者角色:read、readwrite; 資料庫管理角色:dbadmin、dbowner、useradmin; 集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager; 備份恢復角色:backup、restore; 所有資料庫角色:readanydatabase、readwriteanydatabase、useradminanydatabase、dbadminanydatabase 超級使用者角色:root // 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbowner 、useradmin、useradminanydatabase) 內部角色:__system
官方詳情角色說明 –> 傳送門
配置檔案示例
官方詳解 –> 傳送門
mongodb 3 2 使用者許可權管理配置
使用mongodb 有段時間了,由於是在內網使用,便沒有設定許可權,一直是裸奔。最近有時間,研究了下mongodb 3.2 的使用者許可權配置,網上有許多使用者許可權配置的文章,不過大多是之前版本,有些出入,特記錄備查。環境mongodb shell version 3.2.6 centos rel...
MongoDB 使用者許可權管理
安裝好mongdb 配置使用者訪問許可權後,在命令模式下發現show dbs 報錯,懵逼了不是配置許可權了麼。下面是我的解決回放 進入mongo 命令模式發現撥錯 r izwz947cvofre97sstzcmuz mongo mongodb shell version v3.4.2 connect...
MongoDB使用者許可權管理
授權使用者readwrite有test1庫的讀寫許可權 use test1 switched to db test1 db.createuser roles 驗證授權是否正確 mongo ureadwrite preadwrite authenticationdatabase test1 mongo...