Resultados 1 al 9 de 9

Tema: Problema con Revoke

  1. #1
    Usuario Avatar de nkdos
    Fecha de ingreso
    27 mar, 09
    Ubicación
    maipU
    Mensajes
    362

    Problema con Revoke

    Resulta que estaba viendo el tema de los permisos de usuarios, en el momento de la creación le di todos los privilegios, pero ahora quiero revocarle los privilegios sobre una base de datos específica y me genera problemas, por ejemplos:

    Si veo los permisos del usuario

    Código:
    mysql> show grants for 'normenobmx'@'localhost';
    Me dice:

    Código:
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON *.* TO 'usuari'@'localhost'
    El problema es que si quiero revocarle los privilegios sobre una base de datos me da errores, por ejemplo:

    Código:
    mysql> REVOKE SELECT ON mibase.* FROM 'usuario'@'localhost';
    ERROR 1141 (42000): There is no such grant defined for user 'usuario' on host 'localhost'
    Pero si hago lo mismo, pero indicando *.*, no me genera ningún problema, por ejemplo:

    Código:
    mysql> REVOKE SELECT ON *.* FROM 'usuario'@'localhost';
    Query OK, 0 rows affected (0.00 sec)
    He buscado en internet y no he encontrado alguna solución, ya que siempre que especifico que los cambios de privilegios sean sobre "mibase" me da ese error, pero si especifico que sean sobre todas (*.*) no me arroja errores.

    Saludos.
    VISITA Y HAZTE SEGUIDOR DE MI BLOG INFORMÁTICO...CLIC AQUÍ...

  2. #2
    Guru
    Avatar de Cosme
    Fecha de ingreso
    27 feb, 05
    Ubicación
    Santiago
    Mensajes
    8,293

    Re: Problema con Revoke

    loo grant son a todo o por db, o por tabla.

    Si le das a todo ( *.* ) , no tiene un permiso explicito a la db, por lo que es correcto que te diga que no esta definido el permiso a la db especifica ( db.* )

    Debes darle grant por base de datos.

    grant * to db.* to 'user'@'localhost'



  3. #3
    Usuario Avatar de nkdos
    Fecha de ingreso
    27 mar, 09
    Ubicación
    maipU
    Mensajes
    362

    Re: Problema con Revoke

    La verdad no te entendí mucho.

    Según lo que entendí de lo que tu me dices, yo hice lo siguiente:

    Código:
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON *.* TO 'usuario'@'localhost';
    Como le di privilegios en *.* si bien es cierto puede hacer select en midb, como no le di permisos específicos a esa base de datos, no me deja revocarlos, por lo que para revocarlos tendría que primero asignarlos y luego revocarlos o entendí mal? por ejemplo, algo así?

    Código:
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON midb.* TO 'usuario'@'localhost';
    y luego

    Código:
    REVOKE SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON midb.* FROM 'usuario'@'localhost';
    es esto correcto?

    ---

    PD: He hecho eso, por ejemplo

    Código:
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON mydb.* TO 'usuario'@'host';
    luego un

    Código:
    REVOKE SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER ON mydb.* TO 'usuario'@'host';
    no me arrojo ningún error, pero el usuario aún puede manipular las tablas
    Última edición por nkdos; 26/11/2012 a las 16:24
    VISITA Y HAZTE SEGUIDOR DE MI BLOG INFORMÁTICO...CLIC AQUÍ...

  4. #4
    Zend Certified Engineer

    Overlord
    Avatar de unreal4u
    Fecha de ingreso
    02 oct, 05
    Ubicación
    Eindhoven, The Netherlands
    Mensajes
    11,954

    Re: Problema con Revoke

    mysql trabaja en forma de cascada, es decir:

    todo > base (primer *) > tabla (segundo *) > campo

    Me parece extraño que funcione de esa manera y no hacia el otro lado pero bueno, debe ser decisión interna de MySQL.

    En ese caso, lo que haría es denegar permiso a todo, y sólo darle acceso a la db/tabla/campo específico y problema solucionado

    Saludos.
    Lee Nuestra FAQ, los famosos 14 mandamientos de CHW.
    El Reglamento de Compra-Venta, Nuestra Visión y por último, Nuestra Historia


    Futurama & The IT Crowd fanboy
    Frase célebre: "Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete"
    Para el bronce: Oh, i'm very confortable with my sexuality, i just don't want to be slapped in the face with THEIR sexuality

    Mi blog | Mi Twitter | Zend Certified Engineer

  5. #5
    Usuario Avatar de nkdos
    Fecha de ingreso
    27 mar, 09
    Ubicación
    maipU
    Mensajes
    362

    Re: Problema con Revoke

    Al ser de forma de cascada, primero toma los privilegios general y luego los pescificos no?

    Pero de ser así, como podría eliminar el usage? ya que le hago un revoke y no se va :S
    VISITA Y HAZTE SEGUIDOR DE MI BLOG INFORMÁTICO...CLIC AQUÍ...

  6. #6
    Zend Certified Engineer

    Overlord
    Avatar de unreal4u
    Fecha de ingreso
    02 oct, 05
    Ubicación
    Eindhoven, The Netherlands
    Mensajes
    11,954

    Re: Problema con Revoke

    btw, hiciste un flush privileges cierto?

    usage no es más que alter select y algunos más de uso general. En la tabla user y db de la base de datos mysql deberías poder ver de forma general qué permisos tienes. Te recomiendo eliminar el usuario por completo y empezar de nuevo pq me tinca que tienes la media ensalada de permisos a estas alturas.

    Saludos.
    Lee Nuestra FAQ, los famosos 14 mandamientos de CHW.
    El Reglamento de Compra-Venta, Nuestra Visión y por último, Nuestra Historia


    Futurama & The IT Crowd fanboy
    Frase célebre: "Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete"
    Para el bronce: Oh, i'm very confortable with my sexuality, i just don't want to be slapped in the face with THEIR sexuality

    Mi blog | Mi Twitter | Zend Certified Engineer

  7. #7
    Usuario Avatar de nkdos
    Fecha de ingreso
    27 mar, 09
    Ubicación
    maipU
    Mensajes
    362

    Re: Problema con Revoke

    Si, hice un flush privileges,

    mira la verdad es que el problema lo solucione de la siguiente forma:

    Desde phpMyAdmin le doy un privilegio "x" por ejemplo FILE el privilegio USAGE cambia por el GRANT FILE, pero si le vuelvo a quitar el FILE, vuelve a aparecer USAGE y me genera los problemas, por lo cual quiero intentar entender bien el tema y que si aplico el revoke a *.* este no se elimina :/

    De todas formas, al eliminar un usuario, no corro riego con las bases ni los datos de estas no?
    VISITA Y HAZTE SEGUIDOR DE MI BLOG INFORMÁTICO...CLIC AQUÍ...

  8. #8
    Zend Certified Engineer

    Overlord
    Avatar de unreal4u
    Fecha de ingreso
    02 oct, 05
    Ubicación
    Eindhoven, The Netherlands
    Mensajes
    11,954

    Re: Problema con Revoke

    hazlo a mano, phpmyadmin mete tb otros statements y nunca debería ser confiado para tareas de administración.

    Bases de datos y usuarios son dos entidades totalmente distintas en MySQL

    Saludos.
    Lee Nuestra FAQ, los famosos 14 mandamientos de CHW.
    El Reglamento de Compra-Venta, Nuestra Visión y por último, Nuestra Historia


    Futurama & The IT Crowd fanboy
    Frase célebre: "Debido a la gran cantidad de guiños y referencias relacionadas con el mundo informático, esta sección permanecerá siempre incompleta, al menos hasta que se complete"
    Para el bronce: Oh, i'm very confortable with my sexuality, i just don't want to be slapped in the face with THEIR sexuality

    Mi blog | Mi Twitter | Zend Certified Engineer

  9. #9
    Guru
    Avatar de Cosme
    Fecha de ingreso
    27 feb, 05
    Ubicación
    Santiago
    Mensajes
    8,293

    Re: Problema con Revoke

    lo que pasa es que NO puede ser al revés... imagina que se le deniegue acceso al root a una DB... como el root podría administrar esa tabla?

    por eso los *.* se usan solo para sysadmins



Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*