Hola Wecindario ! Cómo ya sabréis, Plesk lleva una herramienta de gestión de tareas programadas y en este caso, si escogemos, "comando" debemos saber que por defecto Plesk lleva el shell : bin/bash/ cheooted Y este si queréis lo podéis cambiar, aunque como siempre, se recomienda No tocar, ya que por seguridad esta es la mejor opción. Pero si lo queremos modificar ahora lo veremos con detalles
Índice de contenidos
- 1 Configuración del Shell
- 2 ¿Qué shell se usa para la ejecución de tareas programadas?
- 3 ¿Por qué deberíamos usar otro shell?
- 4 Cómo poner el shell predeterminado para las tareas programadas
- 5 Desactivar el uso de tareas programadas «Run a Command»
- 6 Poner un shell personalizado para cada suscripción
- 7 Permitir a un cliente cambiar shell personalizado para su suscripción
- 8 ¿Qué shell está usando la suscripción?
Configuración del Shell
Como ya sabréis, Plesk deja que los clientes programen tareas y que ejecuten comandos en el servidor. El shell determina las áreas del sistema de archivos la cual tiene acceso las tareas. Por defecto, el acceso está limitado al espacio web del cliente. Pero como todo, esto se puede cambiar.
Nota: si no está familiarizado con los shells, documéntate al respecto antes de cambiar la configuración.
¿Qué shell se usa para la ejecución de tareas programadas?
El shell se usa para las tareas «Run a Command» está conectado al usuario de sistema de dicha suscripción. Todas las tareas programadas creadas bajo esa suscripción comparten el mismo shell. Por defecto , se trata del shell por defecto . De todos modos, existen varias excepciones para esta regla:
- El administrador de Plesk puede seleccionar cualquier shell para cualquier suscripción del servidor.
- El administrador de Plesk puede permitir al propietario de una suscripción seleccionar otro shell.
En ambos casos, al modificarlo las tareas programadas «Run a Command» creadas bajo dicha suscripción usarán el shell personalizado y no el predeterminado.
¿Por qué deberíamos usar otro shell?
Por defecto, el shell pone «/bin/bash (chrooted)
»
Y es el shell predeterminado para todas las tareas programadas. Por eso las tareas ejecutadas solo tienen acceso a los archivos presentes en el espacio web asociado con la suscripción y no a la raíz del servidor o algo así. Gracias a esta seguridad, los clientes no pueden utilizar tareas programadas para interrumpir el funcionamiento del servidor ni para acceder a archivos de otros alojamientos del mismo Plesk
Nota: esta opción afecta a todas las suscripciones. Esta no afecta a las tareas programadas creadas por el admin de Plesk que hay en Herramientas y configuración > Tareas programadas configuradas para ejecutarse bajo el usuario root
.
El principal motivo por lo que nos podemos plantear el cambiar el Shell es permitir a todos los usuarios ejecutar comandos mediante tareas que tengan acceso a todo el sistema de archivos del servidor.Pero claro si se lía parda. ¿Qué hacemos?
Si tu caso es que no compartes el servidor con nadie o confías en las demás personas alojadas, puede seleccionar un shell no chrooted para las tareas . En el caso de querer usar shell no chrooted para las tareas pero no está seguro del shell a escoger, te recomiendo «/bin/bash
».
En un servidor compartido, re recomendamos poner el shell predeterminado para tareas a «/bin/bash (chrooted)
». Y que no lo tiques Si uno de sus clientes requiere un shell no chrooted para sus tareas programadas, puedes darle permisos a esa suscripción de forma individualizada, y no afecta al resto
IMPORTANTE: si damos acceso a un cliente o otro shell NO (chrooted)
», debes saber que podrá ejecutar binarios o acceder a los archivos, datos.. etc , que no sean suyos.Así que es un riesgo de seguridad ¿No crees?
Cómo poner el shell predeterminado para las tareas programadas
Para ver o cambiar el shell que se usará por defecto para ejecutar todas las tares «Run a Command», vamos a a Herramientas y configuración > Tareas programadas > Configuración y buscamos y escogemos el shell deseado el desplegable.
O bien lo podemos hacer mediante SSH y ejecutar el siguiente comando:
plesk bin server_pref -u -crontab-secure-shell "<shell>"
Donde , <shell>
seria el shell que queremos. Por ejemplo
plesk bin server_pref -u -crontab-secure-shell "/bin/bash"
Desactivar el uso de tareas programadas «Run a Command»
Si ven a clientes creando una tarea programada que hace una actividad malintencionada, como el envío de spam, podemos desactivar de golpe las tareas programadas «Run a command» mientras investigamos lo que haga falta.
Vamos al servidor mediante SSH y lanzamos el siguiente comando:
plesk bin server_pref -u -crontab-secure-shell "/bin/false"
Así se pondrá el shell predeterminado a «/bin/false
» para las tareas . Así las tareas programadas «Run a command» creadas no podrán realizarse.
Recuerda : que si le has dado permisos al cliente para que se cambie el shell, se lo podrán hacer y volver a usar las tareas programadas , pero si queremos quitar ese permiso de cambiarse el shell, vamos a Plesk, a la suscripción y a Sitios web y dominios > Acceso a hosting web.
Poner un shell personalizado para cada suscripción
Para poner un shell personalizado para una suscripción en concreto, seguiremos estos pasos:
- En Suscripciones, vamos a la suscripción deseada y luego Acceso a hosting web.
- Escogemos el shell deseado«Acceder al servidor vía SSH» y pinchamos en ACEPTAR.
Y con esto, si el cliente hace tareas programadas, lo hará haciendo este shell
Permitir a un cliente cambiar shell personalizado para su suscripción
Para que un cliente se pueda cambiar el shell, siga estos pasos
- Vamos a Suscripciones,y luego en Personalizar.
- En «Permisos», seleccione las casillas «Administración de la configuración de hosting» y «Establecimiento de opciones de script web de hosting potencialmente inseguras que invaliden la directiva del proveedor» y pinchamos en ACEPTAR.
Así el cliente podrá escoger otro shell, en Sitios web y dominios > Acceso a hosting web. Y si lo hace, todas las tareas de esa suscripción usarán ese shell.
¿Qué shell está usando la suscripción?
Para saber el shell que usa una tarea de cierta suscripción, seguiremos estos pasos
- Buscamos el el nombre de usuario del usuario de sistema de ese alojamiento. Vamos a Suscripciones, y en Acceso a hosting web y miramos el campo «Nombre de usuario».
- Vamos mediante ssh y ejecutamos:
crontab -u <system user name> -l | grep SHELL
Donde <system user name> es el nombre de usuario a examinar
Y ¡Esto es todo Wecindario! Aquí tenemos todo lo que hay que saber sobre Configuración del Shell y permisos de los mismos
!Hasta la próxima Wecindario!
Tu Hosting a un Precio Excelente con Hoswedaje
Si estas pensando en crear tu página web pero no tienes decido el hosting, te ofrecemos nuestros servicios. Puedes consultar más información acerca de estos Hosting a continuación:
Si estas interesado en un Hosting para WordPress, consulta este enlace.
Si tienes un Ecommerce, este es tu Hosting ideal para PrestaShop.
Hosting Joomla, consulta los distintos planes.
Si tienes un Hosting Drupal, este es tu alojamiento.
Consulta el Hosting perfecto para Magento
Si necesitas realizar cualquier consulta, o quieres asesoramiento personalizado, contacta con nosotros.