Phpmyadmin multi utente

phpMyAdmin è un tool open source scritto in PHP allo scopo di amministrare le installazioni MySQL attraverso Internet.
Attualmente è in grado di creare e cancellare database, creare/cancellare/modificare tabelle creare/cancellare/modificare campi, eseguire qualsiasi comando SQL e gestire chiavi nei campi.
Rispondi
wifi
Messaggi: 66
Iscritto il: 08 apr 2010, 21:29

Phpmyadmin multi utente

Messaggio da wifi »

Ciao Ragazzi ma come posso fare per dare a piu utenti di poter accedere al pannello phpmyadim senza essere root?

cioe io gli creo un database e loro posso solo accedere solamente al loro database e poter fare tutte le operazioni: edit delete ecc ecc.

si puo fare?

se si in che modo?
Avatar utente
Arianna
Messaggi: 246
Iscritto il: 11 lug 2010, 14:52

Re: Phpmyadmin multi utente

Messaggio da Arianna »

Vado a memoria e intuito perchè non ho phpmyadmin qui davanti nè ho mai avuto necessità di fare altri utenti.

Quando entri in phpmyadmin, senza selezionare nessun DB, dovresti vedere la voce Privilegi.
Clicca li e all'interno della nuova pagina dovresti trovare "crea nuovo utente"
Mess with the best
die like the rest

FreePlayClub.org
wifi
Messaggi: 66
Iscritto il: 08 apr 2010, 21:29

Re: Phpmyadmin multi utente

Messaggio da wifi »

troppo facile... quell'utente creato li ha solo la possibilità di gestire un db.
Avatar utente
Arianna
Messaggi: 246
Iscritto il: 11 lug 2010, 14:52

Re: Phpmyadmin multi utente

Messaggio da Arianna »

allora c'è un altro metodo.. un po' più noioso...

Magari quando e se trovo sto tempo che non ho mai, sviluppo un'utility in php per farlo in maniera automatica compilando semplicemente un form a video e poi lo pubblico qui per chi dovesse volerlo

Comunque al momento allora, anzichè cercare un comando apposito su phpmyadmin, che a quanto pare allora non c'è, ti do i comandi sql.
Puoi eseguirli da console accendendo con

Codice: Seleziona tutto

mysql -uroot -p
e poi ti chiede la password
oppure da phpmyadmin inserendo il codice da "SQL"

Codice: Seleziona tutto

GRANT ALL PRIVILEGES ON <nome_db>.* TO ‘<nome_utente>’@'localhost’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
ovviamente sostitusci le parti tra i segni di minore e maggiore con il nome del db (se non esiste già crealo prima), nome utente e pass utente.

Questo comando da a quell'utente i privilegi assoluti sul db specificato da LOCALHOST.

Se l'utente deve accedere con quelle credenziali da remoto allora va sostituito localhost con il simbolo %, quindi:

Codice: Seleziona tutto

GRANT ALL PRIVILEGES ON <nome_db>.* TO ‘<nome_utente>’@'%’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
Se invece vuoi creare un utente che abbia i privilegi su TUTTI i DB allora al posto del nome del db, metti *
(ovviamente anche qui specificando localhost oppure % a seconda che possa accedere solo in locale o anche da remoto)

Codice: Seleziona tutto

GRANT ALL PRIVILEGES ON *.* TO ‘<nome_utente>’@'localhost’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
Con questi comandi dai TUTTI i privilegi a quell'utente sul db, se invece vuoi dargli solo determinati privilegi, anzichè ALL PRIVILEGES, dovrai specificarli in elenco, e sarebbero:
ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, PROCESS, RELOAD, SELECT, SHOW DATABASES, UPDATE, GRANT OPTION

per esempio:

Codice: Seleziona tutto

GRANT SELECT, INSERT, UPDATE ON test.* TO <nome_utente>@localhost

Ovviamente il tutto vale anche per la rimozione dei permessi, ma con il comando REVOKE, sia per determinate azioni che per tutto, per esempio, nell'ordine:

Codice: Seleziona tutto

REVOKE INSERT, UPDATE ON test.* FROM <nome_utente>@localhost 

Codice: Seleziona tutto

REVOKE ALL ON platform.* FROM <nome_utente>@localhost; 

Per essere specifici, potresti dare i permessi ad un utente anche solo su determinate tabelle di un db e non su tutto il db (idem per revocare i permessi).
In questo caso la sintassi dopo l'ON prevede il nomeDB.nomeTabella.

Insomma:
per i permessi su TUTTI i db: *.*
per i permessi su un db: <nome_db>.*
su una tabella: <nome_db>. <nome_tabella>


Se non sono stata chiara fammi sapere e provo a spiegarmi meglio!
Mess with the best
die like the rest

FreePlayClub.org
KID1412
Messaggi: 21
Iscritto il: 10 lug 2010, 15:53

Re: Phpmyadmin multi utente

Messaggio da KID1412 »

Scusate se mi intrometto ma vorrei chiedere una cosa che non capisco: Arianna, quando dici di inserire testo da console, avendo a che fare con un NAS intendi dire dopo aver stabilito una connessione ssh da un normale pc collegato in rete?
Perchè in questo modo a me non riconosce nemmeno i comandi mysql : Sad :
Avatar utente
Arianna
Messaggi: 246
Iscritto il: 11 lug 2010, 14:52

Re: Phpmyadmin multi utente

Messaggio da Arianna »

scusa il ritardo... è un po' che non vengo da queste parti

intendo proprio quello.
Sa SSH con il comando mysql -uroot -p
una volta inserita la password sei loggato come utente su mysql e poi eseguire il resto dei comandi
Mess with the best
die like the rest

FreePlayClub.org
Rispondi