<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 3.0版本以前 在mongodb3.0版本以前中,有一個admin數據庫, 牽涉到服務器配置層面的操作,需要先切換到admin數據庫.即 use admin , 相當于進入超級用戶管理模式,mongo的用戶是以數據庫為單位來建立的, 每個數據庫有自己的管理員.我們在設置用戶時,需要先在admin數據庫下建立管理員---這個管理員登陸后,相當于超級管理員. >命令:db.addUser(); 簡單參數: db.addUser(用戶名,密碼,是否只讀) 注意: 添加用戶后,我們再次退出并登陸,發現依然可以直接讀數據庫? 原因: mongodb服務器啟動時, 默認不是需要認證的. 要讓用戶生效, 需要啟動服務器時,就指定``--auth``選項.這樣, 操作時,就需要認證了. ``` # 添加用戶 > use admin > db.addUser('admin','admin',false); # 3.0版本更改為createUser(); # 刪除用戶 > use test > db.removeUser(用戶名); # 3.0版本更改為dropUser(); ``` ## 3.0版本以后 ### 創建管理員 在3.0版本以后,mongodb默認是沒有admin這個數據庫的,并且創建管理員不再用addUser,而用createUser; #### 語法說明 ``` { user: "<name>", pwd: "<cleartext password>", customData: { <any information> }, # 任意的數據,一般是用于描述用戶管理員的信息 roles: [ { role: "<role>", db: "<database>" } | "<role>", # 如果是role就是直接指定了角色,并作用于當前的數據庫 ... ] # roles是必傳項,但是可以指定空數組,為空就是不指定任何權限 } ``` Built-In Roles([內置角色][1]): 1. 數據庫用戶角色:read、readWrite; 2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin; 3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4. 備份恢復角色:backup、restore; 5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6. 超級用戶角色:root 這里還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 7. 內部角色:__system PS:關于每個角色所擁有的操作權限可以點擊上面的內置角色鏈接查看詳情。 **官方Example** ``` use products # mongoDB的權限設置是以庫為單位的,必選要先選擇庫 db.createUser( { "user" : "accountAdmin01", "pwd": "cleartext password", "customData" : { employeeId: 12345 }, "roles" : [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite" ] }, { w: "majority" , wtimeout: 5000 } ) # readWrite 適用于products庫,clusterAdmin與readAnyDatabase角色適用于admin庫 ``` writeConcern文檔([官方說明][2]) - w選項:允許的值分別是 1、0、大于1的值、"majority"、<tag set>; - j選項:確保mongod實例寫數據到磁盤上的journal(日志),這可以確保mongd以外關閉不會丟失數據。設置true啟用。 - wtimeout:指定一個時間限制,以毫秒為單位。wtimeout只適用于w值大于1。 ``` use shop; db.createUser({ user:'admin', pwd:'zhouzhou123', roles:['dbOwner'] }) ``` > 只要新加了一個用戶,admin數據庫就會重新存在; ``` mongo --host xxx -u admin -p zhouzhou123 --authenticationDatabase shop # 用新創建的用戶登錄 # 查看當前用戶在shop數據庫的權限 use shop; db.runCommand( { usersInfo:"shopzhouzhou", showPrivileges:true } ) # 查看用戶信息 db.runCommand({usersInfo:"userName"}) # 創建一個不受訪問限制的超級用戶 use admin db.createUser( { user:"superuser", pwd:"pwd", roles:["root"] } ) ``` ### 認證用戶 ``` > use test > db.auth(用戶名,密碼); #注意是以庫為單位,必須先選擇庫; ``` ### 刪除用戶 ``` # 刪除用戶 > use test > db.dropUser('用戶名'); ``` ### 修改用戶密碼 ``` > use test > db.changeUserPassword(用戶名, 新密碼); # 修改密碼和用戶信息 db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} } ) ``` ## 權限規則 參考: http://blog.csdn.net/kk185800961/article/details/45619863 [1]: http://docs.mongodb.org/manual/reference/built-in-roles/#built-in-roles [2]: http://docs.mongodb.org/manual/reference/write-concern/
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看