GNU/Linux >> Znalost Linux >  >> Linux

Jaký je uživatel debian-sys-maint MySQL (a další)?

Řešení 1:

K čemu se používá debian-sys-maint?

Jedna hlavní věc, pro kterou se používá, je sdělování serveru, aby protokoly roloval. Potřebuje alespoň oprávnění k opětovnému načtení a vypnutí.

Viz soubor /etc/logrotate.d/mysql-server

Používá jej /etc/init.d/mysql skript pro získání stavu serveru. Používá se k řádnému vypnutí/znovu načtení serveru.

Zde je citace z 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.

Jaký je nejjednodušší způsob, jak jej obnovit poté, co jsem jej ztratil?

Nejlepší plán je prostě to neztratit. Pokud opravdu ztratíte heslo, resetujte ho pomocí jiného účtu. Pokud jste ztratili všechna oprávnění správce na serveru mysql, postupujte podle pokynů pro resetování hesla uživatele root a poté opravte debian-sys-maint .

Tento příkaz můžete použít k vytvoření souboru SQL, který můžete později použít k opětovnému vytvoření účtu.

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

Je heslo v /etc/mysql/debian.cnf již zahašováno

Heslo není při instalaci zahašováno/zašifrováno, ale nové verze mysql nyní mají způsob, jak zašifrovat přihlašovací údaje (viz:https://serverfault.com/a/750363).

Řešení 2:

Soubor debian-sys-maint uživatel je ve výchozím nastavení kořenový ekvivalent . Používají ho určité skripty údržby na systémech Debian a jako vedlejší efekt umožňuje uživatelům s přístupem root na krabici zobrazit heslo ve formátu prostého textu v /etc/mysql/debian.cnf (dobré nebo špatné?)

Uživatele můžete znovu vytvořit:

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

Jen se ujistěte, že se heslo shoduje to v /etc/mysql/debian.cnf

Řešení 3:

Můžete také:

sudo dpkg-reconfigure mysql-server-5.0

Což vám dá možnost znovu vytvořit uživatele debian-sys-maint. Stávající uživatelé a databáze jsou v bezpečí.

Řešení 4:

Chtěl jsem jen komentovat, ale myslím, že správná syntaxe si zaslouží svůj vlastní vstup. Tím vytvoříte debian-sys-maint uživatel:

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

Pokud stále máte soubor /etc/mysql/debian.cnf, použijte tam heslo.

Klidně vymyslete paranoidnější bezpečné řešení.

Řešení 5:

Pokud potřebujete přidat debian-sys-maint uživatel jen pro logrotate.d pro účely, neměli byste udělení ALL PRIVILEGES nebo GRANT OPTION -- to je zbytečná obří bezpečnostní díra. Místo toho můžete přidat uživatele pomocí RELOAD privilegium, jako je toto (za předpokladu, že ke své db přistupujete jako root a xxxxxx nahradíte svým heslem)

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

Aktualizace pro rok 2019

Tato odpověď může být zastaralá – podívejte se prosím níže na komentáře se silnými názory.


Linux
  1. Jaký je účel uživatele „mysql.sys@localhost“.

  2. Jaký je účel „uživatele systému“ v replikaci MySQL

  3. Jak změnit heslo root mysql

  1. Jaké je výchozí heslo obrazovky?

  2. Jaký je rozdíl mezi ls a l?

  3. Jaký je rozdíl mezi „passwd“ a „chpasswd“?

  1. Jaké je výchozí uživatelské jméno a heslo pro Ubuntu Live CD?

  2. Jaký je rozdíl mezi unlink a rm?

  3. Jaký je rozdíl mezi trasou a ip trasou?