環境: centos6.8 mongodb3.4.1
1、連線mongodb資料庫(如果mongo命令沒有做環境變數配置,需要定位到有mongo命令的目錄)
[root@vm_118_34_centos ~]# mongomongodb shell version v3.4.1
connecting to: mongodb:
mongodb server version: 3.4.1
2、切換到admin資料庫,並新增管理員,退出(ctrl+c)
db.createuser(, pwd: "admin",
roles:
} ) user欄位,為新使用者的名字;
pwd欄位,使用者的密碼;
cusomdata欄位,為任意內容,例如可以為使用者全名介紹;
roles欄位,指定使用者的角色,可以用乙個空陣列給新使用者設定空角色。在roles欄位,可以指定內建角色和使用者定義的角色。
3 、檢視建立的使用者
show users 或 db.system.users.find()
4、啟用使用者許可權,修改配置檔案,增加配置:
security:authorization: enabled
配置檔案一般在 /etc/mongod.conf, 可以通過vi編碼
5、重啟mongdb
service mongodb restart
6、測試管理員許可權
mongodb shell version v3.4.1connecting to: mongodb:
mongodb server version: 3.4.1
> use admin --切換資料庫
switched to db admin
> show dbs --沒授權,展示資料庫會報錯unauthorized
2017-01-11t15:43:07.179+0800 e query [main] error: listdatabases failed:",
"code" : 13,
"codename" : "unauthorized"
} :_geterrorwithcode@src/mongo/shell/utils.js:25:13
mongo.prototype.getdbs@src/mongo/shell/mongo.js:62:1
shellhelper.show@src/mongo/shell/utils.js:755:19
shellhelper@src/mongo/shell/utils.js:645:15
@(shellhelp2):1:1
> db.auth('admin','admin')
1> show dbs --可以正常訪問了
admin 0.000gb
local 0.000gb
test 0.000gb
其他內建的角色
資料庫使用者角色:read、readwrite;
資料庫管理角色:dbadmin、dbowner、useradmin;
集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager;
備份恢復角色:backup、restore;
所有資料庫角色:readanydatabase、readwriteanydatabase、useradminanydatabase、dbadminanydatabase
超級使用者角色:root
// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbowner 、useradmin、useradminanydatabase)
內部角色:__system
MongoDB3 x中使用者許可權
1.資料庫使用者角色 read readwrite 2.資料庫管理角色 dbadmin dbowner useradmin 3.集群管理角色 clusteradmin clustermanager clustermonitor hostmanager 4.備份恢復角色 backup restore ...
mongodb3 x使用者角色
使用者和角色是多對多的關係,乙個使用者可以對應多個角色,乙個角色可以擁有多個使用者。使用者角色的不同對應的許可權也是不一樣的。下面是一些分配給使用者的常見的角色。read 允許使用者從資料庫的任何集合中讀取資料 readanydatabase 同read,但針對所有資料庫 readwrite 提供r...
Mongodb 3 X 配置身份驗證
開啟認證 啟動mongodb.mongodb syslog fork port 20000 auth 1.如果不新增引數 auth,表明用預設的root的許可權登陸 2015 12 18t10 42 04.275 0800 i control initandlisten warning you ar...