|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
[MySQL] Aiuto con gestione permessi: negare SELECT ad un utente
Salve a tutti,
sto sviluppando un software gestionale (in Java) e fin'ora ho usato sempre l'utente root per accedere al database, ma è previsto che si debbano usare anche altri utenti. A tal proposito, ho creato un altro utente che dovrebbe poter fare tutte le operazioni (insert/update/delete/select) che fa in questo caso root, ma vorrei fare in modo che la SELECT sia impedita su una certa tabella. Non ci riesco. Sto usando phpmyadmin, e sto anche tenendo sott'occhio le query SQL che vengono generate. Dunque, quando creo un utente, gli do i privilegi globali: SELECT, INSERT, UPDATE, DELETE, FILE. Poi vado per dargli i privilegi sulla singola tabella e gli do solo la UPDATE: Codice:
REVOKE ALL PRIVILEGES ON `database`.`TABELLA` FROM 'user'@'%'; GRANT UPDATE ( `TOTALE` ) ON `database`.`TABELLA` TO 'user'@'%'; |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Nessuno mi sa dare nemmeno un consiglio?
Sto leggendo e rileggendo la documentazione di MySQL ma non riesco a darmi una risposta. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Mi spiace ma non si è capito niente
Non puoi dare i privilegi globali su tutte le operazioni tranne quella che vuoi limitare, e poi aggiungere il privilegio su quella operazione solo per una tabella? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Ok, cerco di rispiegare più sinteticamente e (spero) chiaramente:
Vorrei fare in modo che nel mio database ci siano due tipi di utenti: 1) utenti che possono fare SELECT, UPDATE, INSERT, DELETE, e quindi tutte le operazioni su tutto il database 2) utenti come sopra, ma che su una tabella in particolare possano fare solo l'UPDATE. Quindi non devono poter visualizzare i dati contenuti in una tabella ma devono poterli modificare (per motivi relazionali - se serve posso fare un esempio). Quindi, creato un utente con tutti i privilegi su un certo database, come impedisco che possa fare una select su una data tabella? |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Principalmente il mio problema è questo:
riesco a creare un utenza che abbia nessun privilegio, e riesco ad assegnargli uno ad uno tutti i privilegi che voglio, ma non riesco a fare il contrario. Es. supponiamo di voler creare un utenza che possa fare INSERT,UPDATE,DELETE,SELECT su TUTTO il database in questione. In questo modo è facile, creo un utente che ha i privilegi GLOBALI di fare queste cose. Io vorrei inoltre, creare un utente che possa fare tutto ciò che fa il suddetto utente, tranne la SELECT su una certa tabella. In pratica riesco a fare in modo che un utente NON abbia alcun privilegio e poi gliene assegno io quanti ne voglio, ma non il contrario, ovvero dargli tutti i privilegi e togliergliene solo alcuni. Non so se è chiaro Tutto questo, semplicemente perché faccio prima. |
|
|
|
|
|
#6 | |||
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Da quel che ho letto non si può. Cercando grant all privileges except su google trovi questo, in cui c'è un utente che chiede:
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Ok, grazie, concetto chiarito.
In effetti già mi sono messo a lavoro per fare l'operazione "inversa". |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:55.




















