mongdb 开启权限认证

\默认情况下mongodb不开启权限认证。

好的架构设计,应该是数据库不会暴漏给公共环境。

如果需要开放mongodb的远程访问,尽量考虑加入权限认证。

添加用户认证,必须在启动mongod的时候使用参数--auth。需要注意的是,mongodb开启权限认证后,本机访问可以拥有所有权限,其他机器访问权限认证才会生效。


分为以下几步:

  1. 在admin中创建用户admin,密码adminpasswd
    > use admin
    switched to db admin
    > db.addUser("admin","adminpasswd")

    # 默认情况下是赋于用户读写的权限的,如果只想给某个用户只读权限,可以用
    db.addUser("name","passwd", true)

  2. 给刚添加的用户添加认证
    > db.auth("admin","adminpasswd")
    1
    如果认证成功,会显示“1”

  3. 查看数据库的用户信息 > use admin 
    switched to db admin 
    > db 
    admin 
    > show collections 
    system.indexes 
    system.users 
    > db.system.users.find() 
    { "_id" : ObjectId("4e0d739eb3c346f3e43adba4"), "user" : "admin", "readOnly" : false, "pwd" : "e96d1448efad8a776534903ddff78e9a" } 
  4. 测试认证
    mongo --port 27017  admin -u admin -p 
    mongo --port 27017  admin -u testtest -p  # 不能成功登陆
  5. 删除用户:
    > db.removeUser( username ) # 或者支持操作db.system.users集合

你可能感兴趣的:(mongdb 开启权限认证)