新安装的mongodb需要做哪些操作。
1.创建管理员
--管理员用户保存在admin数据库里面。
use admin
db.createUser({user:"admin",pwd:"admin",roles:["userAdminAnyDatabase"]})
--给admin用户增加dbAdmin权限。
db.grantRolesToUser(
"admin",
[
{ role: "dbAdmin", db: "admin" }
]
);
--增加root权限。
db.grantRolesToUser(
"admin",
[
{ role: "root", db: "admin" }
]
);
2.创建普通用户
--创建的用户保存在test数据库里面。
use test
db.createUser(
{
user: "test",
pwd: "test",
roles: [
{ role: "readWrite", db: "test" }
]
}
)
--增加权限。
db.grantRolesToUser(
"test",
[
{ role: "dbAdmin", db: "test" }
]
);
--登录认证。
db.auth("test","test")
--命令需要root权限。
> show dbs;
test 0.000GB
3.删除用户
use admin
db.auth("admin","admin")
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
--在哪里数据库里面创建的,就要切换到哪个数据库进行删除操作。
use test
db.dropUser("test")
4.用户信息查看
所有用户的信息保存在:
admin 数据库里面,system.users 集合中。
use admin
--只有:system.users 集合有数据,其他没用数据 。
--查询mongodb的数据库用户和权限信息。
> db.system.users.find()
{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "GFCFrXIRQv6VCfrZr0GtZw==", "storedKey" : "qdyYx1R2YNHfsB8UTGjnpjhM1tI=", "serverKey" : "zWmFNGnmmKu9G35mZBpjIKqIVis=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "kL3EAQXnnnLtSPepjp/NDKauTrYFg5ketLmh7g==", "storedKey" : "9nUfckN641hVKE/HW7MOim44G9oiiW0OuKt3QomKa9o=", "serverKey" : "4c8HZWtYmseddz7mgE9BV5iFTZbQBRJaqtrJn2JY2ks=" } }, "roles" : [ { "role" : "root", "db" : "admin" }, { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
{ "_id" : "test.test", "user" : "test", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "CvxI2UscIA8LczrseNRasQ==", "storedKey" : "GxcKv1b6Tfoud4Qaj+wv2pZ7VWQ=", "serverKey" : "yfkOyfrDZsDFEuSE15fVcMjFcso=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "8qTULXnPZrQpn4hMBy+xcTdkSxIyw5adbO9kKQ==", "storedKey" : "QFHwHrNPsXzikrryByLRpW0cMlCazEAWp38XjiXzeRU=", "serverKey" : "bTc+LDQN0X0eJbRrnXp/ZI0sJYvNYBfB6jzRMUjuJWw=" } }, "roles" : [ { "role" : "dbAdmin", "db" : "test" }, { "role" : "readWrite", "db" : "test" } ] }
--检查mongodb的版本。
> db.system.version.find()
{ "_id" : "featureCompatibilityVersion", "version" : "4.0" }
{ "_id" : "authSchema", "currentVersion" : 5 }
5.其他权限说明
超级用户给的角色:userAdmin (拥有用户管理权限)
普通用户:read/readWrite+dbAdmin.
管理数据库的用户:clusterAmin
全库只读用户:readAnyDatabase
全库读写用户:readWriteAnyDatabase
管理所有数据库的访问用户:userAdminAnyDatabase+root
管理所有数据库的索引及集合创建的维护:dbAdminAnyDatabase