cupsd con 100% de CPU, creando un error_log grande (80GB +)


9

Hace unos días me di cuenta de que mi máquina Ubuntu no se cargaba después de iniciar sesión. Después de buscar en un liveCD, me di cuenta de que mi HDD estaba al 100% de su capacidad, así que eliminé algunos archivos grandes y pude iniciar sesión. Ya no tenía permisos de sudo y tuve que arrancar en modo de recuperación y cambiar los sodoers. archivo, pero finalmente recuperó los permisos de root.

Luego noté que mi máquina estaba un poco lenta y topmostraba cupsd con 100% de CPU. Nunca antes había visto este programa, pero pronto me di cuenta de que era un programa legítimo.

Eliminé aproximadamente 40 GB de videos, solo para ver que mi espacio en el disco se agota casi instantáneamente frente a mis ojos. Con un poco de investigación e intuición, me di cuenta de que podría ser un archivo de registro explotado y, ls -lh /var/log/cups/efectivamente, me mostró un archivo error_log que tenía más de 80 GB.

Eliminé el archivo sudo rm -rf /var/log/cups/error_log, eliminé el servicio sudo service cups endy me fui a mi negocio. Después de eso, me di cuenta de que habría sido una buena idea revisar el contenido de error_log antes de eliminarlo, pero quería deshacerme de eso antes de que me volvieran a bloquear.

Eso fue ayer. Hoy, comencé mi computadora portátil nuevamente y vi a cupsd funcionando nuevamente al 100% de la CPU, y efectivamente veo que mi espacio en el disco se está agotando. Detuve el servicio y corrí tail -f /var/log/cups/error_log, y hay millones de líneas de esto:

W [15/Jul/2015:11:23:03 -0700] Notifier for subscription 911 (dbus://) went away, retrying!
E [15/Jul/2015:11:23:03 -0700] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100777/uid=0/gid=0).

== EDITAR =============================================== ==================

ls -l /usr/lib/cups/notifier/dbusmuestra los permisos y la propiedad como -rwxrwxrwx 1 root rootdeberían ser -rwxr-xr-x 1 daemon root, como se describe en los comentarios. sudo chown root:root /usr/lib/cups/notifier/dbusTampoco solucionó los problemas de propiedad.

Finalmente quité y reinstalé las tazas, pero fue en vano. Estos enlaces se proporcionaron como guías potencialmente útiles ( accidentalmente chmod -R on / , restaurar los permisos conocidos ), pero en última instancia, sugieren la reinstalación del sistema operativo.


¿Cuál es la salida de ls -l /usr/lib/cups/notifier/dbus? Tuve un problema similar hace mucho tiempo y la única manera fácil de resolverlo fue deshabilitar CUPS ... (sin impresión)
Wilf

1
-rwxrwxrwx 1 root 14k 5 de septiembre de 2014 / usr / lib / notifier / dbus
wndg

1
¿Qué hacen las tazas de todos modos? Me refiero a si se puede desactivar sin repercusiones graves ....
wndg

1
Hace la mayoría de las cosas para imprimir, por lo que sin ella no puede imprimir. Creo que los permisos en el archivo deberían ser -rwxr-xr-x (eso es lo que son los permisos en mi instalación de Ubuntu 14.04) , por lo que es posible que pueda solucionar el problema ejecutando sudo chmod 755 /usr/lib/cups/notifier/dbus(y luego reiniciando CUP o la computadora).
Wilf

1
¿Impresión como en papel de imprenta? -rwxr-xr-xSin embargo, los permisos ahora son posteriores al reinicio cupsd todavía se ejecuta al 95% o más y crea un gran archivo error_log (¿pero aparentemente no tan rápido?).
wndg

Respuestas:


16

Para Ubuntu 15.10, lo que funcionó para mí fue:

sudo service cups stop
sudo rm /etc/cups/subscriptions.conf*
sudo rm -r /var/cache/cups
sudo service cups start

(Si no puede detener las tazas, intente):

ps aux | grep cups

Obtenga la identificación del proceso (pid) de la salida y:

kill -9 (pid you have learned here)

2
Hice esto y ayuda, pero solo hasta que reinicie mi PC. ¿Hay alguna manera de hacer que esto dure?
tobias_k

1

En Debian 9

  1. usuario @ máquina: sudo su

  2. root @ machine:

chown -R root:root /usr/lib/cups/* && \
chmod -R 755 /usr/lib/cups/* && \
/etc/init.d/cups restart

regreso:

 ok Reinicio de tazas a través de systemctl cups.service

y guardar mi registro y mi CPU


1

simplemente lo hice, está funcionando para mí:

1) sudo chmod 755 /usr/lib/cups/notifier/

2) ll /usr/lib/cups/notifier/

3) sudo /etc/init.d/cups restart

hecho !!!


2
¿Podría comentar qué hace exactamente esto o por qué resuelve el problema?
tobias_k

0

No puedo comentar, así que esto es en forma de una respuesta:

sudo chown root:root /usr/lib/cups/notifier/dbus

podría ayudar, ahora que tiene los permisos correctos. ¿Quién es el usuario 1 en su sistema? Si no sabe cómo se cambiaron los permisos / propiedad del archivo de forma predeterminada, el problema podría ser la punta de un iceberg. Si es así, sería recomendable reinstalarlo.


Ejecuté el comando y reinicié y nada pareció cambiar. No estoy seguro de cómo averiguar quién es el usuario 1. ¿Qué crees que podría ser "el resto del iceberg" como lo expresas ...?
wndg

El usuario 1 en un sistema Ubuntu recién instalado es daemon. Que su comando ls devuelto -rwxrwxrwx 1 rooten lugar de -rwxr-xr-x daemon rootsugiere archivos de sistema dañados o faltantes. El usuario daemon, 1, no está asociado con un nombre en / etc / passwd.
JEL

Acabo de mirar / etc / passwd y el usuario 1 era demonio, pero supongo que dices que mi problema no está asociado con eso. ¿Cómo podría encontrar quién es el usuario 1?
wndg

Si el usuario 1 es daemon en passwd, eso es lo que debería mostrar como el usuario propietario del archivo dbus. ¿Has intentado reinstalar tazas? Asegúrese de hacer una copia de seguridad de / etc / cups primero.
JEL

Editar: id daemonme dauid=1(daemon) gid=1(daemon) groups=1(daemon)
wndg
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.