Mongodb 3 X 配置身份驗證

2021-09-21 16:20:19 字數 1991 閱讀 5774

開啟認證:

啟動mongodb./mongodb --syslog --fork --port 20000  --auth

1.如果不新增引數:auth,表明用預設的root的許可權登陸

2015-12-18t10:42:04.275+0800 i control  [initandlisten] ** warning: you are running this process as the root user, which is not recommended.

2.新增引數:auth,表明開啟單機認證,不再使用預設的root的許可權登陸,進去後無基本沒任何許可權。如下:

[root@host_0 bin]# ./mongo

mongodb shell version: 3.2.0

connecting to: test

>show dbs

>"errmsg" : "not authorized on test to execute command  }"

>db.createcollection("baxk")

>"errmsg" : "not authorized on test to execute command ",

3.登陸時加入許可權(賬號和密碼)或登入後切換許可權(db.auth())

@1 : ./mongo -u baxk -p 12345678 --authenticationdatabase admin(資料庫)

@2 : >use admin(先切換到要訪問的或賬號對應有許可權的資料庫)

>db.auth("baxk":"12345678")

>1 (1

新增使用者:

定義:建立乙個資料庫新使用者用db.createuser()方法,如果使用者存在則返回乙個使用者重複錯誤。

語法:db.createuser(user, writeconcern)

user這個文件建立關於使用者的身份認證和訪問資訊;

writeconcern這個文件描述保證mongodb提供寫操作的成功報告。

· user文件,定義了使用者的以下形式:

,roles: [

| "",

...]

}刪除使用者:

不開啟安全認證模式下啟動資料庫

> use admin

switched to db admin 

> db.dropuser("username") 

true 

user文件字段介紹:

user欄位,為新使用者的名字;

pwd欄位,使用者的密碼;

cusomdata欄位,為任意內容,例如可以為使用者全名介紹;

roles欄位,指定使用者的角色,可以用乙個空陣列給新使用者設定空角色;

在roles欄位,可以指定內建角色和使用者定義的角色。

內建角色

w選項:允許的值分別是 1、0、大於1的值、"majority"、;

j選項:確保mongod例項寫資料到磁碟上的journal(日誌),這可以確保mongd以外關閉不會丟失資料。設定true啟用。

wtimeout:指定乙個時間限制,以毫秒為單位。wtimeout只適用於w值大於1。

例如:在products資料庫建立使用者accountadmin01,並給該使用者admin資料庫上clusteradmin和readanydatabase的角色,products資料庫上readwrite角色。

use products

db.createuser( ,

"roles" : [ ,

,"readwrite"

] },

)相關命令:

1.show users 檢視當前使用者資訊;

2.db.system.users.find() 檢視全部使用者資訊;

mongodb3 X許可權配置

環境 centos6.8 mongodb3.4.1 1 連線mongodb資料庫 如果mongo命令沒有做環境變數配置,需要定位到有mongo命令的目錄 root vm 118 34 centos mongo mongodb shell version v3.4.1 connecting to mo...

mongodb 啟用身份驗證

mongodb 身份驗證預設是禁用的,因此如果要啟用身份驗證需要在啟動時指定 auth來啟用身份驗證 mongod auth 也可以用配置檔案方法啟用身份驗證 security authorization enabled 所以在啟用身份驗證前你至少需要有乙個使用者。這個使用者來負責建立和管理其他使用...

MongoDB啟用身份驗證

新安裝的系統發現80端占用,檢查程序發現是system程序id 4給占用了,這個是系統程序,既然是system。那麼應該不回是真正的系統,而是微軟的其他系列產品的程序在執行。1 檢查iis 發現iis服務根本沒有安裝 2 檢查sql server 發現sql server reporting ser...