mongoDB之创建用户与认证模式启动

本文介绍了如何在mongoDB中创建用户以增强数据库安全性,包括创建管理员账号、手动以认证模式启动和默认通过认证模式启动的方法。详细步骤包括非授权启动mongoDB,创建管理员账号,以及修改配置文件实现自动认证启动。

mongoDB创建用户

不管是mongoDB还是MySQL,我们往往都需要创建用户来保证安全性,在这里对这方面内容做一个简单的总结~

创建用户

创建用户有帮助增加数据库安全的作用,在mongoDB中需要下列步骤

  1. 创建管理员
  2. 授权认证
  3. 给使用的数据库添加用户

在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都是以认证模式启动的了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值