MongoDB配置用户名和密码
程序员文章站
2024-02-20 11:21:53
...
01 引言
在前面博客已经讲解了MongoDB的安装,有兴趣的同学可以参阅:《Linux下安装MongoDB》,本文讲解如何新增MongoDB用户。
02 角色权限
角色权限:
角色 | 权限 |
---|---|
数据库用户角色 | read、readWrite |
数据库管理角色 | dbAdmin、dbOwner、userAdmin |
集群管理角色 | clusterAdmin、clusterManager、clusterMonitor、hostManager |
备份恢复角色 | backup、restore |
所有数据库角色 | readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase |
超级用户角色 | root 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) |
内部角色 | system |
权限说明:
权限 | 说明 |
---|---|
Read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
userAdmin | 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限 |
root | 只在admin数据库中可用(超级账号,超级权限) |
03 用户管理
3.1 新建管理员用户
cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
./mongo --port 27017
use admin
db.createUser(
{
user: "admin1",
pwd: “123456”,
roles: [{role: ”userAdminAnyDatabase”,db:”admin”}]
}
)
3.2 创建普通用户
cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
./mongo --port 27017
use db_foo ##(用户数据库,自定义,根据实际场景命名)
#可以查看角色
show roles
db.createUser(
{
user: "ylw",
pwd: "123456",
roles: ["readWrite","dbAdmin"]
}
)
3.3 查看的用户
db.system.users.find()
3.4 删除用户
db.system.users.remove({user:"simpleUser"})
04 开启权限验证
在启动时指定--auth
即需要授权才能操作:
①开启服务
/usr/local/mongodb/bin/mongod --auth -f /mongodb/single/mongod.conf
②客户端连接并认证
cd /usr/local/mongodb/bin/
./mongo --port 27017
use db_foo
db.auth("ylw","123456")
③关闭服务
cd /usr/local/mongodb/bin/
#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
./mongo --port 27017
#切换到admin库
use admin
#关闭服务
db.shutdownServer()
上一篇: with语句在Python中使用
推荐阅读
-
MongoDB配置用户名和密码
-
暴破FTP用户名和密码(PHP练手作品)
-
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法_MySQL
-
pdo为何不用用户名和密码可以操作成功
-
git push每次都需要输入用户名和密码怎么办呢??
-
急写一个注册页面,包括用户名和密码;注册的时候必须让密码输入12345才可以注册、然后入库。如果密码不是12345,就不入库返回一个异常提醒
-
急写一个注册页面,包括用户名和密码;注册的时候必须让密码输入12345才可以注册、然后入库。如果密码不是12345,就不入库返回一个异常提醒
-
Mysql 5.6添加修改用户名和密码的方法
-
暴破FTP用户名和密码(PHP练手作品)_PHP教程
-
怎样分别判断用户名和密码是否正确