[英]Enable authentication in mongoDb in Ubuntu Desktop
我使用Ubuntu 16.04,並嘗試在mongodDb中啟用身份驗證
我創建了一個新用戶
db.createUser({
user:"Sun",
pwd:"Sun",
roles:[{role:"userAdmin",db:"pet"}]
})
我通過檢查用戶
db.getUsers();
但是我仍然能夠在不提供用戶名和密碼的情況下修改數據庫
我試圖通過文檔中提供的命令啟用授權,但對我不起作用。
在我的系統中啟動mongodb我必須寫
sudo service mongod start
mongod
請告訴我如何在mongoDb中啟用身份驗證
聽起來您mongod.conf
文件中可能缺少配置指令。
檢查文檔中的步驟4
使用訪問控制重新啟動MongoDB實例。
使用--auth命令行選項或( 如果使用配置文件)security.authorization設置重新啟動mongod實例。
因此,在您的配置文件中,您應該有這行;
security.authorization: enabled
從帶有CentOS的測試盒中,文件位於/etc/mongod.conf
並且應如下所示(檢查路徑是否正確等)
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
net:
port: 27017
bindIp: 0.0.0.0
security.authorization: enabled
您可能還會發現使用其中一種管理工具通過GUI管理您的用戶(假定您在Windows客戶端上)更為容易,因為通過命令行完成所有操作要容易得多...
更新配置后,請記住重新啟動Mongod實例,並檢查/var/log/mongodb/mongod.log
的日志文件,以確保啟動時沒有錯誤。
記住,您需要授予用戶訪問任何給定數據庫的權限,我將用戶分配給每個數據庫,而不是通過'admin'數據庫分配-我覺得這更容易。
最后-如果您發現自己由於某種原因而被鎖定, 請不要驚慌! 只需將配置行security.authorization: enabled
更改為disabled
並重新啟動實例,您將無需任何身份驗證即可登錄!
日志文件還將為您提供有關訪問問題的指針,因此請在測試/設置用戶時進行檢查。
並且請記住,一旦完成保護部署的安全,並檢查您是否無法登錄或在沒有有效登錄的情況下無法執行任何操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.