進入mongodb安裝目錄,下面是寶塔面板的默認目錄
cd /www/server/mongodb/bin
輸入命令行mongo,進入mongodb環境
mongo
切換到 admin 數據庫
use admin
給admin設置用戶密碼
user: 用戶名 pwd: 用戶密碼 roles: 用來設置用戶的權限,比如讀,讀寫 等等 db.createUser({user: 'root', pwd: 'admin_mima', roles: ['root']})
驗證是否添加成功,db.auth(用戶名,用戶密碼)
db.auth('root', 'mima')
如果返回 '1’表示驗證成功, 如果是 ‘0’ 表示驗證失敗。
給特定的每個庫設置權限
切換到demo庫
use demo
接下來為demo庫添加一個用戶,並且賦予權限
db.createUser({ user: 'admin', pwd: 'demo_mima', roles: [{ role: 'readWrite', db: 'demo' }] })
這行代碼意思是 創建一個admin用戶 給予讀寫權限 db表示該用戶操作的數據庫名。
Role參數說明
Read:允許用戶讀取指定數據庫 readWrite:允許用戶讀寫指定數據庫 dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創建、刪除和管理用戶 clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。 readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限 readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限 userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限 dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。 root:只在admin數據庫中可用。超級賬號,超級權限
通過增加 --auth 開啟安全登錄
mongod --dbpath /www/server/mongodb/data --auth
寶塔面板配置開啟權限驗證以及允許外網訪問
訪問鏈接字符串
mongodb://賬號:密碼@服務器IP/域名:端口/?authSource=要連接的數據庫