MongoDB client authentication in Ubuntu

進入mongodb開始設定

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mongosh --port 27017
mongosh --port 27017
mongosh --port 27017

進入增加authentication的db

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
use mydb
use mydb
use mydb

建立用戶

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "dbAdmin", db: "mydb" } ]
}
)
db.createUser( { user: "username", pwd: "password", roles: [ { role: "dbAdmin", db: "mydb" } ] } )
db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [ { role: "dbAdmin", db: "mydb" } ]
  }
)

修改權限

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
db.grantRolesToUser("username",["readWrite"])
db.grantRolesToUser("username",["readWrite"])
db.grantRolesToUser("username",["readWrite"])

 

修改config file

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/mongod.conf
sudo nano /etc/mongod.conf
sudo nano /etc/mongod.conf

增加

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
security:
authorization: enabled
security: authorization: enabled
security:
  authorization: enabled

重啟MongoDB

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo service mongod restart
sudo service mongod restart
sudo service mongod restart

測試

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mongosh --port 27017 -u "username" -p "password" --authenticationDatabase "mydb"
mongosh --port 27017 -u "username" -p "password" --authenticationDatabase "mydb"
mongosh --port 27017 -u "username" -p "password" --authenticationDatabase "mydb"