GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que l'utilisateur MySQL debian-sys-maint (et plus) ?

Solution 1 :

À quoi sert debian-sys-maint ?

Une chose importante pour laquelle il est utilisé est de dire au serveur de rouler les journaux. Il a besoin au moins du privilège de rechargement et d'arrêt.

Voir le fichier /etc/logrotate.d/mysql-server

Il est utilisé par le /etc/init.d/mysql script pour obtenir l'état du serveur. Il est utilisé pour arrêter/recharger gracieusement le serveur.

Voici la citation du README.Debian

* MYSQL WON'T START OR STOP?:
=============================
You may never ever delete the special mysql user "debian-sys-maint". This user
together with the credentials in /etc/mysql/debian.cnf are used by the init
scripts to stop the server as they would require knowledge of the mysql root
users password else.

Quel est le moyen le plus simple de le restaurer après l'avoir perdu ?

Le meilleur plan est simplement de ne pas le perdre. Si vous perdez vraiment le mot de passe, réinitialisez-le en utilisant un autre compte. Si vous avez perdu tous les privilèges d'administrateur sur le serveur mysql, suivez les guides pour réinitialiser le mot de passe root, puis réparez le debian-sys-maint .

Vous pouvez utiliser une commande comme celle-ci pour créer un fichier SQL que vous pourrez utiliser ultérieurement pour recréer le compte.

mysqldump --complete-insert --extended-insert=0 -u root -p mysql | grep 'debian-sys-maint' > debian_user.sql

Le mot de passe dans /etc/mysql/debian.cnf est-il déjà haché

Le mot de passe n'est pas haché/crypté lors de l'installation, mais les nouvelles versions de mysql ont désormais un moyen de crypter les informations d'identification (voir :https://serverfault.com/a/750363).

Solution 2 :

Le debian-sys-maint l'utilisateur est par défaut un équivalent root . Il est utilisé par certains scripts de maintenance sur les systèmes Debian et, comme effet secondaire, permet aux utilisateurs disposant d'un accès root sur la boîte d'afficher le mot de passe en clair dans /etc/mysql/debian.cnf (bon ou mauvais ?)

Vous pouvez recréer l'utilisateur en :

GRANT ALL PRIVILEGES on *.* TO `debian-sys-maint`@`localhost` IDENTIFIED BY 'your password' WITH GRANT OPTION;

Assurez-vous simplement que le mot de passe correspond cela dans /etc/mysql/debian.cnf

Solution 3 :

Vous pouvez également :

sudo dpkg-reconfigure mysql-server-5.0

Ce qui vous donnera la possibilité de recréer l'utilisateur debian-sys-maint. Les utilisateurs et les bases de données existants sont en sécurité.

Solution 4 :

Je voulais juste commenter, mais je pense que la syntaxe correcte mérite sa propre entrée. Cela créera le debian-sys-maint utilisateur :

mysql> GRANT ALL PRIVILEGES on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'plaintextpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;

Si vous avez toujours le fichier /etc/mysql/debian.cnf, utilisez simplement le mot de passe qu'il contient.

N'hésitez pas à proposer une version plus paranoïaque solution sécurisée.

Solution 5 :

Si vous devez ajouter le debian-sys-maint utilisateur juste pour logrotate.d fins, vous ne devez pas accorder ALL PRIVILEGES ou le GRANT OPTION -- c'est un trou de sécurité géant inutile. Au lieu de cela, vous pouvez simplement ajouter l'utilisateur avec le RELOAD privilège comme celui-ci (en supposant que vous accédez à votre base de données en tant que root , et vous remplacez xxxxxx par votre mot de passe)

# add the user with the reload right
GRANT RELOAD on *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'xxxxxx'; 

# reload the rights
FLUSH PRIVILEGES;

# double check
select * from mysql.user;

Mise à jour 2019

Cette réponse n'est peut-être pas à jour -- veuillez consulter les commentaires fortement avisés ci-dessous.


Linux
  1. Quelle est la différence entre InnoDB et MyISAM ?

  2. Le point d'Uniq -u et à quoi ça sert ??

  3. Comment changer le mot de passe root mysql

  4. Quel est le mot de passe par défaut de screen ?

  5. Quelle est la différence entre ls et l ?

Quelle est la différence entre Linux et Unix ?

Les 20 meilleurs guides et tutoriels d'administration système

Comment ajouter une base de données MySQL et un utilisateur de base de données MySQL sur Plesk ?

Useradd vs Adduser :quelle est la différence ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?