Découvrir PostgreSQL

Attribuer des mots de passe et créer des utilisateurs

Testez gratuitement nos 1247 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez donner un mot de passe au rôle PostgreSQL. Vous allez également créer un rôle pour la connexion aux bases de données.
07:21

Transcription

Maintenant que j'ai configuré correctement l'authentification dans " PostgreSQL " et que je me suis assuré que lorsque je vais créer un mot de passe dans " PostgreSQL ", celui-ci sera chiffré, il sera contenu en md5, eh bien, il ne me reste plus qu'à créer un utilisateur. En fait, je vais faire deux choses. Je vais mettre un mot de passe à l'utilisateur postgres dans " PostgreSQL " et créer un utilisateur. Première chose, pour pouvoir rentrer à nouveau dans psql et faire de l'administration dans postgres, il faut que je refasse un " sudo " en prenant l'identité de " postgres ". Qu'on se comprenne bien, je prends l'identité de " postgres " ici, et je deviens le compte Linux, l'utilisateur Linux qui s'appelle " postgres ". Cet utilisateur Linux est bloqué, il est locké. Il n'a pas de mot de passe et on ne peut pas se connecter en tant que cet utilisateur sur Linux dans une session de terminale. Ici, ce que je fais, c'est que j'emprunte son identité, mais je ne me connecte pas en mettant par exemple le mot de passe de l'utilisateur Linux qui s'appelle postgres parce qu'il n'en a pas et il est verrouillé. Si je lui mettais un mot de passe à cet utilisateur, eh bien, je déverrouillerai le compte. Je ne veux pas faire ça parce que je ne veux pas ouvrir ce compte Linux à qui que ce soit. Par contre, ce que je veux faire, et pour ça, je vais aller dans psql, je vais configurer l'utilisateur qui s'appelle " postgres ", mais cette fois-ci, qui est défini dans " PostgreSQL ", c'est-à-dire que " PostgreSQL " a son mécanisme d'authentification et de sécurité qui est basé sur des utilisateurs qui sont gérés en interne. Et donc, il y a un mapping entre l'utilisateur " postgres " de Linux et l'utilisateur " postgres " à l'intérieur de " PostgreSQL ". Maintenant, ce que je veux faire, c'est créer un mot de passe, parce que là, dans mon installation " Ubuntu " par défaut, l'utilisateur dans " PostgreSQL " qui s'appelle " postgres " n'a pas de mot de passe. Je veux lui créer un mot de passe de façon à pouvoir me connecter en " postgres ", c'est-à-dire en super utilisateur, en root si vous voulez à l'intérieur de " PostgreSQL ", à partir d'une autre machine si besoin est. Ou à partir de cette machine, mais en indiquant clairement un mot de passe, en me connectant à partir de n'importe quel autre compte. Première chose, je vais utiliser la commande " du ", " u " pour utilisateur, pour voir quels sont les utilisateurs déjà définis dans le système dans " PostgreSQL ". Et vous voyez que " postgres " est " superuser ". Il y a bien un utilisateur qui s'appelle " postgres ", qui peut être appelé ici, comme vous le voyez aussi, en " role ". Et il est " superuser ", il a toutes les permissions. Pour l'instant, comme il n'a pas de mot de passe, je vais lui en créer un et je peux le faire de deux manières. Soit je peux faire un alteruser, donc une commande purement sql, soit je peux utiliser une commande purement " psql " qui s'appelle " \password ". J'ai utilisé ici la touche de tabulation d'ailleurs entre parenthèses pour aller plus vite et pour faire la complétion de la commande, ça marche aussi dans psql. Et donc, je vais dire, je vais mettre un mot de passe pour " postgres ", pour cet utilisateur " PostgreSQL ", là. On va me dire, bah met un nouveau mot de passe. Et là, bien entendu, comme c'est le " superuser ", vous allez mettre un mot de passe compliqué, cela va sans dire, même assez compliqué. Et voilà qui est fait. Maintenant, " postgres " a un mot de passe. Et je peux, si je le souhaite, créer un deuxième utilisateur qui va, non pas être " superuser ", mais un utilisateur qui n'a pas besoin d'avoir des permissions administratives, surtout " postgres ", mais qui va pouvoir atteindre ses propres bases de données. Éventuellement, je peux lui donner les permissions de créer sa base de données. Alors pour cela, je vais quitter " psql ". Je ne vais pas le faire dans " psql " mais je vais utiliser un autre exécutable. Alors, je vais vous montrer la page de documentation. Ici, vous avez, sur la page manuelle, une section " Référence " qui vous montre les commandes disponibles dans le langage SQL de " postgres ", des " applications clientes ", vous voyez qu'il y en a un certain nombre, et des " applications serveurs ". Donc, comme " postgres " est un peu ancien, il a suivi cette habitude d'avoir des petites dédiées pour faire deux ou trois choses. Et vous voyez notamment ici que vous avez une " application " qui s'appelle " createdb ", " createlang " pour avoir un langage de programmation supplémentaire. On en parlera. " createuser " Et justement, " createuser ", c'est une " application " séparée qui va me permettre, comme son nom l'indique, de créer un utilisateur dans " postgres ". Vous pouvez passer par là. Vous pouvez passer par une commande SQL qui est ici. Et si vous avez l'habitude d'autres moteurs de base de données SQL, eh bien, vous retrouverez à peu près le même type de syntaxe avec ici un " CREATE USER ". Donc, je vais utiliser la commande " createuser ", toujours en tant que " postgres " ici, pour créer un nouvel utilisateur. Donc, lorsque vous aurez besoin de faire ça, bah vous vous référez, bien entendu, à l'aide ici. Vous allez sur " createuser " et vous regardez aussi quelles sont les " options " disponibles. Vous avez une option - ou " -d ", on peut dire " -d ", qui donne à cet utilisateur les permissions de créer des bases de données, ou " -D " pour interdire la création de base de données. Comme c'est la valeur par défaut, ce n'est vraiment pas utile de le mettre. Vous pouvez dire qu'on chiffre le mot de passe et si ce n'est pas spécifié, le comportement par défaut sera utilisé. Donc, la commande elle-même, ça va être " createuser " et on met un utilisateur. Ce qu'on va faire ici, c'est utiliser l'option " interactive ", comme ça, " createuser " va nous poser des questions. Je vais prendre directement ceci, faire un " Ctrl+C ". Et puis, je vais reprendre ici directement la commande, comme ceci. Je vais nommer mon utilisateur " pacha ". Est-ce qu'il faut qu'il soit " superuser " ? Bon, je vais dire non. Est-ce qu'il doit pouvoir créer des bases de données ? Je vais dire oui. Est-ce qu'il peut créer d'autres roles, c'est-à-dire d'autres utilisateurs ? Je vais dire non. Ici, je n'ai pas encore mis de mot de passe. D'ailleurs, j'aurai pu utiliser une option qui s'appelle " -P " et qui m'aurait demandé directement de saisir le mot de passe. Mais, je peux faire " psql " ; ensuite, faire " password " pour " pacha " et entrer le mot de passe, après coup. Voilà qui est fait. Je quitte et j'ai maintenant mon " superuser postgres " avec un mot de passe, et un utilisateur " pacha " qui peut créer des bases de données.

Découvrir PostgreSQL

Comprenez le fonctionnement de PostgreSQL ainsi que son architecture. Effectuez les tâches courantes de sécurité, de création de bases de données et d'objets, etc.

2h46 (30 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
PostgreSQL PostgreSQL 9
Spécial abonnés
Date de parution :31 mars 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !