標籤:http ar io 使用 sp on 檔案 資料 問題
mongoDB預設使用者認證是關閉的。
修改 /etc/mongod.conf 檔案。mongoDB預設情況下任何用戶端都可以串連27017連接埠,且沒有認證,預設情況下沒有系統管理員帳戶。通過修改這個設定檔可以更改為登陸時進行許可權認證。
mongoDB中如果想要給某個資料庫建立一個使用者,需要首先進入該資料庫,然後使用addUser命令。在這裡也可以將使用者佈建為唯讀(db.addUser("jack","jack",true),第三個參數表示是否時“唯讀使用者”)。
要使用超級管理員,需要先串連admin資料庫並登陸系統管理員帳戶,然後串連其他資料庫就可以行使管理員權限。
使用者資訊儲存及認證過程
類似MySQL將系統使用者資訊儲存在mysql.user表。MongoDB也將系統使用者的username、pwd儲存在admin.system.users集合中。其中pwd = md5(username + “:mongo:” + real_password)。這本身並沒有什麼問題。username和:mongo:相當於對原密碼加了一個salt值,即使攻擊者擷取了資料庫中儲存的md5 hash,也沒法簡單的從彩虹表中查出原始密碼。
許可權管理常用命令
1. #進入資料庫admin
use admin
2. #增加或修改使用者密碼
db.addUser(‘name‘,‘pwd‘)
3. #查看使用者列表
db.system.users.find()
4. #使用者認證
db.auth(‘name‘,‘pwd‘)
這一個返回1就認證成功了,只有認證成功才能對資料庫進行操作
5. #刪除使用者
db.removeUser(‘name‘)
6. #查看所有使用者
show users
7. #查看所有資料庫
show dbs
8. #查看所有的collection
show collections
9. #查看各collection的狀態
db.printCollectionStats()
10. #查看主從複製狀態
db.printReplicationInfo()
如何建立一個含有使用者名稱和密碼的mongodb的資料庫