GNU/Linux >> Linux Esercitazione >  >> Linux

Cos'è l'utente MySQL debian-sys-maint (e altro)?

Soluzione 1:

A cosa serve debian-sys-maint?

Una delle cose principali per cui viene utilizzato è dire al server di eseguire il roll dei log. Richiede almeno il privilegio di ricarica e spegnimento.

Guarda il file /etc/logrotate.d/mysql-server

È usato dal /etc/init.d/mysql script per ottenere lo stato del server. Viene utilizzato per arrestare/ricaricare con garbo il server.

Ecco la citazione dal 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.

Qual è il modo più semplice per ripristinarlo dopo averlo perso?

Il miglior piano è semplicemente non perderlo. Se perdi davvero la password, reimpostala, utilizzando un altro account. Se hai perso tutti i privilegi di amministratore sul server mysql segui le guide per reimpostare la password di root, quindi ripara il debian-sys-maint .

Potresti usare un comando come questo per creare un file SQL che puoi usare in seguito per ricreare l'account.

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

La password in/etc/mysql/debian.cnf è già sottoposta ad hashing

La password non è sottoposta ad hashing/crittografata quando viene installata, ma le nuove versioni di mysql ora dispongono di un modo per crittografare le credenziali (vedi:https://serverfault.com/a/750363).

Soluzione 2:

Il debian-sys-maint user è per impostazione predefinita un equivalente root . Viene utilizzato da alcuni script di manutenzione sui sistemi Debian e, come effetto collaterale, consente agli utenti con accesso root sulla scatola di visualizzare la password in chiaro in /etc/mysql/debian.cnf (buona o cattiva?)

Puoi ricreare l'utente tramite:

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

Assicurati solo che la password corrisponda quello in /etc/mysql/debian.cnf

Soluzione 3:

Potresti anche:

sudo dpkg-reconfigure mysql-server-5.0

Che ti darà la possibilità di ricreare l'utente debian-sys-maint. Gli utenti e i database esistenti sono al sicuro.

Soluzione 4:

Volevo solo commentare, ma penso che la sintassi sia corretta merita il suo ingresso. Questo creerà il file debian-sys-maint utente:

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

Se hai ancora il file /etc/mysql/debian.cnf, usa semplicemente la password lì dentro.

Sentiti libero di pensare a qualcosa di più paranoico soluzione sicura.

Soluzione 5:

Se devi aggiungere il debian-sys-maint utente solo per logrotate.d scopi, non concedere ALL PRIVILEGES o il GRANT OPTION - questo è un enorme buco di sicurezza non necessario. Invece, puoi semplicemente aggiungere l'utente con RELOAD privilegi come questo (supponendo che tu stia accedendo al tuo db come root e sostituisci xxxxxx con la tua password)

# 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;

Aggiornamento 2019

Questa risposta potrebbe non essere aggiornata:consulta i commenti fortemente supponenti di seguito.


Linux
  1. Qual è lo scopo dell'utente "mysql.sys@localhost".

  2. Qual è lo scopo di "utente di sistema" in MySQL Replication

  3. Come cambiare la password di root mysql

  4. Qual è la differenza tra ls e l?

  5. Qual è il nome utente e la password predefiniti per un Live CD di Ubuntu?

Qual è la differenza tra Linux e Unix?

Come aggiungere il database MySQL e l'utente del database MySQL su Plesk?

Useradd vs Adduser:qual è la differenza?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?

Qual è la differenza tra route e ip route?