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 Michaël (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 voxdemonix . É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
Mais la commande suivante exécute du bash sur le client (pas sur le serveur)
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.