1、限制特定IP地址訪問,只需啟動時加入--bind_ip 參數 ,用戶端串連時也需要添加--host
/app/mongo/mongodb/bin/mongod --dbpath=/app/mongo/mongodb/data/test --logpath=/app/mongo/mongodb/data/test/server.log --fork --bind_ip 132.42.33.190
/app/mongo/mongodb/bin/mongo --host 132.42.33.190
2、設定連接埠,只需啟動時加入--port 參數 ,用戶端串連時也需要添加--port
/app/mongo/mongodb/bin/mongod --dbpath=/app/mongo/mongodb/data/test --logpath=/app/mongo/mongodb/data/test/server.log --fork --port 28018
/app/mongo/mongodb/bin/mongo --port 28012
3、使用者驗證管理
mongodb預設有一個admin資料庫,admin庫上的使用者比其他庫的許可權都大,即admin庫的使用者可以操作其他庫的任意操作。
啟用:登陸驗證
/app/mongo/mongodb/bin/mongod --dbpath=/app/mongo/mongodb/data/test --logpath=/app/mongo/mongodb/data/test/server.log --fork --auth
註:mongodb預設有一個admin資料庫,如果admin.system.users中沒有資料,登陸驗證將不生效
1)建立使用者
> db.addUser("root","111111") --建立使用者
> db.auth("root","111111") --設定使用者有資料庫連接驗證
2)建立指定許可權使用者,
命令格式:db.addUser(username,password[,readOnly=false])
例如:為test庫添加一個唯讀使用者user_reader,代碼所示:
> db.addUser("user_reader","passw0rd",true) --建立一個唯讀使用者
> show collections --可以查看
system.indexes
system.users
> db.t1.insert({name:"liangzhangping",age:29}) --但不可以添加、刪除和更新
unauthorized
3)刪除指定使用者,調用db.removeUser(username)命令,只需傳入使用者名稱,即可刪除,可以調用db.system.users.find()查看是否刪除
> db.removeUser("user_reader")
> db.system.users.find()
{ "_id" : ObjectId("4fd9c4bc869208ca70bcf180"), "user" : "test", "readOnly" : false, "pwd" : "ab29e5e0e27099729856ff91da2b9112" }