In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-14 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
This article will explain in detail about the rights management in MongoDB, the content of the article is of high quality, so share it with you for reference. I hope you can get something after reading this article.
The mongodb configuration file is as follows:
[root@localhost ~] # cat / usr/local/mongodb/mongod.cnf bind_ip = 0.0.0.0logpath=/data/mongodb/logs/mongodb.loglogappend = truefork = true#auth = trueport = 6068dbpath=/data/mongodb/datapidfilepath=/data/mongodb/mongod.pid
Root Super Admin privileges:
Close mongod.cnf profile parameter: auth
Log in to mongo directly and set the login password:
Mongo-- host 127.0.0.1-- port 6068use admindb.createUser ({user: 'root', pwd:'TdLLQd689', roles: [{role:' root', db: 'admin'}]}); db.auth ("root", "TdLLQSdH689")
Close mongod
Open mongod.cnf profile parameter: auth = true
Mongo-host 127.0.0.1-port 6068use admindb.auth ("root", "TdLLQH689")
Create a test library dbtest001, and the test user testuser has read and write access to the dbtest001 library
Use dbtest001db.createUser ({user: "testuser", pwd: "testuser123", roles: [{role: "readWrite", db: "dbtest001"}]}) create test user testuser to read the dbtest001 library: db.createUser ({user: "testuser01", pwd: "testuser123", roles: [{role: "read", db: "dbtest001"}]})
Insert a collection chenji (so-called table chenji) into the test library:
Db.chenji.insert ({"name": "Xiaohua", "Grade": "sophomore", "gender": "male", "hobby": "Learning"}) WriteResult ({"nInserted": 1}) > db.chenji.insert ({"name": "Huahua", "Grade": "Grade one", "gender": "female" "hobby": "singing"}) WriteResult ({"nInserted": 1}) > db.chenji.insert ({"name": "floret", "grade": "third grade", "gender": "female", "hobby": "playing ball"}) WriteResult ({"nInserted": 1}) > db.chenji.insert ({"name": "floret", "grade": "fourth grade", "gender": "female" "hobby": "drawing"}) WriteResult ({"nInserted": 1})
View the users under the current library:
Db.getUsers () or show users > show users {"_ id": "dbtest001.testuser", "userId": UUID ("f275fad5-ac4f-4dfa-aea6-af34ed93c3e1"), "user": "testuser", "db": "dbtest001", "roles": [{"role": "readWrite", "db": "dbtest001"}]}
View the permissions of a user under the current library:
Db.getUser ("testuser") db.getUser ("testuser01")
Create a role: db.createRole ()
Update role: db.updateRole ()
Delete role: db.dropRole ()
Get a role information: db.getRole ()
> db.getRole ("read") {"role": "read", "db": "dbtest001", "isBuiltin": true, "roles": [], "inheritedRoles": [] > db.getRole ("readWrite") {"role": "readWrite", "db": "dbtest001", "isBuiltin": true, "roles": [] "inheritedRoles": []}
Delete all users: db.dropAllUsers ()
Delete user: db.dropUsers ("xxxxxx")
Db.dropUser ("testuser01")
True
Assign a role to read and write to the user: db.grantRolesToUser ()
Use dbtest001db.grantRolesToUser ('testuser01', [{role:' readWrite', db: 'dbtest001'}])
Revoke a role permission for a user: db.revokeRolesFromUser ()
> db.getUser ("testuser01") {"_ id": "dbtest001.testuser01", "userId": UUID ("d1fefe19-a94f-4300-8855-fd722f14e13f"), "user": "testuser01", "db": "dbtest001", "roles": [{"role": "readWrite", "db": "dbtest001"}]}
Revoke read role read and write permissions:
> db.revokeRolesFromUser ('testuser01', [{role:' readWrite', db: 'dbtest001'}]) > db.getUser ("testuser01") {"_ id": "dbtest001.testuser01", "userId": UUID ("d1fefe19-a94f-4300-8855-fd722f14e13f"), "user": "testuser01", "db": "dbtest001", "roles": []}
Change password: db.changeUserPassword ()
Db.createUser ({user: "testuser01", pwd: "testuser123", roles: [{role: "read", db: "dbtest001"}]})
Change the password:
> db.changeUserPassword ("testuser01", "123456")
Test: login with the original password reported an error as follows:
[root@localhost] # mongo 127.0.0.1:6068/dbtest001-u testuser01-p 'testuser123'MongoDB shell version v3.6.16connecting to: mongodb://127.0.0.1:6068/dbtest001?gssapiServiceName=mongodb2020-01-01T21:51:35.637+0800 E QUERY [thread1] Error: Authentication failed.: connect@src/mongo/shell/mongo.js:263:13@ (connect): 1:6exception: connect failed
Log in successfully with the new password
[root@localhost ~] # mongo 127.0.0.1:6068/dbtest001-u testuser01-p '123456'MongoDB shell version v3.6.16connecting to: mongodb://127.0.0.1:6068/dbtest001?gssapiServiceName=mongodbImplicit session: session {"id": UUID ("966023f0-ff7b-4726-a216-8475bc729971")} MongoDB server version: 3.6.16 > show collections;chenji > db.chenji.find () {"_ id": ObjectId ("5e0c80a8efc383349153386a"), "name": "floret", "grade": "second grade", "gender": "male", "hobby": "learning" {"_ id": ObjectId ("5e0c80c3efc383349153386b"), "name": "Huahua", "grade": "first grade", "gender": "female" "hobby": "singing"} {"_ id": ObjectId ("5e0c83c8efc383349153386c"), "name": "floret", "grade": "third grade", "gender": "female", "hobby": "playing ball" {"_ id": ObjectId ("5e0c83e9efc383349153386d"), "name": "floret", "grade": "fourth grade" "gender": "female", "hobby": "painting"}
View the table under the current library:
Show collections
Chenji
View all the contents of the collection:
> db.chenji.find () {"_ id": ObjectId ("5e0c80a8efc383349153386a"), "name": "floret", "grade": "second grade", "gender": "male", "hobby": "learning" {"_ id": ObjectId ("5e0c80c3efc383349153386b"), "name": "Huahua", "grade": "first grade", "gender": "female" Hobby: singing}
Check the record named Xiaohua:
> db.chenji.find ({"name": "id"}) {"_ id": ObjectId ("5e0c80a8efc383349153386a"), "name": "floret", "grade": "second grade", "gender": "male", "hobby": "learning" {"_ id": ObjectId ("5e0c83c8efc383349153386c"), "name": "floret", "grade": "third grade" "gender": "female", "hobby": "playing ball" {"_ id": ObjectId ("5e0c83e9efc383349153386d"), "name": "floret", "grade": "fourth grade", "gender": "female", "hobby": "drawing"}
So far, there is a basic understanding of rights management in MongoDB, but the specific usage still needs to be consolidated and practiced. If you want to know more about it, please pay attention to the industry information.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.