2016-03-12 4 views
1

Я новичок в сценариях оболочки. Ниже приведен сценарий, который я написал, чтобы включить аутентификацию mongoDB и создать пользователей в MongoDB. Когда я пытаюсь подключиться к БД после выполнения скрипта, соединение и выполнение команды на оболочке mongo происходит без проверки подлинности, а в admin db я вижу, что все пользователи добавлены правильно. Пробовал процесс убийства и начиная с опции --auth, но не повезло. Я выполняю это на Ububtu 14.0 LTS. Пожалуйста, предложите мне прямо Approch, чтобы сделать этот скрипт работаетСценарий оболочки для проверки подлинности Mongo DB

#!/bin/bash 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
echo deb http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/3.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list 
sudo apt-get -y update 
sudo apt-get install -y mongodb-org 
cd/
sudo mkdir data 
cd data 
sudo mkdir db 
echo "db.createUser({ user:'admin' , pwd:'password',roles: [ { role: '__system', db: 'admin' } ]})" | sudo mongo admin 
echo "db.auth('admin','password')" | sudo mongo admin 
sudo sh -c 'echo "security \n authorization : enabled" >> /etc/mongod.conf' 
sudo service mongod restart 
echo "db.createUser({ user: 'userA', pwd: 'passwordA',roles: [ { role:  'dbOwner', db: 'ManagementStore' } ]})" | sudo mongo admin -u 'admin' -p 'password' 
echo "db.createUser({ user: 'userB', pwd: 'passwordB',roles: [ { role: 'dbOwner', db: 'UserStore' } ]})" | sudo mongo admin -u 'admin' -p 'password' 
+0

где вы начинаете процесс монго? – profesor79

+0

После установки он автоматически запускается. Как я мог видеть в оболочке, процесс начинает прослушивать порт 27017 – vidyak

+0

, когда вы выполняете «echo» db.createUser ({user: 'admin' ... "вы получаете какой-либо вывод в консоли? Просто интересно, если mongo запускается, когда вы отвечаете за команды? – profesor79

ответ

2

По this source: вы можете также оценить команду, используя --eval флаг, если это только одна команда

mongo --eval 
    "db.createUser({ user:'admin' , pwd:'password'... } ]})" 

И проверка комментарии там, как есть много хороших вещей тоже. Веселитесь!

Смежные вопросы