El 24 de enero de 2018, 08:45, Ramses<ramses.sevi...@gmail.com> escribió:
> El 24 de enero de 2018 12:18:02 CET, Cristian Mitchell < > mitchell6...@gmail.com> escribió: > >El 24 de enero de 2018, 04:55, Ramses II<ramses.sevi...@gmail.com> > >escribió: > > > >> Cristian, buenos días de nuevo, > >> > >> Bien, por TCP parece que ya funciona: > >> > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> -bash-4.2$ /usr/bin/mysql -h 127.0.0.1 -u root -p --protocol=tcp > >> Enter password: > >> Welcome to the MySQL monitor. Commands end with ; or \g. > >> Your MySQL connection id is 46 > >> Server version: 5.5.59-0+deb7u1 (Debian) > >> > >> Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights > >> reserved. > >> > >> Oracle is a registered trademark of Oracle Corporation and/or its > >> affiliates. Other names may be trademarks of their respective > >> owners. > >> > >> Type 'help;' or '\h' for help. Type '\c' to clear the current input > >> statement. > >> > >> mysql> > >> mysql> quit > >> Bye > >> -bash-4.2$ > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> > >> Ahora sólo queda ver si hay forma de hacerlo por socket de MySQL. > >> > >> Si ejecuto en la sesión "enjaulada" el comando que me has comentado: > >> > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> -bash-4.2$ mount -o bind,noexec /var/run/mysqld/mysqld.sock > >> mount: only root can do that > >> -bash-4.2$ > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> > >> Lo que te comentaba, que dice que sólo lo puede ejecutar "root". > >> > >> De cualquier forma, si ejecuto sólo "mount", tampoco va: > >> > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> -bash-4.2$ mount > >> warning: failed to read mtab > >> -bash-4.2$ > >> ------------------------------------------------------------ > >> ---------------------------------------------------- > >> > >> > >> Gracias y saludos, > >> > >> Ramses > >> > >> El día 24 de enero de 2018, 0:37, Cristian Mitchell > >> <mitchell6...@gmail.com> escribió: > >> > > >> > > >> > El 23 de enero de 2018, 20:32, Cristian > >Mitchell<mitchell6...@gmail.com> > >> > escribió: > >> >> > >> >> > >> >> > >> >> El 23 de enero de 2018, 19:40, Ramses<ramses.sevi...@gmail.com> > >> escribió: > >> >>> > >> >>> El 23 de enero de 2018 23:20:09 CET, Cristian Mitchell > >> >>> <mitchell6...@gmail.com> escribió: > >> >>> >El 23 de enero de 2018, 15:26, Ramses<ramses.sevi...@gmail.com> > >> >>> >escribió: > >> >>> > > >> >>> >> El 23 de enero de 2018 18:24:23 CET, Matias Mucciolo < > >> >>> >> mmucci...@suteba.org.ar> escribió: > >> >>> >> >On Tuesday, January 23, 2018 5:29:07 PM -03 Ramses wrote: > >> >>> >> >> Hola a tod@s, > >> >>> >> >> > >> >>> >> >> Tengo instalado MySQL Server con su proceso habitual. > >> >>> >> >> > >> >>> >> >> Ahora quiero dar acceso a Clientes vía SSH, pero no quiero > >que > >> >>> >esos > >> >>> >> >usuarios > >> >>> >> >> puedan ejecutar comandos de la Shell de Linux mediante el > >comando > >> >>> >> >"system" > >> >>> >> >> de MySQL. > >> >>> >> >> > >> >>> >> >> Parece ser que no hay forma de impedir los Usuarios de > >MySQL > >> >>> >puedan > >> >>> >> >ejecutar > >> >>> >> >> el comando "system" y la única forma de limitar el uso de > >los > >> >>> >> >comandos del > >> >>> >> >> Shell de Linux es enjaular (chroot jail) estos Usuarios > >SSH, y > >> >>> >sólo > >> >>> >> >copiar > >> >>> >> >> en la jaula los comandos que les permito y sus librerías > >> >>> >asociadas. > >> >>> >> >> > >> >>> >> >> Bien, tengo ya el entorno "chroot jail" configurado y el > >Usuario > >> >>> >SSH > >> >>> >> >se > >> >>> >> >> conecta. > >> >>> >> >> > >> >>> >> >> He copiado el fichero de arranque "/usr/sbin/mysql" en el > >> >>> >directorio > >> >>> >> >> "enjaulado". > >> >>> >> >> > >> >>> >> >> Con el comando "ldd /usr/sbin/mysql" averiguo las librerías > >> >>> >asociadas > >> >>> >> >y las > >> >>> >> >> he copiado en el directorio "enjaulado". > >> >>> >> >> > >> >>> >> >> Ahora, cuando se conecta un Usuario "enjaulado" vía SSH y > >> ejecuta, > >> >>> >> >por > >> >>> >> >> ejemplo, "/usr/sbin/mysql -u root -p", MySQL pide la > >password, > >> >>> >pero > >> >>> >> >al > >> >>> >> >> introducirla, da un error de socket diciendo que no > >encuentra > >> >>> >> >> "/var/run/mysqld/mysqld.sock", y ahí estoy estancado... > >> >>> >> >> > >> >>> >> >> ¿Hay alguien que haya hecho esto y pueda comentarme qué > >pasos me > >> >>> >> >faltan por > >> >>> >> >> hacer? > >> >>> >> >> > >> >>> >> >> > >> >>> >> >> Gracias y saludos, > >> >>> >> >> > >> >>> >> >> Ramses > >> >>> >> > > >> >>> >> >obviamente se estan tratando de conectar mediante el socket > >> >>> >> >que crea mysql y los clientes enjaulados no pueden acceder. > >> >>> >> >creo que mysql tiene una opcion para que la "conexion" > >> >>> >> >sea por tcp...eso deberia funcionar.. > >> >>> >> > > >> >>> >> >saludos > >> >>> >> >Matias > >> >>> >> > >> >>> >> Matías, gracias por contestar. > >> >>> >> > >> >>> >> Pero, ¿sabes si tengo que copiar algún fichero de > >configuración, > >> como > >> >>> >el > >> >>> >> my.cnf a la "jaula"?. > >> >>> >> > >> >>> >> Hasta el momento sólo copiado programas y librerías al entorno > >> >>> >"enjaulado". > >> >>> >> > >> >>> >> Y estoy buscando información tanto en Linux genérico y Debian, > >como > >> >>> >en > >> >>> >> MySQL, y no encuentro lo que me aclare este tema... > >> >>> >> > >> >>> >> > >> >>> >> P.D.: Disculpas Matías, el otro se me fue al personal... > >> >>> >> > >> >>> >> > >> >>> >> Saludos y gracias, > >> >>> >> > >> >>> >> Ramses > >> >>> >> > >> >>> >> > >> >>> >como te estas logueando a mysql? > >> >>> > >> >>> Cristian, ¿te refieres a esto que ponía en mi correo? > >> >>> > >> >>> El cliente se conecta vía SSH a un entorno "enjaulado" y ejecuta: > >> >>> > >> >>> /usr/sbin/mysql -u root -p > >> >> > >> >> > >> >> alguien comentaba esto > >> >> si haces asi nada mas te estas conectado por socket el cual > >nesesitas > >> >> acceso > >> >> pero si haces mysql -h localhost -u myname -ppassword mydb > >> >> esto evita tu problema de sock > >> >> > >> >> > >> >> > >> >>> > >> >>> > >> >>> > >> >>> Saludos, > >> >>> > >> >>> Ramses > >> >>> > >> >> > >> >> > >> >> > >> >> -- > >> >> MrIX > >> >> Linux user number 412793. > >> >> http://counter.li.org/ > >> >> > >> >> las grandes obras, > >> >> las sueñan los santos locos, > >> >> las realizan los luchadores natos, > >> >> las aprovechan los felices cuerdo, > >> >> y las critican los inútiles crónicos, > >> >> > >> > > >> > si no tu otra opción es > >> > > >> > > >> > mount -o bind,noexec /var/run/mysqld/mysqld.sock (al chroot) > >> > > >> > -- > >> > MrIX > >> > Linux user number 412793. > >> > http://counter.li.org/ > >> > > >> > las grandes obras, > >> > las sueñan los santos locos, > >> > las realizan los luchadores natos, > >> > las aprovechan los felices cuerdo, > >> > y las critican los inútiles crónicos, > >> > > >> > >> > >buenos dia > > > >cabe aclara que la idea del tcp fue de Matias > >yo solo la aclare y la amplie > >y para montar un cualquier recurso bajo estas circunstancias > >tenes que agregar la linea en fstab y darle permisos de usuario > >pero en tu caso como el chroot lo debe levantar el mysql, > >lo agregas en el inicio del servidor o el inicio del servicio > > Cristian, correcto, también le he contestado a Matías. > > En cuanto a lo que me comentas: > > "pero en tu caso como el chroot lo debe levantar el mysql, lo agregas en > el inicio del servidor o el inicio del servicio" > > Si ejecuto el comando que me comentaste desde una sesión sin "enjaular", > por ejemplo, logado como "root", y con el usuario "mysql" que ejecuta el > arranque del MySQL Server, ¿debería de funcionar la conexión desde la > sesión "enjaulada"? > totalmente, la idea es montar el directorio donde se crean el sock al chroot y si lo que estas buscando es seguridad, es lo que entiendo. hace que un usuario con permisos de montado > > > Saludos y gracias, > > Ramses > > -- MrIX Linux user number 412793. http://counter.li.org/ las grandes obras, las sueñan los santos locos, las realizan los luchadores natos, las aprovechan los felices cuerdo, y las critican los inútiles crónicos,