Pregunta

Estoy escribiendo un nuevo demonio, que será organizada en Linux Debian.

He encontrado que el /var/log tiene root permisos de escritura, por lo que mi demonio no puede escribir archivos de registro de allí.

Sin embargo, si se escribe allí, parece ganancia automática de la rotación de registros, y también trabajo como un usuario podría esperar.

¿Cuál es la forma recomendada para un demonio para escribir entradas del registro que aparecen en /var/log, sin tener que ser ejecutado como root?

El demonio es un servidor web, por lo que el registro de tráfico será similar a Apache.

¿Fue útil?

Solución

Debería crear un subdirectorio como /var/log/mydaemon tener la propiedad del usuario del demonio

Otros consejos

Como root, crear un archivo de allí y cambiar los archivos propietario al usuario del servidor de web:

# touch /var/log/myserver.log
# chown wwwuser /var/log/myserver.log

A continuación, el servidor puede escribir en los archivos si se ejecuta como usuario wwwuser.No va a ganar automática de la rotación de registros, sin embargo.Usted tiene que agregar el archivo de registro para /etc/logrotate.conf o /etc/logrotate.d/... y hacer que el servidor vuelva a abrir el archivo de registro cuando logrotate las señales de lo que debería.

También se pueden utilizar syslog para el registro, si que se ajuste a tu situación mejor.

Dos opciones:

  1. Iniciar como root, abrir el archivo, a continuación, suelte los permisos con setuid.(No recuerdo exactamente las llamadas del sistema, para dejar a los permisos). Tendrás que hacer esto de todos modos si desea enlazar el puerto TCP 80 o cualquiera de los puertos por debajo del 1024.
  2. Crear un subdirectorio como /var/log/midemonio tener el demonio del usuario de la propiedad, como WiseTechi dijo.

Los archivos bajo /var/log no se rotan automáticamente;en cambio, la rotación es controlada por /etc/logrotate.conf y los archivos en /etc/logrotate.d.

use el " logger " comando

http://linux.die.net/man/1/logger

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top