宝塔修改配置文件启用mongodb密码验证
## content
systemLog:
destination: file
logAppend: true
path: /www/server/mongodb/log/config.log
# Where and how to store data.
storage:
dbPath: /www/server/mongodb/data/bt_mongodb/
directoryPerDB: true
journal:
enabled: true
# how the process runs
processManagement:
fork: true
pidFilePath: /www/server/mongodb/log/configsvr.pid
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#operationProfiling:
#replication:
# replSetName: bt_main
security:
# authorization: disabled 注意此处 这个是关闭 enabled 是开启
authorization: enabled
javascriptEnabled: false
# 个人建议加入以下参数
setParameter:
enableLocalhostAuthBypass: false
#sharding:
# clusterRole: shardsvr
1.关闭mongo的服务进程。
sudo service mongod stop
2.修改mongo的配置文件。mongod.conf,没有就添加代码:
security:
authorization: enabled
注意缩进啊
3.开启mongo服务
sudo service mongod start
4.进入mongo,添加账号密码
1、切换到admin数据库
use admin
2、创建账号
db.createUser({user:"用户名",pwd:"密码",roles:["root"]})
二选一,执行一个指令就好了
db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
3、执行认证
db.auth("user_test","pwd_test")
note: 注意是admin数据库。
新建你需要管理的mongodb 数据的账号密码。
use yourdatabase
db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })
rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等
新建数据库读写账户
use yourdatabase
db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })
该用户用于该数据的读写,只拥有读写权限。
删除用户:
db.dropUser(<user_name>)
删除某个用户,接受字符串参数
示例:db.dropUser(“admin”)
`db.dropAllUser()`
删除当前库的所有用户