es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de que el administrador del sistema cambia el nombre de la tabla raíz, éste obtiene un error al intentar revocar los permisos de un usuario final en un nombre de tabla que no existe.

Actualmente estoy usando la cuenta root.

Tengo una tabla – user1_db.table1 y user1 tiene los siguientes permisos:


SHOW GRANTS FOR user1@localhost;
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER ON user1_db.table1 TO user1@localhost

Ahora, renombro table1 a table2, pero olvidé revocar los permisos de user1 en table1 primero.

Ahora, le concedo los mismos permisos en table2 a user1.

Ahora tengo los permisos como:


SHOW GRANTS FOR user1@localhost;
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER ON user1_db.table1 TO user1@localhost
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER ON user1_db.table2 TO user1@localhost

Entonces, ahora hay permisos concedidos en un nombre de tabla que no existe – table1.

Intento revocar el permiso.


REVOKE ALL PRIVILEGES ON user1_db.table1 FROM user1;

Pero, obtengo el siguiente error:


ERROR 1819 (HY000): Su contraseña no cumple los requisitos actuales de la política

Intenté lo siguiente para disminuir los requisitos de complejidad de la contraseña:


SET GLOBAL VALIDATE_PASSWORD.POLICY = LOW;
SET GLOBAL VALIDATE_PASSWORD.LENGTH = 2;
SET GLOBAL VALIDATE_PASSWORD.MIXED_CASE_COUNT = 0;
SET GLOBAL VALIDATE_PASSWORD.NUMBER_COUNT = 0;
SET GLOBAL VALIDATE_PASSWORD.SPECIAL_CHAR_COUNT = 0;

Pero el problema persiste. ¿Cómo puedo revocar los permisos de user1 en una tabla inexistente – table1?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en MySQL, validación, permisos y contraseñas, sugiero los siguientes pasos para revocar los permisos del usuario user1 en una tabla inexistente llamada table1:

    1. Conéctate al servidor de MySQL como un usuario con privilegios apropiados, como la cuenta root.
    2. Verifica los requisitos actuales de la política de contraseñas ejecutando el siguiente comando:

      SHOW VARIABLES LIKE 'validate_password%';
      

      Esto mostrará los requisitos actuales de la política de contraseñas.

    3. Si es necesario, modifica los requisitos de la política de contraseñas para permitir contraseñas menos complejas, como ejecutando los siguientes comandos:

      SET GLOBAL validate_password.policy=LOW;
      SET GLOBAL validate_password.length=6;
      SET GLOBAL validate_password.mixed_case_count=0;
      SET GLOBAL validate_password.number_count=0;
      SET GLOBAL validate_password.special_char_count=0;
      

      Estos comandos establecerán la política de contraseñas para permitir contraseñas de tan solo seis caracteres sin requisitos más complejos.

    4. Una vez modificada la política de contraseñas (si es necesario), intenta revocar los permisos nuevamente ejecutando el siguiente comando:

      REVOKE ALL PRIVILEGES ON `user1_db`.`table1` FROM `user1`;
      

      Si el comando es exitoso, los permisos deberían ser revocados y no deberían mostrarse errores relacionados con la política de contraseñas.

    5. Después de revocar los permisos, puedes restablecer la política de contraseñas a su estado anterior ejecutando los siguientes comandos:

      SET GLOBAL validate_password.policy=DEFAULT;
      SET GLOBAL validate_password.length=8;
      SET GLOBAL validate_password.mixed_case_count=1;
      SET GLOBAL validate_password.number_count=1;
      SET GLOBAL validate_password.special_char_count=1;
      

      Estos comandos restablecerán la política de contraseñas a sus valores predeterminados. Sin embargo, debes elegir los requisitos de la política de contraseñas basados en las políticas de seguridad de tu organización y los datos sensibles que almacenas en tu base de datos.

Comments are closed.