IMPOSTA PASSWORD

postato in: Articles | 0

Sintassi

SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }

Descrizione

L’istruzioneSET PASSWORD assegna una password a un account utente MariaDB esistente.

Se la password viene specificata utilizzando la funzione PASSWORD() o OLD_PASSWORD(), è necessario fornire il testo letterale della password. Se thepassword è specificato senza utilizzare nessuna delle due funzioni, la passwordshould essere il valore della password già crittografato come restituito da PASSWORD().,

OLD_PASSWORD() dovrebbe essere usato solo se i tuoi client MariaDB/MySQL sono molto vecchi (< 4.0.0).

SenzaFOR clausola, questa istruzione imposta la password per il currentuser. Qualsiasi client che si è connesso al server utilizzando un account non anonimo può modificare la password per tale account.

Con una clausolaFOR, questa istruzione imposta la password per un account specifico sull’host del server corrente., Solo i client che hanno il privilegioUPDATEper il databasemysql possono farlo. Il valore utente deve essere generato nel formato user_name@host_name, dove user_name e host_name sono esattamente come sono elencati nelle colonne Utente e host delmysql.user voce tabella.

L’argomento diPASSWORD() e la password data ai client MariaDB possono essere di lunghezza arbitraria.

Supporto del plugin di autenticazione

MariaDB che inizia con 10.,4

In MariaDB 10.4 e versioni successive,SET PASSWORD (con o senzaPASSWORD()) funziona per gli account autenticati tramite qualsiasi plugin di autenticazione che supporta le password memorizzate nella tabellamysql.global_priv.

I plugin di autenticazioneed25519,mysql_native_password emysql_old_password memorizzano le password nella tabellamysql.global_priv.,

Se si esegueSET PASSWORD su un account che si autentica con uno di questi plugin di autenticazione che memorizza le password nella tabellamysql.global_priv, la funzionePASSWORD() viene valutata dallo specifico plugin di autenticazione utilizzato dall’account. Il plugin di autenticazione hash la password con un metodo compatibile con quel plugin di autenticazione specifico.,

I plugin di autenticazione unix_socket, named_pipe, gssapi e pam non memorizzano le password nel mysql.global_priv tabella. Questi plugin di autenticazione si basano su altri metodi per autenticare l’utente.,

Se si tenta di eseguire SET PASSWORD su un account che esegue l’autenticazione con uno di questi plug-in di autenticazione che non memorizzare la password nel mysql.global_priv tabella, quindi MariaDB Server genererà un avviso simile al seguente:

SET PASSWORD is ignored for users authenticating via unix_socket plugin

Vedi l’Autenticazione da MariaDB 10.4 per una panoramica di modifica di autenticazione in MariaDB 10.4.

MariaDB fino al 10.3

In MariaDB 10.,3 e prima, SET PASSWORD (con o senza PASSWORD()) funziona solo per gli account autenticato tramite mysql_native_password o mysql_old_password plug-in di autenticazione

senza password di Account Utente

account Utente non sempre richiedono la password per il login.

I plugin di autenticazioneunix_socket,named_pipe egssapi non richiedono una password per autenticare l’utente.,

Il plugin di autenticazione pam può richiedere o meno una password per autenticare l’utente, a seconda della configurazione specifica.

I plugin di autenticazione mysql_native_password e mysql_old_password richiedono password per l’autenticazione, ma la password può essere vuota. In tal caso, non è richiesta alcuna password.

Se si fornisce una password durante il tentativo di accedere al server come account che non richiede una password, il server MariaDB ignorerà semplicemente la password.

MariaDB che inizia con 10.,4

In MariaDB 10.4 e versioni successive, è possibile definire un account utente per utilizzare più plugin di autenticazione in uno specifico ordine di preferenza. Questo scenario specifico potrebbe essere più evidente in queste versioni, poiché un account potrebbe essere associato ad alcuni plugin di autenticazione che richiedono una password e altri no.

Esempio

Ad esempio, se hai una voce con i valori delle colonne Utente e HOST di ‘ bob‘ e ‘ %.loc.,gov‘, si scrive thestatement come questo:

SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');

Se si desidera eliminare una password per un utente, si potrebbe fare:

SET PASSWORD FOR 'bob'@localhost = PASSWORD("");

Vedi Anche

  • Convalida della Password Plugin – permette l’impostazione di criteri di base per la password
  • ALTER USER

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *