我在Linux服务器上安装了mongodb
- Ubuntu 16.04。它已启动并正在运行,因为我已通过putty
对其进行了测试。所以,接下来我要做的就是在mongodb
上设置身份验证。
我已在此blog之后创建了具有角色的用户。
这是我的etc/mongodb.conf
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
security:
authorization: enabled
我在db
的{{1}}集合中为两个system.users
角色设置了用户,并在服务器上重新启动dbs
。
这里是脚本test.sh来测试mongodb的身份验证状态。 Ref取自here。
mongod
当我运行脚本时,我得到#!/bin/bash
# Connect to MongoDB address (host:port/dbname) specified as first parameter
# If no address specified, `mongo` default will be localhost:27017/test
isAuth=`mongo --eval "db.getUsers()" $1 | grep "not auth"`
if [ -z "$isAuth" ] ;
then
echo "mongod auth is NOT enabled"
exit 1
else
echo "mongod auth is ENABLED"
exit 0
fi
。此外,我也没有插入或查看数据库表单shell的问题。
所以,我总结的问题是:
mongod auth is NOT enabled
上进行身份验证的做法是否正确?如果不是什么可能是正确的方式?P.S:如果有帮助的话,我从Azure创建了Linux服务器。
答案 0 :(得分:1)
很抱歉,但这是我正在做的错误systemctl start mongodb
,实际上是mongod
。
systemctl start mongod
启动并运行。我希望我用于在Mongodb和Bash脚本上启用authorization
来检查授权是否正常的资源对于开始使用MongoDB进行开发的开发人员来说是一个很好的资源。