Gestión de permisos MySQL en VPS CentOS6 de forma sencilla

hanschrome Seguir

Alfa
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Ene 2014
Mensajes
25
Buenos días a todos,

Ayer contratamos yo y unos amigos un VPS anual, y estamos dividiendo recursos: Hemos creado hosts virtuales para Apache, hemos creado usuarios en linux con sus correspondientes permisos etc. Pero ahora nos hemos tropezado con que queremos crear bases de datos, y tener permisos únicamente sobre las que hemos creado nosotros, ¿Cómo hacemos eso sin tener que entrar como root en MySQL y sin ningún otro usuario diferente al nuestro cada vez que creamos una base de datos?

Nunca se me había planteado una estructura de permisos de esa manera en MySQL, y no sé cómo hacerlo. Al final acabaré creando un programa que cree bases de datos por línea de comandos con root y le de permisos al usuario en cuestión...

Saludos y muchas gracias a todos.
 

Galbatorix

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2013
Mensajes
1.231
Buenos días a todos,

Ayer contratamos yo y unos amigos un VPS anual, y estamos dividiendo recursos: Hemos creado hosts virtuales para Apache, hemos creado usuarios en linux con sus correspondientes permisos etc. Pero ahora nos hemos tropezado con que queremos crear bases de datos, y tener permisos únicamente sobre las que hemos creado nosotros, ¿Cómo hacemos eso sin tener que entrar como root en MySQL y sin ningún otro usuario diferente al nuestro cada vez que creamos una base de datos?

Nunca se me había planteado una estructura de permisos de esa manera en MySQL, y no sé cómo hacerlo. Al final acabaré creando un programa que cree bases de datos por línea de comandos con root y le de permisos al usuario en cuestión...

Saludos y muchas gracias a todos.

De hecho, si. Primero tienes que crear los usuarios y después asignarle los permisos que requiera. Evidentemente esto lo tienes que hacer como administrador, pero una vez creados, lo más seguro es que usen siempre esas cuentas de usuario.

La referencia: https://dev.mysql.com/doc/refman/5.0/es/create-user.html y https://dev.mysql.com/doc/refman/5.0/es/grant.html
 

hanschrome

Alfa
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Ene 2014
Mensajes
25
El objetivo es ese, pero no consigo que cuando un usuario cree una base de datos, sólo él tenga acceso a ella sin que un administrador esté de por medio, también es un poco chiquismiquis esto, porque en el sistema tenemos sudo activado para todos, pero bueno, si se pueden hacer las cosas limpias, mejor supongo.
 

Galbatorix

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2013
Mensajes
1.231
Para que un usuario pueda crear bases de datos debe tener los permisos para ello.

Por ejemplo, si tienes un usuario que se llama hanschrome, dale estos permisos:


Insertar CODE, HTML o PHP:
GRANT ALL PRIVILEGES hanschrome_[COLOR=#000000][FONT=Arial]%[/FONT][/COLOR].  * TO 'hanschrome'@'%';

de este modo, este usuario solo podrá crear tablas que empiecen con hanschrome_
 

hanschrome

Alfa
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
12 Ene 2014
Mensajes
25
Me gusta esa solución, muchas gracias.
 
Arriba