關閉mongod.cnf配置文件參數:auth
直接登錄mongo,設置登錄密碼:

mongo --host 127.0.0.1 --port 6068
use admin
db.createUser({user: \\\'root\\\', \\\'TdLLQd689\\\', roles:[{role: \\\'root\\\', db: \\\'admin\\\'}]});
db.auth(root,TdLLQSdH689)

關閉mongod
開啟mongod.cnf配置文件參數:auth =true

mongo --host 127.0.0.1 --port 6068
use admin
db.auth(root,TdLLQH689)

創建測試庫dbtest001,以及測試用戶testuser 對dbtest001庫有讀寫的權限

use dbtest001
db.createUser({user:testuser,,roles:[{role:readWrite,db:dbtest001}]})

創建測試用戶testuser 對dbtest001庫有讀的權限:
db.createUser({user:testuser01,,roles:[{role:read,db:dbtest001}]})

給測試庫插入一個集合chenji(所謂的表chenji):

db.chenji.insert({name:小花,年級:二年級,性別:男,愛好:學習})
WriteResult({ nInserted : 1 })
> db.chenji.insert({name:花花,年級:一年級,性別:女,愛好:唱歌})
WriteResult({ nInserted : 1 })
> db.chenji.insert({name:小花,年級:三年級,性別:女,愛好:打球})
WriteResult({ nInserted : 1 })
> db.chenji.insert({name:小花,年級:四年級,性別:女,愛好:畫畫})
WriteResult({ nInserted : 1 })

查看當前庫下的用戶:

db.getUsers() 或者show users

> show users
{
    _id : dbtest001.testuser,
    userId : UUID(f275fad5-ac4f-4dfa-aea6-af34ed93c3e1),
    user : testuser,
    db : dbtest001,
    roles : [
        {
            role : readWrite,
            db : dbtest001
        }
    ]
}

查看當前庫下某個用戶的權限:

db.getUser(testuser)
db.getUser(testuser01)

創建角色: db.createRole()
更新角色: db.updateRole()
刪除角色: db.dropRole()

獲得某個角色信息: db.getRole()

> db.getRole(read)
{
    role : read,
    db : dbtest001,
    isBuiltin : true,
    roles : [ ],
    inheritedRoles : [ ]
}
> db.getRole(readWrite)
{
    role : readWrite,
    db : dbtest001,
    isBuiltin : true,
    roles : [ ],
    inheritedRoles : [ ]
}

刪除所有用戶: db.dropAllUsers()

刪除用戶:db.dropUsers("xxxxxx")

db.dropUser("testuser01")
true

將一個角色賦予讀寫給用戶: db.grantRolesToUser()

use dbtest001
db.grantRolesToUser(\\\'testuser01\\\',[ { role : \\\'readWrite\\\', db : \\\'dbtest001\\\' } ] )

撤銷某個用戶的某個角色權限: db.revokeRolesFromUser()

> db.getUser(testuser01)
{
    _id : dbtest001.testuser01,
    userId : UUID(d1fefe19-a94f-4300-8855-fd722f14e13f),
    user : testuser01,
    db : dbtest001,
    roles : [
        {
            role : readWrite,
            db : dbtest001
        }
    ]
}

撤回讀role讀寫權限:

> db.revokeRolesFromUser(\\\'testuser01\\\',[ { role : \\\'readWrite\\\', db : \\\'dbtest001\\\' }])
> db.getUser(testuser01)
{
    _id : dbtest001.testuser01,
    userId : UUID(d1fefe19-a94f-4300-8855-fd722f14e13f),
    user : testuser01,
    db : dbtest001,
    roles : [ ]
}

更改密碼: db.changeUserPassword()

db.createUser({user:testuser01,,roles:[{role:read,db:dbtest001}]})

修改密碼:

> db.changeUserPassword(testuser01,123456)

測試:使用原密碼登錄報錯如下:

[root@localhost ~]# mongo 127.0.0.1:6068/dbtest001 -u testuser01 -p \\\'testuser123\\\'
MongoDB shell version v3.6.16
connecting to: mongodb://127.0.0.1:6068/dbtest001?gssapiServiceName=mongodb
2020-01-01T21:51:35.637 0800 E QUERY    [thread1] Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:263:13
@(connect):1:6
exception: connect failed

使用新的密碼登錄成功

[root@localhost ~]# mongo 127.0.0.1:6068/dbtest001 -u testuser01 -p \\\'123456\\\'
MongoDB shell version v3.6.16
connecting to: mongodb://127.0.0.1:6068/dbtest001?gssapiServiceName=mongodb
Implicit session: session { id : UUID(966023f0-ff7b-4726-a216-8475bc729971) }
MongoDB server version: 3.6.16
> show collections;
chenji
> db.chenji.find();
{ _id : ObjectId(5e0c80a8efc383349153386a), name : 小花, 年級 : 二年級, 性別 : 男, 愛好 : 學習 }
{ _id : ObjectId(5e0c80c3efc383349153386b), name : 花花, 年級 : 一年級, 性別 : 女, 愛好 : 唱歌 }
{ _id : ObjectId(5e0c83c8efc383349153386c), name : 小花, 年級 : 三年級, 性別 : 女, 愛好 : 打球 }
{ _id : ObjectId(5e0c83e9efc383349153386d), name : 小花, 年級 : 四年級, 性別 : 女, 愛好 : 畫畫 }

查看當前庫下的表:

show collections
chenji

查看集合中所有的內容:

> db.chenji.find();
{ _id : ObjectId(5e0c80a8efc383349153386a), name : 小花, 年級 : 二年級, 性別 : 男, 愛好 : 學習 }
{ _id : ObjectId(5e0c80c3efc383349153386b), name : 花花, 年級 : 一年級, 性別 : 女, 愛好 : 唱歌 }

查看名字叫小花的記錄:

> db.chenji.find({name:小花})
{ _id : ObjectId(5e0c80a8efc383349153386a), name : 小花, 年級 : 二年級, 性別 : 男, 愛好 : 學習 }
{ _id : ObjectId(5e0c83c8efc383349153386c), name : 小花, 年級 : 三年級, 性別 : 女, 愛好 : 打球 }
{ _id : ObjectId(5e0c83e9efc383349153386d), name : 小花, 年級 : 四年級, 性別 : 女, 愛好 : 畫畫 }

參考資料:
MongoDB用戶和角色解釋系列(上)
http://www.mongoing.com/archives/26710

先小結到此處,后續在繼續學習補充

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » MongoDB權限管理二

登錄

找回密碼

注冊

主站蜘蛛池模板: 久久SE精品一区精品二区| 任我爽精品视频在线播放| 国产情侣激情在线对白| 国产日韩综合av在线| 一区二区在线观看成人午夜| 国产综合色精品一区二区三区| 久久人体视频| 亚洲男女羞羞无遮挡久久丫| 国产专区一va亚洲v天堂| 亚欧洲乱码视频一二三区| 日韩精品区一区二区三vr| 亚洲av成人精品日韩一区| 亚洲第三十四九中文字幕| 激情国产一区二区三区四区小说| 久久精品国产www456c0m| 日韩av一区二区三区不卡| 亚洲国产在一区二区三区| 久久精品国产久精国产一老狼| 亚洲综合精品一区二区三区| 国产强奷在线播放免费| 精品无码久久久久成人漫画| 久久www免费人成一看片| 亚洲国产色婷婷久久99精品91| 精品国产一区二区三区国产区| 男同精品视频免费观看网站| 亚洲国产长腿丝袜av天堂| 精品久久久久久无码专区不卡| 国产专区一va亚洲v天堂| 色就色偷拍综合一二三区| 麻豆果冻国产剧情av在线播放| 中国亚洲女人69内射少妇| 伊人av超碰伊人久久久| 国产精品妇女一区二区三区| 国产真人无码作爱视频免费| 亚洲国产成人综合精品| 精品人妻免费看一区二区三区| 西西人体大胆444WWW| 狠狠爱俺也去去就色| 国产成人高清精品免费软件| 日韩永久永久永久黄色大片| 亚洲中文精品久久久久久不卡|