mongo-yum安装-配置用户权限
安裝
安裝步驟參考https://www.cnblogs.com/layezi/p/7290082.html
安裝前注意: 此教程是通過yum安裝的.僅限64位centos系統
安裝步驟:
1、創建倉庫文件:?
vi /etc/yum.repos.d/mongodb-org-3.4.repo?
然后復制下面配置,保存退出
[mongodb-org-3.4]name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc?
2、yum安裝
yum install -y mongodb-org?
沒有權限就在前面加: ? sudo
安裝完畢后修改配置文件:
vi /etc/mongod.conf?
修改配置文件的?bind_ip,?默認是?127.0.0.1 只限于本機連接。所以安裝完成后必須把這個修改為 0.0.0.0 ,否則通過別的機器是沒法連接的!
3、啟動、停止、重啟
MongoDB默認將數據文件存儲在/var/lib/mongo目錄,默認日志文件在/var/log/mongodb中。如果要修改,可以在?/etc/mongod.conf?配置中指定備用日志和數據文件目錄。
啟動命令:
service mongod start?
停止命令:
service mongod stop?
查看mongoDB是否啟動成功:
可以通過查看日志文件
cat /var/log/mongodb/mongod.log?
日志文件應該會出現如下一句說明
[initandlisten] waiting for connections on port <port>?
<port> 是mongodb運行端口
也可以通過下面命令檢查是否啟動成功
chkconfig mongod on?
?4、使用
[root@instance-d0nk2r2c ~]# mongo## 查看數據庫 > show dbs;## 查看數據庫版本 > db.version();## 常用命令幫助 > db.help();?權限
和其他所有數據庫一樣,權限的管理都差不多一樣。mongodb存儲所有的用戶信息在admin?數據庫的集合system.users中,保存用戶名、密碼和數據庫信息。mongodb默認不啟用授權認證,只要能連接到該服務器,就可連接到mongod。若要啟用安全認證,需要更改配置文件參數auth。
想要添加用戶密碼驗證首先需要添加用戶,用戶存在system.users 表中
> use admin switched to db admindb.createUser({user:'admin',pwd:'admin123',roles:[{ "role" : "userAdminAnyDatabase", "db" : "admin" }]})剛建立了?userAdminAnyDatabase?角色,用來管理用戶,可以通過這個角色來創建、刪除用戶。
有沒有一個超級權限?不僅可以授權,而且也可以對集合進行任意操作?答案是肯定的,只是不建議使用。那就是role角色設置成root。
db.createUser({user:'root',pwd:'root',roles:[{ "role" : "root", "db" : "admin" }]})添加了兩個用戶可以語句查看:
db.system.users.find()此時連接仍然是沒有驗證的,我們需要重啟mongodb,并且要在啟動時帶上auth參數,才會開啟驗證
/usr/bin/mongod -f /etc/mongod.conf --auth?
用戶角色授權:
#授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.grantRolesToUser( "admin" , [ { role: "userAdminAnyDatabase", db: "admin" } ]) #取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.revokeRolesFromUser( "admin" , [ { role: "userAdminAnyDatabase", db: "admin" } ])?
?
roles:指定用戶的角色,可以用一個空數組給新用戶設定空角色;在roles字段,可以指定內置角色和用戶定義的角色。role里的角色可以選:
Built-In Roles(內置角色): 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. 內部角色:__systemRead:允許用戶讀取指定數據庫 readWrite:允許用戶讀寫指定數據庫 dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創建、刪除和管理用戶 clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。 readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限 readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限 userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限 dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。 root:只在admin數據庫中可用。超級賬號,超級權限
?
轉載于:https://www.cnblogs.com/china2k/p/8046520.html
總結
以上是生活随笔為你收集整理的mongo-yum安装-配置用户权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 周学习进度----03
- 下一篇: 4.4 使用STM32控制MC20进行G