diff --git a/plugins/mongodb/index.py b/plugins/mongodb/index.py index 2517afd98..67f619d83 100755 --- a/plugins/mongodb/index.py +++ b/plugins/mongodb/index.py @@ -1289,6 +1289,10 @@ def getListBson(dbname=''): r.append(x) return r +def rootPwd(): + return pSqliteDb('config').where( + 'id=?', (1,)).getField('mg_root') + def importDbExternal(): args = getArgs() data = checkArgs(args, ['file', 'name']) @@ -1568,6 +1572,8 @@ if __name__ == "__main__": print(saveConfig()) elif func == 'set_config_auth': print(setConfigAuth()) + elif func == 'root_pwd': + print(rootPwd()) elif func == 'get_db_list': print(getDbList()) elif func == 'add_db': diff --git a/scripts/init.d/mw.tpl b/scripts/init.d/mw.tpl index 0635d3183..63f5099ed 100755 --- a/scripts/init.d/mw.tpl +++ b/scripts/init.d/mw.tpl @@ -437,7 +437,15 @@ mw_mongodb(){ fi MGDB_PORT=$(cat $CONF |grep port|grep -v '#'|awk '{print $2}') - CLIEXEC="${ROOT_PATH}/mongodb/bin/mongosh --port ${MGDB_PORT}" + MGDB_AUTH=$(cat $CONF |grep authorization | grep -v '#'|awk '{print $2}') + + AUTH_STR="" + if [[ "$MGDB_AUTH" == "enabled" ]];then + pwd=$(cd ${ROOT_PATH}/mdserver-web && python3 ${ROOT_PATH}/mdserver-web/plugins/mongodb/index.py root_pwd) + AUTH_STR="-u root -p ${pwd}" + fi + + CLIEXEC="${ROOT_PATH}/mongodb/bin/mongosh --port ${MGDB_PORT} ${AUTH_STR}" echo $CLIEXEC ${CLIEXEC} }