MongoDB 用户管理
创建管理员账户:
1.登录
[root@MongoDB ~]# mongo
2.切换到admin数据库创建账户
> use admin switched to db admin
3.用户创建用户方法
db.createUser()
role用于指定哪个用户,db指定哪个数据库
> db.createUser({user:"admin",pwd:"123456",roles:[{ role:"root", db:"admin" } ] }) Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }
4.退出MongoDB命名行
> quit() [root@MongoDB ~]#
或者使用exit 退出MongoDB
5.启用权限管理
修改MongoDB安装目录中的配置文件 /etc/mongod.conf
[root@MongoDB ~]# vim /etc/mongod.conf
将#security:的注释去掉,然后添加authorization: enabled #注意authorization前面要有两个空格
security:
authorization: enabled
重启MongoDB
[root@MongoDB ~]# systemctl restart mongod
使用创建的用户登录MongoDB
[root@MongoDB ~]# mongo --host 127.0.0.1 --port 27017 -u "admin" -p "123456" --authenticationDatabase "admin"
--host 指定登录的主机,
--port 指定登录端口
-u 指定登录用户
-p 指定用户登录密码
-- authenticationDatabase 指定认证的数据库
如何使用/查看/删除用户:
use admin
用于列出MongoDB 关联这个数据库的所有的用户,需要先切换到指定数据库 例如:需要先切换到admin数据库
db.system.users.find()
> db.system.users.find() { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "1pm1kS2JTR/iLon8pY1Vkg==", "storedKey" : "k16n9/CH3K/spAIl9yNcl7xtw4k=", "serverKey" : "3zbHiGF13FicptAnNYQOMin9Jso=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "3SXNHNIPsGAdzCE5rkw9O+RIgGa8Ui8T41g3cA==", "storedKey" : "jF2hv4p9LWqGba95+5zfLLPC62jL7irlF66XOFvCbUo=", "serverKey" : "2gWAdyuBJOdN6v2EfLwiADAarZOJ0R3xHX5ttn0zOkE=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
用于列出当前库下的所有用户
show users
> show users { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
用户删除当前库下的指定的用户
db.dropUser()
> db.dropUser('admin') true
返回true 删除成功