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 <[email protected]> escribió: > > > El 23 de enero de 2018, 20:32, Cristian Mitchell<[email protected]> > escribió: >> >> >> >> El 23 de enero de 2018, 19:40, Ramses<[email protected]> escribió: >>> >>> El 23 de enero de 2018 23:20:09 CET, Cristian Mitchell >>> <[email protected]> escribió: >>> >El 23 de enero de 2018, 15:26, Ramses<[email protected]> >>> >escribió: >>> > >>> >> El 23 de enero de 2018 18:24:23 CET, Matias Mucciolo < >>> >> [email protected]> 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, >

