Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| serveurs:installation:db-srv:postgresql-ssh-tunnel [2021/10/13 10:42] – [Configuration de l'accès avec DBeaver] jpmilcent | serveurs:installation:db-srv:postgresql-ssh-tunnel [2026/09/16 16:28] (Version actuelle) – [Création d'un utilisateur "dbreader" sans "home"] jpmilcent | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| ===== Création d'un utilisateur " | ===== Création d'un utilisateur " | ||
| L' | L' | ||
| - | * Création de l' | + | * Création de l' |
| - | * Créer un utilisateur sans possibilité de se loguer à un shell '' | + | * Créer un utilisateur sans possibilité de se loguer à un shell '' |
| - | * Ajouter un mot de passe à l' | + | * Ajouter un mot de passe à l' |
| - | * Modifier le fichier de config du serveur SSH pour permettre un accès par mot de passe uniquement pour cet utilisateur : '' | + | * Modifier le fichier de config du serveur SSH pour permettre un accès par mot de passe uniquement pour cet utilisateur : '' |
| * Ajouter à la fin du fichier les lignes suivantes (**il est important que ces lignes soient bien complètement à la fin du fichier**) : <code properties> | * Ajouter à la fin du fichier les lignes suivantes (**il est important que ces lignes soient bien complètement à la fin du fichier**) : <code properties> | ||
| Match User dbreader | Match User dbreader | ||
| Ligne 20: | Ligne 20: | ||
| AuthorizedKeysFile | AuthorizedKeysFile | ||
| </ | </ | ||
| - | * Vous pouvez copier/ | + | * Vous pouvez copier/ |
| - | * Il est nécessaire de définir les droits sur le fichier /// | + | * Il est nécessaire de définir les droits sur le fichier /// |
| * Notez qu'il est aussi possible de combiner les deux possibilités (par mot de passe et clé SSH) ainsi : <code properties> | * Notez qu'il est aussi possible de combiner les deux possibilités (par mot de passe et clé SSH) ainsi : <code properties> | ||
| Match User dbreader | Match User dbreader | ||
| Ligne 28: | Ligne 28: | ||
| Banner none | Banner none | ||
| </ | </ | ||
| - | * Pour éviter l' | + | * Pour éviter l' |
| - | * Redémarrer le serveur //Sshd// : '' | + | * Redémarrer le serveur //Sshd// : '' |
| - | * Tester la connexion au serveur : '' | + | * Tester la connexion au serveur : '' |
| * Cela devrait afficher : < | * Cela devrait afficher : < | ||
| Could not chdir to home directory / | Could not chdir to home directory / | ||
| Ligne 36: | Ligne 36: | ||
| Connection to db-paca-sinp closed. | Connection to db-paca-sinp closed. | ||
| </ | </ | ||
| + | * Pour supprimer l' | ||
| + | * Descendez jusqu' | ||
| + | * Ajoutez la ligne : '' | ||
| + | * Le bloc devrait ressembler exactement à ça :< | ||
| + | session [success=2 default=ignore] pam_succeed_if.so user = dbreader | ||
| + | session | ||
| + | session | ||
| + | </ | ||
| + | * Si vous n'avez qu'une seule ligne '' | ||
| + | * Après l' | ||
| ===== Création d'un utilisateur en lecture seule pour Postgresql ===== | ===== Création d'un utilisateur en lecture seule pour Postgresql ===== | ||
| Ligne 42: | Ligne 52: | ||
| * Se connecter à la base avec un compte superadmin : '' | * Se connecter à la base avec un compte superadmin : '' | ||
| - | * Exécuter les requêtes suivantes :<code sql> | + | * Pour attribuer les droits de lecture seule à un utilisateur, |
| -- Créer l' | -- Créer l' | ||
| CREATE USER gnreader WITH ENCRYPTED PASSWORD '< | CREATE USER gnreader WITH ENCRYPTED PASSWORD '< | ||
| Ligne 49: | Ligne 59: | ||
| GRANT CONNECT ON DATABASE geonature2db TO gnreader ; | GRANT CONNECT ON DATABASE geonature2db TO gnreader ; | ||
| GRANT CONNECT ON DATABASE gnatlas TO gnreader ; | GRANT CONNECT ON DATABASE gnatlas TO gnreader ; | ||
| + | |||
| + | -- Associer l' | ||
| + | GRANT pg_read_all_data TO gnreader; | ||
| </ | </ | ||
| + | * Pour révoquer les droits d' | ||
| - | === Base " | + | === 🗑️ |
| * Se connecter à la base "// | * Se connecter à la base "// | ||
| * Exécuter les requêtes suivantes :<code sql> | * Exécuter les requêtes suivantes :<code sql> | ||
| Ligne 80: | Ligne 94: | ||
| -- Ajouter l' | -- Ajouter l' | ||
| -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON TABLES TO gnreader ; | GRANT SELECT ON TABLES TO gnreader ; | ||
| Ligne 86: | Ligne 100: | ||
| -- Ajouter l' | -- Ajouter l' | ||
| -- Réutiliser la requête précédente et remplacer la dernière ligne : | -- Réutiliser la requête précédente et remplacer la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON SEQUENCES TO gnreader ; | GRANT SELECT ON SEQUENCES TO gnreader ; | ||
| </ | </ | ||
| - | === Base " | + | === 🗑️ |
| * Se connecter à la base avec un compte superadmin : '' | * Se connecter à la base avec un compte superadmin : '' | ||
| * Exécuter les requêtes suivantes :<code sql> | * Exécuter les requêtes suivantes :<code sql> | ||
| Ligne 120: | Ligne 134: | ||
| -- Ajouter l' | -- Ajouter l' | ||
| -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON TABLES TO gnreader ; | GRANT SELECT ON TABLES TO gnreader ; | ||
| Ligne 126: | Ligne 140: | ||
| -- Ajouter l' | -- Ajouter l' | ||
| -- Réutiliser la requête précédente et remplacer la dernière ligne : | -- Réutiliser la requête précédente et remplacer la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON SEQUENCES TO gnreader ; | GRANT SELECT ON SEQUENCES TO gnreader ; | ||
| Ligne 137: | Ligne 151: | ||
| CREATE USER MAPPING FOR gnreader SERVER geonaturedbserver OPTIONS (user ' | CREATE USER MAPPING FOR gnreader SERVER geonaturedbserver OPTIONS (user ' | ||
| </ | </ | ||
| + | |||
| + | === Ajout d'un espace permetant la création de table/VM pour gnreader === | ||
| + | |||
| + | // | ||
| + | Cela permettra la création de table ou VM pour des requêtes d' | ||
| + | |||
| + | <code sql> | ||
| + | -- Création du schéma " | ||
| + | CREATE SCHEMA playground AUTHORIZATION geonatadmin; | ||
| + | |||
| + | -- Ajout des droits d' | ||
| + | GRANT USAGE, CREATE ON SCHEMA playground TO gnreader; | ||
| + | </ | ||
| + | |||
| + | |||
| ==== Modification des autorisations d' | ==== Modification des autorisations d' | ||
| Ligne 142: | Ligne 171: | ||
| * Ajouter le contenu suivant : <code properties> | * Ajouter le contenu suivant : <code properties> | ||
| # GeoNature : access by gnreader (read only) | # GeoNature : access by gnreader (read only) | ||
| - | host geonature2db | + | host geonature2db |
| - | host gnatlas | + | host gnatlas |
| </ | </ | ||
| * Recharger la configuration // | * Recharger la configuration // | ||