Я новичок в сценариях оболочки. Ниже приведен сценарий, который я написал, чтобы включить аутентификацию 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'
где вы начинаете процесс монго? – profesor79
После установки он автоматически запускается. Как я мог видеть в оболочке, процесс начинает прослушивать порт 27017 – vidyak
, когда вы выполняете «echo» db.createUser ({user: 'admin' ... "вы получаете какой-либо вывод в консоли? Просто интересно, если mongo запускается, когда вы отвечаете за команды? – profesor79