Mongodb訪問控制

1.限定訪問的服務器特定IP
--通過啓動mongodb時指定參數bind_ip
# ./mongod --bind_ip=10.10.10.2
--通過配置文件指定bind_ip
# vi /etc/mongodb.cnf
bind_ip=10.10.10.2
--通過配置文件指定多個bind_ip
# vi /etc/mongodb.cnf
bind_ip=localhost,10.10.10.2
--不對訪問的服務器IP做限制
# vi /etc/mongodb.cnf
bind_ip=0.0.0.0

bind_ip_all=true
--服務器配置bind_ip後,客戶端訪問時必須指定該正確ip
# ./mongo 10.10.10.2

2.設置服務器監聽端口
--通過啓動mongodb時指定參數port
# ./mongod --bind_ip=10.10.10.2 --port=27019
--通過配置文件指定port
# vi /etc/mongodb.cnf
port=27019
--配置port後,客戶端訪問時必須指定該正確port
# ./mongo 10.10.10.2:27019

3.啓用登錄驗證
--mongodb默認不會啓用登錄驗證,即登錄時不要求用戶名和密碼,登錄後就具有root權限.
--通過啓動mongodb時指定參數啓用登錄驗證
# ./mongod --auth
--通過配置文件指定auth
# vi /etc/mongodb.cnf
auth=true
--爲了啓用登錄驗證,除了指定auth參數外,還需要爲admin庫添加至少一個用戶.
# ./mongo
> use admin
> db.createUser({user:"root",pwd:"password",roles:["root"]});
> db.auth("root","password");
--指定auth參數,並創建用戶後,指定用戶root和密碼才能登錄和操作,否則,本機客戶端雖然能連接mongodb,但不能執行任何操作.
# ./mongo -u root -p

--爲db_test庫創建一個讀寫用戶usr_test
# ./mongo - root -p
> use admin
> db.createUser({user:"usr1",pwd:"password1",roles:[{role:"readWrite",db:"db_test"}]});
--通過新建的usr_test用戶登錄
# ./mongo -u usr1 -p password1
> use db_test
> show collections;

--刪除用戶
# ./mongo -u root -p
> db.dropUser("usr_test");
> db.system.users.find();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章