mongoDB使用者和密碼的相關操作
前兩天寫了一篇安裝mongoDB的部落格,今天講一講如何給mongoDB設定許可權。mongoDB預設是不開啟密碼的,並且在之前的mongoDB版本中曾經有一個非常嚴重的bug,導致黑客可以通過你開放的mongoDB服務埠直接登入你的伺服器,之前不知道這個bug,所以沒有設定許可權,結果就中招了。所以,開放mongoDB服務加上連線許可權的一個必要的事情。
新增資料庫管理員
首先,我們要給資料庫新增一個管理員,這個身份的使用者可以操作所有的database,管理所有的使用者,新增的時候要記錄好使用者名稱及密碼
$ mongo // 連線資料庫
use admin // 切換資料庫
db.createUser(
{
user: "adminName",
pwd: "*****",
roles: [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"]
},
{ w: "majority", wtimeout: 5000 }
)
給其他資料庫新增對應的讀寫使用者
use test // 切換資料庫
db.createUser({
user: "test" ,
pwd: "*****",
roles: [
{ role: "read", db: "reporting" }, // reporting資料庫讀許可權
{ role: "readWrite", db: "accounts" } // accounts資料庫讀寫許可權
]
})
開啟mongoDB驗證模式
以上新增使用者的操作是在mongoDB未開啟驗證模式時進行的,新增完使用者之後我們需要關閉mongoDB,然後以驗證模式重新啟動,之後未驗證使用者名稱密碼時操作資料庫會提示沒有許可權
// -f 使用引數檔案,--auth 開啟驗證,--fork 以後臺服務的形式啟動
$ mongod start -f /etc/mongo.conf --auth --fork
$ mongo
> show users
2016-09-17T10:52:08.058+0800 E QUERY [thread1] Error: not authorized on test to execute command { usersInfo: 1.0 } :
_get[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/db.js:1523:1
[email protected]/mongo/shell/utils.js:744:9
[email protected]/mongo/shell/utils.js:651:15
@(shellhelp2):1:1
> use test
> db.auth('username', 'password') // 驗證使用者名稱密碼
管理使用者
use products
// 更新使用者資訊
db.updateUser("username", {
customData : { <any information> },
roles : [
{ role: "<role>", db: "<database>" } | "<role>"
],
pwd: "<cleartext password>"
})
// 更改使用者密碼
db.changeUserPassword("username", "new password")
// 刪除所有使用者
db.dropAllUsers({w: "majority", wtimeout: 5000})
// 刪除單個使用者
db.dropUser("username", {w: "majority", wtimeout: 5000})
// 更改使用者角色
db.grantRolesToUser(
"username",
[ "readWrite" , { role: "read", db: "test" } ],
{ w: "majority" , wtimeout: 5000 }
)
// 刪除使用者角色
db.revokeRolesFromUser(
"username",
[ { role: "read", db: "test" }, "readWrite" ], // 移除使用者讀test資料庫的許可權以及所有的讀寫許可權
{ w: "majority" }
)
// 獲取使用者資訊
db.getUser("username")
// 獲取所有使用者資訊
db.getAllUsers()
相關推薦
mongoDB使用者和密碼的相關操作
前兩天寫了一篇安裝mongoDB的部落格,今天講一講如何給mongoDB設定許可權。mongoDB預設是不開啟密碼的,並且在之前的mongoDB版本中曾經有一個非常嚴重的bug,導致黑客可以通過你開放的mongoDB服務埠直接登入你的伺服器,之前不知道這個bug
mysql的庫和表相關操作
ear dml 枚舉類型 mysqld grant 文件路徑 關系數據庫 通用 非關系型 一、數據庫介紹1、數據庫的由來我們之前所學,數據要想永久保存,都是保存於文件中,毫無疑問,一個文件僅僅只能存在於某一臺機器上,這樣就帶來了許多問題:(1)程序所有的組件就不可能運行在一
0024-利用OpenCV的filter2D函式作影象的卷積操作和協相關操作
影象的卷積操作是影象處理中最常用的操作之一,一般是用核算子來實現卷積操作。什麼叫核算子?請移步博文https://blog.csdn.net/lehuoziyuan/article/details/84101788 OpenCV用函式filter2D來實現對影象或矩陣的卷積操作。這個函式本質上做
棧和佇列相關操作
棧的相關操作: #pragma once typedef int StackTypeData; #define MAX_SIZE 100 typedef struct Stack { StackTypeData array[MAX_SIZE]; int top;//棧的元素個數 }S
Hadoop偽分散式環境搭建和MapReduce環境搭建和hdfs相關操作疑難
這篇博文詳細講解了Hadoop偽分散式環境搭建,非常棒。此外,我這裡記錄一些其他相關內容,備忘。使用hadoop-eclipse-plugin-2.6.0.jar來構建MapReduce框架的Eclipse開發環境,這裡先給出這個外掛的連結,由於本人沒有什麼有價值的資源,所以
conda和pip相關操作
1.conda建立、刪除、啟用和退出環境 建立:conda create -n [name] python=[version] 刪除:conda remove -n [name] --all 啟用:source/conda activate [name] 退出:source/conda deactiv
Python字串和字典相關操作
字串操作: 字串的 % 格式化操作: str = "Hello,%s.%s enough for ya ?" values = ('world','hot') print str % values 輸出結果: Hello,world.hot enough for
10、自學——Linux的學習進度與任務【用戶和用戶組相關操作】
sha256 用戶授權 gpasswd upm 登錄 shel 默認 不同 管理 用戶和用戶組相關操作 用戶和用戶組定義: 用戶:資源獲取標識符(資源分配),是安全權限模型的可信要素之一 用戶組:用戶組是指多個用戶的集合,方便對一類需要同樣權限的用戶授權
mongodb配置和基本操作
特性 服務 win done service 基本 添加 close english MongoDB3.0新特性WiredTigerMMAPv1可插拔引擎API基於web的可視化管理工具 查看版本號mongod --version啟動數據庫 mongod --dbpath
Python獲取個人網站的所有課程下載鏈接和密碼,並保存到Mongodb中
one find() net agent play col pat 進行 jpg 1、獲取網站課程的分類地址; ‘‘‘ 爬取屌絲首頁,獲取每個分類名稱和鏈接 ‘‘‘ import requests from lxml import etree headers = {
關於Linq對DataTable和List各自的兩個集合篩選的相關操作技巧
linq per enume any rom opera 操作技巧 得到 數據集 項目中用到了對兩個集合的帥選等操作,簡單總結下 1.Linq操作多個Datable 可以通過AsEnumerable()方法對DataTable進行Linq操作 //獲取數據表所有數據
mongodb設置用戶名和密碼
新建 建數據庫 一個數 普通 auth tab min you manager 需求:我們需要在一個mongodb上面新建兩個數據庫,每個數據庫的用戶名和密碼不一樣,講道理來說我們直接設置admin,就可以控制所有的數據庫,不過用起來總是感覺有各種問題,目前還不太熟悉mon
Tomcat和myeclipse的相關操作以及myeclipse的激活方法
java部署WEB應用:1、創建應用目錄2、創建WEB-INF3、Classes、lib、web、xml(examples)4、創建Servlet:A、創建類 implements ServletB、Service(request,response)C、實現代碼5、編譯ServletJavac -d . h
LINUX系統---初級相關操作和知識
www mys apach lis -type cnblogs 管理 安裝linux系統 tomcat LINUX系統的初級,從安裝LINUX開始,到處理簡單的運維問題、搭建各種服務、解決網路問題、緩解服務器壓力,寫簡單的shell腳本。 我們從基本的入門開始搞事情
LINUX系統---中級相關操作和知識
div blog pos one 相關 inux 公司 -type 熱備 LINUX系統的中級,來搞一些LINUX安全相關的東西,還有在公司生成中長搞的集群。 RHCS集群 什麽是高可用 什麽是熱備 什麽是分布式 LINUX系統---中級相關操作和知識
MongoDB相關操作
操作 ins 若有 god 更新 屬性修改 創建 pre upd 1. 連接MongoDB <?php //1.連接到MongoDB $host = "127.0.0.1"; $port = 27017; $server = "mo
《Linux學習並不難》Linux常用操作命令(6):uname命令顯示計算機和系統相關信息
Linux8.6 《Linux學習並不難》Linux常用操作命令(6):uname命令顯示計算機和系統相關信息 使用uname命令可以顯示計算機以及操作系統的相關信息,比如計算機硬件架構、內核發行號、操作系統名稱、計算機主機名等。 命令語法: uname [選項] 命令中各選項的
PHP7操作MongoDB的增刪改查和分頁操作
mongodb mongodb分頁 php7 原文博客地址www.xiegaosheng.com/post/view?id=96;<?php /** * Class MongodbClient * mongod操作類 *如果需要自己也可以改成單例模式 */ class Mongod
6月20日 Django中ORM介紹和字段、字段參數、相關操作
sel 記憶 __init__ 記錄 RM 錯誤 distinct serial 排序。 Object Relational Mapping(ORM) ORM介紹 ORM概念 對象關系映射(Object Relational Mapp
Django框架詳細介紹---ORM相關操作---select_related和prefetch_related函數對 QuerySet 查詢的優化
ger AS AI 出版社 獲得 har 有效 object 庫存 Django的 select_related 和 prefetch_related 函數對 QuerySet 查詢的優化 引言 在數據庫存在外鍵的其情況下,使用select_related()和pref