Maison > interface Web > js tutoriel > Introduction aux utilisateurs et aux autorisations dans mongoDB

Introduction aux utilisateurs et aux autorisations dans mongoDB

不言
Libérer: 2018-07-27 11:03:51
original
1760 Les gens l'ont consulté

Le contenu de cet article est une introduction aux utilisateurs et aux autorisations dans mongoDB. Il a une bonne valeur de référence et j'espère qu'il pourra aider les amis dans le besoin.

Avant-propos

Pour les bases de données, les utilisateurs et les autorisations sont un élément très important, car ils impliquent la sécurité. Alors, quels sont les utilisateurs et les autorisations de mongoDB ?

Instructions

Instructions d'environnement

La version de mongoDB utilisée dans cet article est la 3.6 et le système d'exploitation est Windows.

Autres instructions

En raison du manque d'espace, cet article ne présentera pas le processus du téléchargement à l'installation de la base de données. Concernant les tutoriels d'installation, il existe de nombreux tutoriels sur Internet que vous pouvez suivre. ces tutoriels pour l’installer et l’exécuter. Cet article se concentrera sur la partie 用户和权限 de mongoDB.

Serveur et client

Pour mongoDB, il est divisé en serveur et client.
Dans le répertoire d'installation de l'environnement Windows, double-cliquez pour ouvrir mongod.exe pour démarrer le service mongoDB.
Lorsque le service est démarré, vous pouvez double-cliquer sur mongo.exe pour ouvrir le client et vous connecter au service mongoDB.

Activer le mode d'autorisation

Après l'installation de mongoDB, si vous utilisez directement mongod.exe pour démarrer le service, 默认是没有开启授权模式的, si votre mongoDB n'active pas le mode d'autorisation, alors personne n'a besoin d'un nom d'utilisateur et mot de passe Vous pouvez également vous connecter au serveur mongoDB et faire ce que vous voulez avec votre base de données, même directement 删库跑路. Par conséquent, dans un environnement de production, n'oubliez pas d'activer le mode d'autorisation.

Alors, comment activer le mode autorisation ?
Ouvrez cmd, entrez dans le répertoire bin du répertoire d'installation et exécutez la commande suivante :

mongod --auth --port 27017 --dbpath /data/db
Copier après la connexion
Copier après la connexion

Après avoir activé le mode d'autorisation, ouvrez mongo.exe et exécutez show dbs sous l'administrateur base de données. Ceci, la base de données signalera une erreur, vous rappelant qu'il n'y a pas d'autorisation. Comme suit :

Introduction aux utilisateurs et aux autorisations dans mongoDB

Type d'utilisateur

La base de données mongoDB est grossièrement divisée en deux types d'utilisateurs, l'un est l'utilisateur administrateur, le l'autre est un utilisateur ordinaire.

Administrateur

Nous créons un utilisateur administrateur (rôle userAdmin ou userAdminAnyDatabase) dans la base de données admin. L'utilisateur administrateur peut gérer les utilisateurs ordinaires.
Tout d'abord, démarrez le service mongoDB avec 非授权模式.

mongod --port 27017 --dbpath /data/db
Copier après la connexion

Entrez ensuite dans la base de données admin et exécutez la commande suivante :

use admin
db.createUser(
  {
    user: "larry",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Copier après la connexion

Lorsqu'il vous demande Utilisateur ajouté avec succès, cela prouve que l'utilisateur administrateur a été ajouté avec succès.

Utilisateur normal

Lorsque l'utilisateur administrateur est créé avec succès, nous pouvons utiliser cet utilisateur administrateur pour créer un utilisateur normal pour chaque base de données.
Tout d’abord, fermez toutes les fenêtres du shell mongo ci-dessus.
Utilisez ensuite 授权模式 pour démarrer le service mongoDB.

mongod --auth --port 27017 --dbpath /data/db
Copier après la connexion
Copier après la connexion

Ouvrez le client mongo.exe, entrez dans la base de données admin et connectez-vous avec db.auth().

Introduction aux utilisateurs et aux autorisations dans mongoDB

Le premier paramètre est le nom d'utilisateur administrateur Larry créé ci-dessus, et le deuxième paramètre est le mot de passe de l'utilisateur administrateur Larry.
Le résultat renvoie 1, indiquant que l'administrateur Larry s'est connecté avec succès.
Ensuite, utilisez cet administrateur pour créer un moddx utilisateur normal pour la base de données photo_app et spécifiez ses autorisations en tant que readWrite.

use photo_app
db.createUser(
{
  user: "moddx",
  pwd: "123456",
  roles: [{ role: "readWrite", db: "photo_app"}]
}
)
Copier après la connexion

Afficher les utilisateurs

Tous les comptes globaux

Tout d'abord, connectez-vous à la base de données d'administration en tant que 管理员账户, puis exécutez la commande suivante :

db.system.users.find().pretty()
Copier après la connexion

Introduction aux utilisateurs et aux autorisations dans mongoDB

Comptes sous la bibliothèque actuelle

Afficher tous les comptes globaux, seuls les administrateurs peuvent les consulter et afficher les comptes dans la bibliothèque actuelle, utilisateurs ordinaires Les utilisateurs et les administrateurs peuvent le voir. La commande pour afficher le compte sous la bibliothèque actuelle est la suivante :

show users
Copier après la connexion

Introduction aux utilisateurs et aux autorisations dans mongoDB

Supprimer l'utilisateur.

Obligatoire Un compte administrateur avec les droits dropUser peut supprimer un utilisateur, vous devez donc vous connecter avec un compte administrateur pour effectuer l'opération.
La commande pour supprimer l'utilisateur ordinaire moddx est la suivante :

db.dropUser("moddx", {w: "majority", wtimeout: 5000})
Copier après la connexion

Révoquer les autorisations

Pour révoquer les autorisations d'un utilisateur, la commande est la suivante :

db.revokeRolesFromUser(
    "moddx",
    [
      { role: "readWrite", db: "photo_app" }
    ]
)
Copier après la connexion

Remarque : la commande ci-dessus Bien que les autorisations de lecture et d'écriture de l'utilisateur moddx dans la base de données photo_app aient été révoquées, l'utilisateur n'a pas été supprimé et peut toujours se connecter.

Accorder des autorisations

La commande suivante donne à l'utilisateur moddx des autorisations de lecture et d'écriture dans photo_app, et en même temps, lui donne des autorisations de lecture dans la base de données demodb

use photo_app
db.grantRolesToUser(
   "moddx",
   [ "readWrite" , { role: "read", db: "demodb" } ],
   { w: "majority" , wtimeout: 4000 }
)
Copier après la connexion

Modification du mot de passe

La commande suivante modifie le mot de passe de l'utilisateur moddx dans photo_app :

use photo_app
db.changeUserPassword("moddx", "newpwd")
Copier après la connexion

Résumé

Concernant les utilisateurs et les autorisations, ce sont les commandes d'opération shell couramment utilisées . J'espère qu'il pourra être utilisé pour Vous utilisez mongoDB pour plus de commodité.

Recommandations associées :

[MongoDB] mongodb et php php mongodb mise à jour de la connexion php mongodb php mongodb non autorisé

MongoDB Journey (2) Opérations de base (MongoDB Javascript Shell)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal