Installation du système Centos MongoDB 8
Le tutoriel suivant décrit comment installer le système MongoDB Centos 8.
Le tout est simple et se résume à quelques commandes de simples wykonanaia.
Dans les entrées précédentes, nous avons décrit le processus d'installation pour Ubuntu 18.04 qui est sous cette entrée.
Pour commencer, nous créons un référentiel:
1 | nano /etc/yum.repos.d/mongodb.repo |
son contenu:
1 2 3 4 5 6 | [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc |
Enregistrez le fichier et installer le même kodonujemy de service:
1 | dnf install mongodb-org |
Lancez-le et ajoutez à Autostart:
1 2 | systemctl start mongod systemctl enable mongod |
Vérifiez l'état des services:
1 | systemctl status mongod |
résultat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ? mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-01-03 03:59:12 EDT; 5min ago Docs: https://docs.mongodb.org/manual Process: 737 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Process: 735 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 732 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 726 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Main PID: 914 (mongod) Memory: 216.1M CGroup: /system.slice/mongod.service ??914 /usr/bin/mongod --auth -f /etc/mongod.conf Oct 28 03:58:14 centos8 systemd[1]: Starting MongoDB Database Server... Oct 28 03:58:28 centos8 mongod[737]: about to fork child process, waiting until server is ready for connections. Oct 28 03:58:28 centos8 mongod[737]: forked process: 914 Oct 28 03:59:12 centos8 mongod[737]: child process started successfully, parent exiting Oct 28 03:59:12 centos8 systemd[1]: Started MongoDB Database Server. |
MongoDB pour se rendre à l'aide de la commande:
1 | mongo |
Création d'une MongoDB administrative utilisateur
nous arrivons à commande MongoDB :
1 | mongo |
Ensuite, nous passons la base de données nommée administrateur
1 | use admin |
Nous émettons une commande pour créer l'utilisateur:
1 2 3 4 5 6 7 | db.createUser( { user: "mongodadmin", pwd: "password123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) |
password123 on passe, bien sûr, à notre mot de passe secret 😉
Nous devrions obtenir le résultat:
1 2 3 4 5 6 7 8 9 | Successfully added user: { "user" : "mongodadmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } |
Vérifiez votre commande:
1 | show users |
résultat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { "_id" : "admin.mongodadmin", "userId" : UUID("f6e908db-e393-44a9-8c77-0fdb1c2baa0e"), "user" : "mongodadmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } |
Configurer l'authentification MongoDB
Par défaut MongoDB permet à tous les utilisateurs un accès au shell MongoDB et exécuter des commandes arbitraires. Il est donc recommandé de configurer l'authentification MongoDB, pour empêcher les autres utilisateurs à exécuter des commandes sans les autorisations requises.
Tout d'abord, vous devez activer l'authentification pour MongoDB, en éditant le fichier
1 | nano /lib/systemd/system/mongod.service |
Et nous avons donc mis la ligne suivante:
1 | Environment="OPTIONS= --auth -f /etc/mongod.conf" |
services de recharge:
1 2 | systemctl --system daemon-reload systemctl restart mongod |
Maintenant, nous essayons d'entrer sans autorisation:
1 2 3 | mongo use admin show users |
Nous verrons une erreur
1 2 3 4 5 6 | 2019-10-28T04:13:15.346-0400 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.getUsers@src/mongo/shell/db.js:1638:15 shellHelper.show@src/mongo/shell/utils.js:883:9 shellHelper@src/mongo/shell/utils.js:790:15 @(shellhelp2):1:1 |
Maintenant, nous enregistrons sur les privilèges correctement:
1 2 | db.auth('mongodadmin', 'password123') show users |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | You should see the admin user with their roles in the following output: { "_id" : "admin.mongodadmin", "userId" : UUID("f6e908db-e393-44a9-8c77-0fdb1c2baa0e"), "user" : "mongodadmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } |