martedì 5 giugno 2012

MongoDB - Configurare l'Auth su sistemi in ReplicaSet/Shared



Procedura da eseguire su ogni server. (testata su Ubuntu con MongoDB versione 10gen)

editare il file:
/etc/mongodb.conf

modificare i parametri:
auth = true
keyFile = /var/lib/mongodb/key


da terminale ssh:
echo "inserire_una_password_che_si_vuole" > /var/lib/mongodb/key
chmod 600 /var/lib/mongodb/key
chown mongodb:mongodb /var/lib/mongodb/key


-- MongoDB restart

eseguire questa operazione su tutti i server che si connettono tra di loro.


-----

connettersi via console su una dei server.
creare l'utente principale di admin che accede a tutto 

use admin;
db.addUser("mongoadm", "345098340958");
db.auth("mongoadm", "345098340958");


Connettersi al db che si vuole e creare le utenze di accesso:

use db1;
db.addUser("user1-db1", "5396739759075ghdfoger");
db.addUser("user2-db1", "46734345t345345")
db.system.users.find();


use db2;
db.addUser("user1-db2", "345345345");
db.addUser("user2-db2", "dgfdfgerter");
db.system.users.find();


a questo punto dai nostri client possiamo connetterci con l'utente del singolo db.
-----


per autenticarsi da console passare sempre dall'utente di admin altrimenti non si accede a tutti i comandi di administration es: rs.status();


Per accedere a db1 da console:

use admin;
db.auth("mongoadm", "345098340958");

use db1;
db.auth("user1-db1", "5396739759075ghdfoger");

Nessun commento: