Administración de cuentas de usuario de MySQL TRADUCCION

4
Administración de cuentas de usuario de MySQL 4.5 Gestión de la cuenta de usuario MySQL En esta sección se describe cómo configurar cuentas de clientes del servidor MySQL. Se analizan los siguientes temas: El significado de los nombres de cuenta y contraseñas usados en MySQL y cómo se compara con nombres y contraseñas utilizadas por el sistema operativo. Cómo configurar nuevas cuentas y eliminar las cuentas existentes. Cómo cambiar las contraseñas. Directrices para el uso de contraseñas de forma segura. Cómo utilizar conexiones seguras con SSL. 4.5.1 Nombres de usuario y contraseñas de MySQL Una cuenta MySQL se define en términos de un nombre de usuario y el equipo o equipos de los que el usuario se puede conectar al servidor. La cuenta también tiene una contraseña, hay varias diferencias entre los nombres de usuario y contraseñas son utilizados por MySQL y la forma en que son utilizados por su sistema operativo: Los nombres de usuario, como el usado por MySQL para autentificación, no tienen nada que ver con los nombres de usuario (login names) utilizados por Windows o Unix. En Unix, la mayoría de clientes MySQL por defecto intenta iniciar sesión en el uso del nombre de usuario Unix como el nombre de usuario MySQL, pero es únicamente para su comodidad. El valor por defecto puede cambiarse fácilmente, ya que los programas cliente permiten cualquier nombre de usuario que se especifica con un -u o –user opción. Porque esto significa que cualquier persona puede intentar conectarse al servidor usando cualquier nombre de usuario, no se puede hacer una base de datos seguro de ninguna manera a menos que todas las cuentas MySQL no tienen contraseñas. Cualquiera que especifica un nombre de usuario de una cuenta que no tiene contraseña será capaz de conectar con éxito a la servidor.

Transcript of Administración de cuentas de usuario de MySQL TRADUCCION

Page 1: Administración de cuentas de usuario de MySQL TRADUCCION

Administración de cuentas de usuario de MySQL

4.5 Gestión de la cuenta de usuario MySQL En esta sección se describe cómo configurar cuentas de clientes del servidor MySQL. Se analizan los siguientes temas:

El significado de los nombres de cuenta y contraseñas usados en MySQL y cómo se compara con nombres y contraseñas utilizadas por el sistema operativo.

Cómo configurar nuevas cuentas y eliminar las cuentas existentes. Cómo cambiar las contraseñas. Directrices para el uso de contraseñas de forma segura. Cómo utilizar conexiones seguras con SSL.

4.5.1 Nombres de usuario y contraseñas de MySQL Una cuenta MySQL se define en términos de un nombre de usuario y el equipo o equipos de los que el usuario se puede conectar al servidor. La cuenta también tiene una contraseña, hay varias diferencias entre los nombres de usuario y contraseñas son utilizados por MySQL y la forma en que son utilizados por su sistema operativo:

Los nombres de usuario, como el usado por MySQL para autentificación, no tienen nada que ver con los nombres de usuario (login names) utilizados por Windows o Unix. En Unix, la mayoría de clientes MySQL por defecto intenta iniciar sesión en el uso del nombre de usuario Unix como el nombre de usuario MySQL, pero es únicamente para su comodidad. El valor por defecto puede cambiarse fácilmente, ya que los programas cliente permiten cualquier nombre de usuario que se especifica con un -u o –user  opción. Porque esto significa que cualquier persona puede intentar conectarse al servidor usando cualquier nombre de usuario, no se puede hacer una base de datosseguro de ninguna manera a menos que todas las cuentas MySQL no tienen contraseñas. Cualquiera que especifica un nombre de usuario de una cuenta que no tiene contraseña será capaz de conectar con éxito a la servidor.

Los nombres de usuario en MySQL pueden tener hasta 16 caracteres de longitud. Los nombres de usuario del sistema operativo pueden tener una longitud máxima diferente. Por ejemplo, los nombres de usuario en Unix típicamente están limitados a ocho caracteres.

Las contraseñas de MySQL no tienen nada que ver con las contraseñas para acceder a su funcionamiento del sistema. No hay ninguna conexión necesaria entre la contraseña que utiliza para conectarse a una Máquina Windows o Unix y la contraseña que utiliza para acceder al servidor MySQL de la máquina.

MySQL encripta contraseñas usando su propio algoritmo. Esta encriptación es diferente de los utilizados durante el proceso de entrada de Unix. La encriptación de contraseña es la misma que la implementado por la función PASSWORD() de SQL. La encriptación de contraseñas Unix es la misma que aplicado por la función ENCRYPT () de SQL. Desde la versión 4.1, MySQL usa un método de autenticación más fuerte que tiene una mejor protección de contraseña durante el proceso de conexión que en versiones anteriores. Es seguro incluso si los paquetes TCP / IP se esnifan o la base de datos mysql se captura. (En 

Page 2: Administración de cuentas de usuario de MySQL TRADUCCION

versiones anteriores, a pesar de que las contraseñas son almacenadas en forma cifrada en el conocimiento usertable, del valor de la contraseña cifrada podía ser utiliza para conectar con el servidor MySQL.)

Cuando se instala MySQL, las tablas de permisos se llenan con un conjunto inicial de cuentas. Estascuentas tienen nombres y privilegios de acceso que se describen en la Sección 2.4.5, " Proteger las cuentas iniciales de MySQL", que también se describe cómo asignar contraseñas a las mismas. A partir de entonces, se crean, modifican y eliminan cuentas de MySQL usando los comandos GRANT y REVOKE.

Cuando se conecta a un servidor MySQL con un cliente de línea de comandos, debe especificar el nombre de usuario y la contraseña de la cuenta que desea utilizar:

shell> mysql --user=monty --passsord=guess db_name

Si prefiere opciones cortas, el comando es el siguiente:

shell> mysql -u monty -pguess dh_name

No debe haber espacio entre la opción -p y el valor de contraseña. Consulte la sección 4.4.4,”Conectando al servidor MySQL. "

El comando anterior incluye el valor de contraseña en la línea de comandos, que puede ser un riesgo para la seguridad, véase la Sección 4.5.6, "Guardar una contraseña de forma segura". Para evitarlo, especifique la opción --password o -p sin ningún valor de contraseña a continuación:

shell> mysql –-user=monty --password dh_name shell> mysql -u monty -p dh_name

A continuación, el programa cliente imprimirá un mensaje y esperará  a que introduzca la contraseña. (En estos ejemplos, db_name no interpretarse como una contraseña, ya que está separada de la opción de contraseña anterior por un espacio).

En algunos sistemas, la llamada que MySQL usa para pedir una contraseña automáticamente limita la contraseña de ocho caracteres. Se trata de un problema con la biblioteca del sistema, no con MySQL Internamente, MySQL no tiene ningún límite para la longitud de la contraseña. Para solucionar el problema, cambie su contraseña de MySQL en un valor que es de ocho caracteres o menos largo, o poner su contraseña en un fichero de opciones.

Page 3: Administración de cuentas de usuario de MySQL TRADUCCION

4.5.2 Añadir nuevas cuentas de usuario a MySQL

Puede crear cuentas MySQL de dos formas:

Mediante el uso de sentencias GRANT. Mediante la manipulación de las tablas de permisos MySQL directamente.

El método ideal es usar comandos GRANT, porque son más concisos y menos propenso a errores. GRANT está disponible desde MySQL 3.22.11; su sintaxis se describe en el Lenguaje de Referencia de MySQL .

Otra opción para la creación de cuentas es utilizar uno de los varios programas disponibles parte de terceros que ofrecen capacidades de administración de cuentas de MySQL. phpMyAdmin es uno de esos programas.

Los siguientes ejemplos muestran cómo utilizar el programa cliente mysql para crear nuevos usuarios. Estos ejemplos asumen que los permisos se configuran de acuerdo a los valores descritos en la Sección 2.4.5, "Hacer seguras las cuentas iniciales de MySQL". Esto significa que para realizar cambios, se debe conectar con el servidor de MySQL como usuario principal de MySQL, y la cuenta principal debe tener permisos de administrador para usar los comandos INSERT y RELOAD en la base de atos de mysql.

En primer lugar, utilizar el programa de mysql para conectarse al servidor como usuario principal de MySQL:

shell> mysql --user=root mysql

Si ha asignado una contraseña para la cuenta principal, también es necesario proporcionar un --password  o la opción -p para este comando de mysql y también para aquellos más adelante en esta sección.

 Después de conectar con el servidor como principal, puede añadir nuevas cuentas. Las siguientes declaraciones usa GRANT para inicializar nuevas cuentas: