No se puede escribir en /tmp, Read-Only Filesystem, Linux y Cpanel

Empezamos a recibir el siguiente aviso automático desde Cpanel a uno de los correos de OXUS, de creo el único cliente que tenemos con ese sistema:

[hackcheck] Possible root compromise detected

Attempts to create new directories or files whose filenames begin with numbers have failed.
This is indicative of a root compromise of the server.

The exact error encountered was:

Failed to create directory /tmp/cpanel.TMP.jy_UrJFr1epCTN5v: Read-only file system

Comenzamos a revisar que pasaba y nos dimos cuenta que no solo Cpanel no podía escribir en el directorio /tmp luego verificamos que el sitio no funcionaba correctamente y nos encontramos con el siguiente error de MySQL:

Can’t create/write to file /tmp

Con PHP lo mismo, no podía escribir en /tmp por lo que no creaba sesiones y ni pensar en upload de archivos.

Como solución temporal cambiamos en MySQL la ubicación de la carpeta temporal agregando en /etc/my.cnf

tmpdir = /var/lib/mysql/tmp

Lo mismo para PHP, editando php.ini

upload_tmp_dir = /home/php/tmp
session.save_path = /home/php/tmp

Esto nos dio más tiempo para buscar una solución y es así como encontré “Can’t create/write to file ‘/tmp/ (Errcode: 30)” que como en un artículo anterior nos ahorró muchas horas, donde nos cuentan que lo más probable es que el directorio /usr/tmpDSK está corrupto.

Entonces para solucionar el problema seguimos los siguientes pasos:

  1. Debemos cerrar los servicios que escriben en el directorio /tmp, entre ellos MySQL y Apache como root o utilizando sudo
    /usr/sbin/lsof /tmp
  2. Ejecutamos los siguientes comando en el mismo orden en que aparecen como root o utilizando sudo.
    1. /bin/umount -l /tmp
    2. /bin/umount -l /var/tmp
    3. /bin/rm -fv /usr/tmpDSK
  3. Ejecutamos el script de Cpanel que creará nuevamente el directorio /tmp y lo asegurará como root o utilizando sudo
    /scripts/securetmp

Con esto tenemos nuevamente el servidor funcionando con el directorio /tmp sin problemas.

En nuestro caso luego volvimos para MySQL y PHP los directorios temporales a /tmp.

0 Responses to “No se puede escribir en /tmp, Read-Only Filesystem, Linux y Cpanel”


  • No Comments

Leave a Reply