[root@node12 ~]# mongo MongoDB shell version v4.4.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("68fa2f83-64a4-42c2-8d64-9ee73a77e883") } MongoDB server version: 4.4.1 > show dbs > db test > show tables Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus > 提示:現(xiàn)在我們直接連接mongodb是可以正常連接,但是我們沒法查看數(shù)據(jù)列表以及collections了;這個時候我們就需要進行用戶認證了;
認證用戶
> db test > db.auth("test","admin") Error: Authentication failed. 0 > use testdb switched to db testdb > db.auth("test","admin") 1 > show dbs > show collections > 提示:認證用戶必須切換到對應的數(shù)據(jù)庫下做認證;我這里test用戶只能對testdb庫下的所有collection進行讀寫,所以認證以后,我們在使用 show dbs命令就看不到系統(tǒng)admin和config庫了;除了上述連接數(shù)據(jù)庫以后使用db.auth()做用戶認證,我們也可直接在連接數(shù)據(jù)庫時指定用戶名和密碼,如下
[root@node12 ~]# mongo -utest -padmin testdb MongoDB shell version v4.4.1 connecting to: mongodb://127.0.0.1:27017/testdb?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("60c43e94-04c6-46f4-be07-07ca8fa06b2f") } MongoDB server version: 4.4.1 > show dbs > exit bye [root@node12 ~]# mongo -utest -padmin 192.168.0.52:27017/testdb MongoDB shell version v4.4.1 connecting to: mongodb://192.168.0.52:27017/testdb?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("a30dbd64-7b59-4a8e-b95d-02ff30e256f3") } MongoDB server version: 4.4.1 > show dbs > show tables > 以上就是在mongodb中開啟訪問控制,創(chuàng)建用戶,授權的操作;我們只需要在配置文件中指定開啟認證功能,然后使用具有創(chuàng)建用戶權限的用戶登錄數(shù)據(jù)庫創(chuàng)建用戶授權即可.