提示
用户管理员账户和数据库管理员账户都是在数据库admin中创建的,在MongoDB服务器中启用身份验证后,要以用户管理员或数据库管理员的身份连接服务器,必须向admin数据库验证身份。您还需要像前一节介绍的那样在每个数据库中创建用户账户,让这些用记能够访问该数据库。
创建用户管理员如下:
use admin
ub.createUser({user:"useradmin",pwd:"useradmin",roles:["userAdminAnyDatabase"]})
如何启用用户身份验证
创建用户管理员账号后, 使用参数--auth重启mongodb服务器, 也可以在配置文件中指定auth设置, 如下:
mongod --dbpath <mongo_data_location>/data/db --auth
连接mongodb的二个方式:
第一:
use admin
db.auth("useradmin","useradmin")
第二:
mongo --username "useradmin" --password "useradmin"
创建数据库管理员账户
需要添加如下角色,readWriteAnyDatabase, dbAdminAnyDatabase, clusterAdmin。就是把useradmin和userAdminAnyDatabase,二个角色去除,目的是做到用户管理账号与数据库管理账户分离的目的。
创建数据库管理账号代码如下:
use admin
db.createUser({user:"dbAdmin",pwd:"dbAdmin",roles:["readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin"]})
readWriteAnyDatabase: 指对所有数据库有读写权限;dbAdminAnyDatabase:指对所有数据库有dbAdmin的权限,即可以管理数据库的清理,修改,压缩等操作;clusterAdmin,指可以对mongodb进行连接,集群,复制,列出数据库,创建数据库以及删除数据库等操作。
网友评论