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.

wndg
fuente
¿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)
salihcenap
fuente
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

Nolwennig
fuente
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 !!!

Avani badheka
fuente
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.

Gelatina
fuente
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