1、啟動沒有訪問控制的mongodb服務
sudo service mongod start
2、連線到例項
mongo --port 27017
指定額外的命令列選項來連線mongo shell到部署mongodb伺服器, 如--host
3、建立的使用者管理員
use admin
db.createuser( ]}
)4、重新啟動mongodb例項,並啟用訪問控制
1、重新啟動mongod例項,如果使用配置檔案的設定,security.authorization:
vi /etc/mongod.conf
修改內容:
security:
authorization: enabled
2、注意:keys and values之間一定要加空格, 否則解析會報錯
重啟服務:
sudo service mongod start
5、使用者管理員身份驗證
1、建立連線mongo shell 時進行授權,指定-u , -p , and the --authenticationdatabase
mongo --port 27017 -u "myuseradmin" -p "abc123" --authenticationdatabase "admin"
2、mongo shell連線時不認證,使用db.auth()授權
use admin
db.auth("myuseradmin", "abc123" )
--------------------伺服器以開啟認證後,如何新增使用者--------------------
1、啟動mongodb例項的訪問控制
啟動mongod例項 auth命令列選項,如果使用配置檔案的設定,security.authorization。
sudo service mongod start
2、通過localhost exception 連線mongodb例項
新增第乙個使用者, 使用localhost exception,連線乙個mongod例項。執行mongo shell和mongod例項必須來自同一主機
3、同上建立使用者方式相同
--------------------普通使用者安全訪問許可權--------------------
1、啟動mongodb
service mongod start
2、再次開啟mongodb shell
1、mongo --port 27017 -u "myuseradmin" -p "abc123" --authenticationdatabase "admin"
2、mongo
use admin
db.auth("myuseradmin","abc123")
3、show collections:報錯
因為使用者myuseradmin只用使用者的管理許可權
3、建立使用者,使用者都跟著資料庫走
為myuseradmin建立使用者myuseradmin在admin 資料庫
use admin
db.createuser( ]}
)4、檢視剛剛建立的使用者
show users
5、檢視整個mongodb全部的使用者
use admin
db.system.users.find()
> db.system.users.find().pretty()
6、建立完畢、進行驗證
> use test
> db.auth('test1','test1')
1> show collections
ypmlist
--------------------修改許可權--------------------
1、updateuser()方法:
1、例項
db.updateuser(
"",,
roles : [
| "",
...],
pwd: ""
},writeconcern:
)2、引數介紹:
1、username:要更新的使用者名稱。
2、update:替換使用者資料的文件,此資料完全取代了使用者的相應資料。
3、writeconcern:可選,寫操作級別。
3、指定要更新的字段和他們的新值:
1、customdata:可選。任意資訊。
2、roles:可選。授予使用者的角色。對角色陣列覆蓋以前的陣列的值更新
3、pwd:可選。使用者密碼
--------------------修改許可權操作--------------------
例項:> use admin
switched to db admin
> db.auth("myuseradmin", "abc123" )
1use test
db.updateuser(
"test1",
,"roles" : [,}
)--------------------超級使用者--------------------
use admin
db.createuser( ]}
)2、系統預設角色:
1、read:允許使用者讀取指定資料庫
2、readwrite:允許使用者讀寫指定資料庫
3、dbadmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile
4、useradmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者
5、clusteradmin:只在admin資料庫中可用,賦予使用者所有分片和複製集相關函式的管理許可權。
6、readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權
7、readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權
8、useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權
9、dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。
10、root:只在admin資料庫中可用。超級賬號,超級許可權
mongoDB 3 0 安全許可權訪問
mongodb 3.0 訪問控制改了很多,需要你老老實實的去看文件去驗證,谷歌出來的多半就是錯誤的。還需要注意這個引數authenticationmechanisms。為了兼用2.6版本,我直接指定下面的引數 setparameter authenticationmechanisms mongodb...
mongoDB 3 0 安全許可權訪問控制
首先,不使用 auth 引數,啟動 mongodb mongodb linux i686 3.0.0 bin mongod f mongodb linux i686 3.0.0 mongodb.conf 此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mon...
mongoDB 3 0 安全許可權訪問控制
首先,不使用 auth 引數,啟動 mongodb mongodb linux i686 3.0.0 bin mongod f mongodb linux i686 3.0.0 mongodb.conf 此時你 show dbs 會看到只有乙個local資料庫,那個所謂的admin是不存在的。mon...