account utente mysqladmin non è sicuro?
-
22-10-2019 - |
Domanda
ho ancora giocare con il mio DB cercando di imparare e ho visto questo:
-
ho potuto cambiare la password di root senza alcun problema a tutti ... Se io sono nel server posso creare un algoritmo per iniziare a testare la password e e un giorno troverò, voglio dire:
Web-Services-iMac-2:~ jbolivar$ mysqladmin -utest1 -p**SOME_THING_HERE** password test1
. -
è ok per cambiare la password utilizzando questo ???:
tabella di aggiornamento password impostata mysql.user = PASSWORD ( 'test') dove utente = 'test1';
accanto che se creo una tabella dizionario (una tabella con tutte le parole possibili) e applicare PASSWORD ( "parola") Posso fare un join e trovare il valore di qualsiasi passo, giusto ?. Mi puoi dare la tua opinione circa la mia analisi?
Soluzione
Prima di continuare a giocare con mysqladmin, è necessario assicurarsi che l'installazione non è intenzionalmente in palio l'accesso.
Per cominciare, si può accedere a MySQL come questo?
# mysql <hit enter>
Se si può ottenere così, eseguire questo comando:
SELECT USER(),CURRENT_USER();
- UTENTE () rapporti how si è tentato di autenticare in MySQL
- CURRENT_USER () rapporti come si era permesso di autenticazione in MySQL
Se CURRENT_USER () restituiscono un utente e host su cui l'utente è vuota, poi si era permesso come utente anonimo. A quel punto, è possibile rimuovere anonymou utenti con questo:
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;
Ora, trovare tutti gli utenti con nessuna password con questo:
SELECT user,host,password FROM mysql.user;
Se tutti gli utenti non hanno alcuna password, è possibile emettere nuove password per utente che utilizza mysqladmin o si può solo assegnare loro come segue:
UPDATE mysql.user SET password=PASSWORD('whateverpassword') WHERE user='...' AND host='...';
FLUSH PRIVILEGES;
Ora, verificare la presenza di utenti remoti
SELECT user,host FROM mysql.user WHERE host='%';
Se si vede alcuna, eseguire questo:
DELETE FROM mysql.user WHERE host='%';
FLUSH PRIVILEGES;
Assicurarsi che quando tutto è detto e fatto che almeno root @ localhost e / o esistono root@127.0.0.1 e avere una password
SELECT user,host,password FROM mysql.user WHERE user='root';
I probabilmente potrebbe andare avanti. Qui ci sono altri posti che ho di cose come questa: