Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-03-2010, 14:13   #1
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
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'@'%';
Il problema è che non funziona. Forse sono i privilegi globali che "sovrascrivono" quelli che imposto per la tabella, ma prima vorrei capire dove sto sbagliando.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 12:45   #2
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
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.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 13:20   #3
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Mi spiace ma non si è capito niente vuoi garantire solo la SELECT o l'UPDATE?

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?
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 14:45   #4
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
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?
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 15:03   #5
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
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.
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 15:37   #6
kk3z
Senior Member
 
L'Avatar di kk3z
 
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:
I think the easiest way would be to give the user all privileges to all databases, and then remove the privileges for the 'mysql' database (or only give the user the SELECT privilege)
e le risposte sono:
Quote:
No, you can not do it this way. If you grant privileges on all databases i.e. use ON *.* these privileges are defined on global level and stored in user table. No privileges defined on database level. So if you try to revoke privileges from mysql db only you'll get an error that no such grant defined.
Quote:
you granted all privileges on all databases.

then you gave redudant SELECT privilege (redudant because this user already has SELECT privilege on all databases and database mysql as well).

Now you user has all privileges defined on global level and SELECT privilege defined on database level.
Quindi non puoi dare tutti i privilegi e poi togliere quelli che ti servono, perchè sono su due livelli diversi. Dovresti dare i privilegi per ogni tabella tranne quella che ti interessa.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 15:46   #7
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
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".
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Le analisi di ALMA sulla cometa interste...
La missione cinese Tianwen-3 per portare...
Un satellite di HEO Space ha catturato u...
Mini LED 144Hz a prezzo folle: questo Hi...
Novità per Fortinet: arrivano For...
Volkswagen e Xpeng, il SUV è real...
Volkswagen ribattezza ID.3 e le dà un mo...
Aruba rende disponibile VMware Hosted Pr...
Questa Olympus da 20 MP con stabilizzazi...
Il nuovo dispositivo di Rabbit si chiama...
'Se avete RAM, siamo pronti ad acquistar...
Veeam corregge diverse vulnerabilit&agra...
MacBook Neo segna una svolta per Apple: ...
Polestar pubblica il report LCA di Poles...
Il rame non basta più: NVIDIA, AM...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v