viernes, 16 de agosto de 2013

Solución al problema de archivos de registro vacios en ubuntu

Esté post es una traducción de uno anterior. Hoy estaba tratando de configurar un cronjob o tarea programada y al tratar de verificar que todo estaba funcionando correctamente descubrí que el archivo /var/log/syslog estaba vacío, hace algunos días solucioné un problema similar con /var/log/auth.log el cual no tenía asignado el propietario correcto. Tras darme cuenta que el archivo syslog también estba vació empecé a sospechar que había algún tipo de problema con la configuración de mi servidor. Después de una pequeña busqueda encontré este post y se hizo bastante claro la causa del problema.

El problema
Al parecer hay varios archivos cuyo dueño es el usuario messagebus sin embargo ese no es el que debería ser dueño de dichos archivos, de acuerdo a la siguiente documentación que habla sobre bajar provilegios en rsyslog las siguientes líneas en el archivo /etc/rsyslog.conf definen el usuario y grupo a personificar después de que se completa el proceso de inicio:
$PrivDropToUser syslog
$PrivDropToGroup syslog
Como pueden ver el que debería ser dueño de dichos archivos de log mencionados antes es el usuario syslog.

La solución
Tal como indica Dan Ballard aquí necesitamos listar los archivos que tienen el dueño incorrecto.
ls -l /var/log/ | grep messagebus
Un ejemplo de lo que regresa el comando anterior es:
-rw-r----- 1 messagebus adm        0 oct 22  2012 kern.log
-rw-r----- 1 messagebus adm        0 oct 22  2012 mail.err
-rw-r----- 1 messagebus adm        0 oct 22  2012 mail.log
-rw-r----- 1 messagebus adm        0 mar 13 06:26 syslog
-rw-r----- 1 messagebus adm        0 oct 22  2012 ufw.log
Para finalizar el Sr. Ballard dice que simplemente debemos borrar esos archivos y reiniciar el servicio rsyslog, pero ten mucho cuidado con el comando rm.
Usa algo como lo siguiente para eliminar los archivos de log:
sudo rm -vi /var/log/syslog
Y algo como esto para reiniciar rsyslog
service rsyslog restart
En mi caso yo prefiero en vez de borrarlos cambiarle el propietario a los archivos mencionados usando:
sudo chown syslog:syslog /var/log/syslog
sudo chown syslog:syslog /var/log/kern.log
sudo chown syslog:syslog /var/log/mail.err
sudo chown syslog:syslog /var/log/mail.log
sudo chown syslog:syslog /var/log/ufw.log
ADVERTENCIA: No traten de cambiar los propietarios de todos los archivos dentro del directorio /var/log puesto que algunos podrían necesitar mantenerse como están, es decir podrían dejar de funcionar si les cambian el propietario.

Hasta la próxima.

Fix empty log files in ubuntu

Today I was trying to configure a cronjob and when I try to check if the service was running I found that the syslog file /var/log/syslog was empty, some time ago I did fix a similar problem with /var/log/auth.log file not being owned by the user syslog and after finding this other log file also empty I start suspecting that there is a problem with my server configuration. After a little search this post came out and it was clear to me what the problem was.

The problem
It seems that several log files in ubuntu server are owned by the user messagebus but that user is not the right one, according to this documentation for dropping privileges in rsyslog the following lines in /etc/rsyslog.conf config file define the user and group used for impersonating as another user and/or group after startup:
$PrivDropToUser syslog
$PrivDropToGroup syslog
As you can see the owner of the log files mentioned before should be owned syslog user.

The solution
As indicated here by Dan Ballard first we need to list all files that have the incorrect owner using:
ls -l /var/log/ | grep messagebus
The previous command shows this output:
-rw-r----- 1 messagebus adm        0 oct 22  2012 kern.log
-rw-r----- 1 messagebus adm        0 oct 22  2012 mail.err
-rw-r----- 1 messagebus adm        0 oct 22  2012 mail.log
-rw-r----- 1 messagebus adm        0 mar 13 06:26 syslog
-rw-r----- 1 messagebus adm        0 oct 22  2012 ufw.log
Finally Mr. Ballard says that you just go and delete those files and restart syslog, but be careful with the rm command ¿ok?
use something like this to delete your log files:
sudo rm -vi /var/log/syslog
And this to restart syslog
service rsyslog restart
In my case I prefer not to delete those file but just change their owner using:
sudo chown syslog:syslog /var/log/syslog
sudo chown syslog:syslog /var/log/kern.log
sudo chown syslog:syslog /var/log/mail.err
sudo chown syslog:syslog /var/log/mail.log
sudo chown syslog:syslog /var/log/ufw.log
WARNING: Don't try to change the owner of all files under /var/log because some of them may need to be owned by other user.

Until next time.

lunes, 5 de agosto de 2013

Ubuntu Edge en indiegogo.com

Hola a todos, En caso de que no se enteraran recientemente la gente de Canonical lanzó una campaña para crear un smartphone que tendrá dual boot de ubuntu y android. Los detalles técnicos en lo personal me parecen interesantes y se ve prometedor el dispositivo el cual estaría disponible en el Mayo 2014 si es que logran llegar a la meta. Indiegogo es un sitio de financiamiento a proyectos o iniciativas en el que todos podemos participar y apoyar aquellas cosas que nos gustan o que deseamos ver convertidas en realidad. La campaña de Canonical es bastante ambiciosa pero estoy seguro que si recibe suficiente publicidad llegarán a su meta. Aquí les dejo el enlace para que vean los detalles del proyecto ¡su ayuda hace falta! http://www.indiegogo.com/projects/ubuntu-edge Saludos a todos.