一、創建管理員賬號
為北辰等地區用戶提供了全套網頁設計制作服務,及北辰網站建設行業解決方案。主營業務為成都做網站、網站建設、北辰網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!下面開始創建一個帳號,該賬號需要有grant權限,即:賬號管理的授權權限。注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)。
> use admin switched to db admin > db.createUser( { user: "dba", pwd: "dba", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) |
2.編輯mongodb配置文件,開啟驗證模塊
security: authorization: enabled |
3.重啟mongod.
4.再次登錄mongodb
#mongo > show dbs 2017-01-10T19:30:30.924+0800 E QUERY [main] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13, "codeName" : "Unauthorized" } |
5.會報出如上錯誤,這是因為開啟auth模塊后,需要進行驗證。如果需要使用剛才創建的管理員賬戶,則需要到admin庫下進行驗證,1表示驗證成功。
>use admin >db.auth('dba','dba') 1 |
6.驗證成功,再次執行命令:
> show dbs admin 0.000GB local 0.000GB |
即可執行成功。
二、創建普通用戶賬號
userAdminAnyDatabase的角色具有在任何數據庫下創建用戶的權限,下面用剛剛創建的dba用戶創建普通用戶。
1.創建只讀賬號
use db1 db.createUser( { user: "test1", pwd: "test1", roles: [ { role: "read", db: "db1" } ] } ) |
2.創建讀寫賬號
use db1 db.createUser( { user: "test2", pwd: "test2", roles: [ { role: "readWrite", db: "db1" } ] } ) |
注意:只有在當前庫下創建的用戶才能在當前庫下進行驗證,如果在admin庫下創建的其他庫的用戶則需要在admin下進行驗證。
三、創建超級管理員用戶
MongoDB在V3.0版本之后內置了root 角色,也就是結合了readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin4個角色權限,類似于ORACLE的sysdba角色,但是MongoDB的超級管理員用戶名稱是可以隨便定義的。當然如此高權限的用戶還是不建議使用。
db.createUser( { user: "dbroot", pwd: "dbroot", roles: [ { role: "root", db: "admin" } ] } ) |
四、查看用戶信息
db.getUser("test1")
> db.getUser("test1") { "_id" : "admin.test1", "user" : "test1", "db" : "admin", "roles" : [ { "role" : "clusterAdmin", "db" : "admin" } ] } |
五、修改用戶信息
可修改用戶的如下信息:
角色、密碼、customData
db.updateUser( "test1", { customData:{employeeID:"0x3039"}, roles:[ {role:"read",db:"admin"} ], pwd:"test1password" } ) |
六、修改用戶密碼
db.changeUserPassword("user","password")
七、刪除用戶
db.system.users.remove({user:"user1"});
db.dropUser("test1")
八、授權給用戶
原有權限不變的情況下,授予readWrite,read admin的權限:
db.grantRolesToUser( "test1", [ "readWrite", { role: "read", db: "admin" } ] ) |
九、回收權限
回收test1用戶的readWrite和read admin的權限。
db.revokeRolesFromUser( "test1", [ { role: "read", db: "admin" }, "readWrite" ] ) |
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁題目:MongoDB用戶及權限管理(二):用戶管理-創新互聯
當前路徑:http://vcdvsql.cn/article14/ppide.html
成都網站建設公司_創新互聯,為您提供建站公司、網站改版、外貿建站、全網營銷推廣、網站收錄、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯