mongoDB之创建用户与认证模式启动
文章目录
[隐藏]
- mongoDB创建用户
- 创建用户
- 创建管理员账号
- 手动以认证模式启动
- 默认通过认证模式启动
mongoDB创建用户
不管是mongoDB还是MySQL,我们往往都需要创建用户来保证安全性,在这里对这方面内容做一个简单的总结~
创建用户
创建用户有帮助增加数据库安全的作用,在mongoDB中需要下列步骤
- 创建管理员
- 授权认证
- 给使用的数据库添加用户
在shell中执行以下操作
sudo service mongod start # 启动mongod mongo # 以非授权的方式启动
这时我们可以访问到任意一个不需要认证的数据库(比如我们用一个可视化客户端打开)
如果使用授权方式启动mongoDB,而我们不去登录的话我们也是无法使用的,所以我们要先创建一个管理员账号
创建管理员账号
首先非授权方式启动我们的mongoDB
> use admin # 创建admin数据库 > db.createUser({user:"admin",pwd:"admin",roles:["root"]}) # 创建一个用户名为admin,密码为admin,身份为管理员的User > db.auth("admin","admin") # 进行认证 1 # 显示1,认证成功
这样,我们的数据库就有了自己的管理员
下面我们为创建一个有用户的db
> use demo1 # 切换数据库 switched to db demo1 # 创建一个用户名为demo1user,密码为demo1,身份为数据库用户,拥有demo1的User > db.createUser({user:"demo1user",pwd:"demo1",roles:[{role:"dbOwner",db:"demo1"}]}) Successfully added user: { "user" : "demo1user", "roles" : [ { "role" : "dbOwner", "db" : "demo1" } ] }
手动以认证模式启动
经过我的尝试,我发现以认证方式启动mongd的方式有很多,我选择一种我比较喜欢的列在下面:
在安装mongoDB之后,如果是使用和我一样的方式安装的,那么将会自动生成一个配置文件,位于/etc/mongod.conf,我们也可以用这样的方式启动mongod
去
sudo mongod -f /etc/mongod.conf --auth # 认证模式启动 sudo mongod -f /etc/mongod.conf # 非认证模式启动
默认通过认证模式启动
一切脱离版本的配置都是耍流氓
如果不想每次都带上–auth参数的haunted,我们可以在配置文件中修改,也就是对/etc/mongod.conf进行修改,我们以官网文档为准https://docs.mongodb.com/manual/reference/configuration-options/
关于用户认证方面的配置,点击上面的security仔细阅读一下
下面贴上我的配置文件片段(最后两行就是默认以用户认证方式启动)
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled
如此一来,不管是sudo mongod -f /etc/mongod.conf
还是sudo service mongod start
都是以认证模式启动的了。
原文出处:csdn -> https://blog.csdn.net/github_39457740/article/details/84076610