Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,Pymongo:为具有只读权限的数据库创建用户_Python_Pymongo - Fatal编程技术网

Python,Pymongo:为具有只读权限的数据库创建用户

Python,Pymongo:为具有只读权限的数据库创建用户,python,pymongo,Python,Pymongo,我正在尝试为数据库创建一个具有只读访问权限的用户, 我尝试了以下方法 from pymongo import MongoClient mongo=MongoClient() mongo.test.command("createUser", "testing", pwd="testing", roles=["read"]) 然后我认证 mongo.test.authenticate('testing', 'testing') 但是,如果我尝试插入文档,它实际上会插入: mongo.test.t

我正在尝试为数据库创建一个具有只读访问权限的用户,
我尝试了以下方法

from pymongo import MongoClient
mongo=MongoClient()
mongo.test.command("createUser", "testing", pwd="testing", roles=["read"])
然后我认证

mongo.test.authenticate('testing', 'testing')
但是,如果我尝试插入文档,它实际上会插入:

mongo.test.test.insert_one({'name':'vincent'})
命令
mongo.test.command(“usersInfo”)
返回

{'ok': 1.0,
 'users': [{'_id': 'test.testing',
   'db': 'test',
   'roles': [{'db': 'test', 'role': 'read'}],
   'user': 'testing'}]}
这似乎表明用户已正确创建。 如果只读用户的插入请求被拒绝,我应该如何创建该用户并向其进行身份验证?


谢谢你的回答。其他问题:是否可以创建对所有数据库都具有特定权限的用户?而不是基于每个数据库?尽管这可能违背安全最佳实践。你可以,太棒了!现在它起作用了。最后一个问题:现在我用
mongo.admin.command(“createUser”,“man”,pwd=“man”,roles=[“readWriteAnyDatabase]”)创建了一个对所有数据库都具有读/写权限的用户。
。我可以使用该用户与
MongoClient('mongodb://%s:%s@127.0.0.1“%('man','man'))
。所有这些都有效。现在我想为这个新连接创建一个测试。我将MongoClient分配给变量名
mongo
。是否有显示用户名和角色的
mongo
属性?我知道我可以从
mongo.adminsystem.users
中看到,但是我可以在mongoclient实例上看到它吗?您可以运行一个例如
mongo.admin.command('connectionStatus')
mongod --auth --config <config_path>
security:
  autorization: enabled
systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1