Article ID: 115842, created on May 17, 2013, last review on Aug 11, 2015

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 10.1 for Linux/Unix

Resolución

Ejecute los comandos detallados a continuación para descargar el script en su servidor, descomprimirlo, hacerlo ejecutable y proceder con su ejecución.

# wget http://kb.odin.com/Attachments/kcs-19590/chroot_update.zip
# unzip chroot_update.zip
# chmod +x chroot_update.sh
# ./chroot_update.sh --help

El comando mostrará el siguiente mensaje de ayuda:


# ./chroot_update.sh --help Manage chrooted template in /var/www/vhosts/chroot and apply it to domains. Uso:   ./chroot_update.sh --install   ./chroot_update.sh --update     Create default chrooted environment or update existing one     using actual libraries from the system.   ./chroot_update.sh --add <path>     Add program to chrooted environment. All linked libraries     will be copied as well. Program will always be put in /bin     directory of chrooted environment.   ./chroot_update.sh --devices     Add additional devices to chrooted environment template. List     of devices added includes: /dev/tty, /dev/urandom, /dev/ptmx     and /dev/zero. Useful for some commands like 'rsync', 'ssh' etc.   ./chroot_update.sh --remove <domain,...>   ./chroot_update.sh --remove all     Remove chrooted environment from specific domains (comma-separated     list) or all domains with enabled chrooted shell if no domains are     given. Useful if full re-initialization of chrooted shell environment     on domain is needed.   ./chroot_update.sh --apply <domain,...>   ./chroot_update.sh --apply all     Apply new chrooted template to specific domains (comma-separated     list) or all domains with enabled chrooted shell if no domains     are given. This operation is necessary to apply changes done by     '--install', '--add' and '--devices' commands to specific or all     domains.

Ejemplo nº1 − Adición de SSH


Para añadir el comando ssh a la plantilla de entorno chroot, realice los pasos detallados a continuación.


  1. 
    		Añada dispositivos estándar a la plantilla de entorno chroot. Si no se dispone de acceso a /dev/ttyssh no funcionará:
    
    		
    # ./chroot_update.sh --devices
  2. Añada la propia utilidad ssh:
    # ./chroot_update.sh --add `which ssh`
  3. Copie el archivo /etc/resolv.conf de forma manual a la plantilla de entorno chroot. Tenga en cuenta que este script sólo es válido para la adición de ejecutables y las librerías que dependan de los mismos o scripts shell.
    # cp /etc/resolv.conf /var/www/vhosts/chroot/etc/
  4. Aplique los cambios a los dominios seleccionados proporcionados en forma de una lista separada por comas o bien a todos los dominios a la vez:
    # ./chroot_update.sh --apply all

Ahora ya puede utilizar ssh cuando esté conectado como el usuario del dominio.

Ejemplo nº2 − Adición de PHP al entorno chroot

Algunos programas no sólo requieren las librerías con las que está vinculado el ejecutable principal, sino que también requieren plugins y archivos de configuración. Un ejemplo de este tipo de programas es PHP. Aunque la adición de PHP al entorno chroot no aportará beneficios en materia de seguridad de los scripts PHP en el sitio web − ya que los procesos de Apache o FastCGI/CGI ejecutan los scripts PHP en un contexto no chroot −, esta adición puede resultar útil en casos de desarrollo y depuración de scripts PHP.

Para añadir PHP a la plantilla de entorno chroot, realice los pasos que se detallan a continuación.

  1. Añada el propio ejecutable PHP:
    # ./chroot_update.sh --add `which php`
  2. Añada definiciones de zona horaria. De no añadirse, PHP devolverá el error *** glibc detected *** php: free(): invalid pointer: 0x00007f11249fccd8 *** cuando se utilicen funciones de fecha/hora:
    # mkdir /var/www/vhosts/chroot/usr/share # cp -a /usr/share/zoneinfo /var/www/vhosts/chroot/usr/share
  3. Añada los módulos PHP. Estos no se añaden en el primer paso porque el ejecutable de PHP no está vinculado de forma dinámica a estas librerías. Asimismo, la adición de los módulos hará que estos se sitúen en el directorio bin de la plantilla de entorno chroot. Posteriormente, estos deberían eliminarse:
    # for f in /usr/lib64/php/modules/*.so ; do ./chroot_update.sh --add $f ; done # rm -f /var/www/vhosts/chroot/bin/*.so
    Nota: la ruta al directorio con los módulos puede no ser la misma en su sistema. Si desea saber dónde se almacenan los módulos PHP en el servidor, compruebe el valor del parámetro extension_dir en /etc/php.ini.  
  4. Copie los módulos PHP al directorio correcto en la plantilla de entorno chroot:
    # mkdir /var/www/vhosts/chroot/usr/lib64 # cp -a /usr/lib64/php /var/www/vhosts/chroot/usr/lib64
  5. Copie la configuración de PHP:
    # cp -a /etc/php.ini /etc/php.d /var/www/vhosts/chroot/etc
    Nota: si se ha configurado el dominio para que utilice PHP como aplicación CGI/FastCGI, es más recomendable omitir este paso, ya que php.ini es gestionado por Parallels Plesk Panel. Para editar la configuración de PHP, vaya a la pestaña Sitios web y dominios > dominio > Configuración PHP.  
  6. Aplique los cambios:
    # ./chroot_update.sh --apply all

¡Importante!

El acceso chroot para los propietarios de dominio no pretende ser el equivalente al acceso completo al servidor. En su lugar, este tipo de acceso ha sido diseñado para ser una herramienta útil para la realización de operaciones elementales como puede ser el cambio de permisos, la copia y cambio de ubicación de archivos y la realización de búsquedas de prueba en archivos. Si es necesario añadir más software a la plantilla de entorno chroot para un pequeño número de clientes, puede considerar ofrecerles una actualización de su hosting para que dispongan de servidores virtuales o dedicados.

Attachments

29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c def31538ba607bde27398f48ab5956be dd0611b6086474193d9bf78e2b293040 01bc4c8cf5b7f01f815a7ada004154a2 0a53c5a9ca65a74d37ef5c5eaeb55d7f aea4cd7bfd353ad7a1341a257ad4724a 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e

Email subscription for changes to this article
Save as PDF