Forum Linux.debian/ubuntu MariaDB/MySQL restreindre au stricte minimum les commandes SQL d'un utilisateur donné

Posté par  . Licence CC By‑SA.
Étiquettes :
1
24
août
2019

Hello la compagnie.

Est-ce possible de n'autoriser un client SQL à n’exécuter qu'une seule commande (par exemple "help") sur un serveur MariaDB ?

Le but serait que user_toto ne puisse faire uniquement que la commande suivante :

mysql -u user_toto -h 10.8.42.42 -P 3306 -e "help"

et empêcher par exemple des :

mysql -u user_toto -h 10.8.42.42 -P 3306 -e "system ps -aux"

ou tout autre commande que "help".

Thanks d'avance pour toute info :)

  • # Est-ce un problème de la base de données?

    Posté par  (site web personnel) . Évalué à 2.

    Un expédient facile consiste à créer un script shell privilégié qui exécute la seule commande autorisée pour l'utilisateur puis à permettre à l'utilisateur d'utiliser ce script (par exemple via sudo) tout en lui interdisant de lire les codes d'accès à la BDD.

    Il faut un peu de soin et quelques groupes/utilisateurs intermédiaires si tu ne veux pas que tout tourne en root mais toute l'implémentation ne présente pas de difficulté particulière.

    Voici une excellente introduction à sudo:

    https://www.bsdcan.org/2014/schedule/attachments/283_2014-04-29%20sudo%20tutorial%20-%20bsdcan%202014.pdf

    • [^] # Re: Est-ce un problème de la base de données?

      Posté par  . Évalué à 1. Dernière modification le 24 août 2019 à 16:57.

      Ha, c'est moi qui ai fait une erreur de compréhension.

      La commande affiche bien l'aide venant d'une réponse serveur

      mysql -u user_toto -h 10.8.42.42 -P 3306 -e "help"
      

      Mais la commande suivante exécute du bash sur le client (pas sur le serveur)

      mysql --connect-timeout=2 -u user_toto -h 10.8.42.42 -P 3306 -e "system echo $USER"
      

      Strange comportment !

      Merci pour l'infos, ça va être utile pour la suite :)

      Par défaut, pour des utilisateurs de type Health Check (genre HaProxy), il y a des restrictions à ajouter (autre que parefeu) ? :) Les tutos se limitent à créer un user sans lui accorder de BDD, hors un help affiche beaucoup de commandes pour l'user.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.