開啓MongoDB服務時不添加任何參數時,默認是沒有權限驗證的,登陸的用戶能夠對數據庫任意操做並且能夠遠程訪問數據庫!
在剛安裝完畢的時候MongoDB都默認有一個admin數據庫(3.0之前,3.0之後默認沒有這個admin數據庫,需本身建立),此時admin數據庫是空的,沒有記錄權限相關的信息!當 admin.system.users一個用戶都沒有時,即便mongod啓動時添加了--auth參數,若是沒有在admin數據庫中添加用戶,此時不 進行任何認證仍是能夠作任何操做(無論是不是以--auth 參數啓動),直到在admin.system.users中添加了一個用戶。
mongodb
須要注意的是:admin.system.users中將會保存比在其它數據庫中設置的用戶權限更大的用戶信息,擁有超級權限,也就是說在admin中建立的用戶能夠對mongodb中的其餘數據庫數據進行操做。
數據庫
總結:
ide
1) mongodb系統中,數據庫是由超級用戶來建立的,一個數據庫能夠包含多個用戶,一個用戶只能在一個數據庫下,不一樣數據庫中的用戶能夠同名!
2)當admin.system.users一個用戶都沒有時,即便mongod啓動時添加了--auth參數,若是沒有在admin數據庫中添加用戶,此時 不進行任何認證仍是能夠作任何操做(無論是不是以--auth 參數啓動),直到在admin.system.users中添加了一個用戶。
3)特定數據庫好比DB1下的用戶User1,不可以訪問其餘數據庫DB2,可是能夠訪問本數據庫下其餘用戶建立的數據!
4)不一樣數據庫中同名的用戶不可以登陸其餘數據庫!好比DB1,DB2都有user1,以user1登陸DB1後,不可以登陸到DB2進行數據庫操做!
5)在admin數據庫建立的用戶具備超級權限,能夠對mongodb系統內的任何數據庫的數據對象進行操做!spa