¿Cómo debo de registro de un usuario no root Linux Debian demonio?
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.
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:
- Iniciar como
root
, abrir el archivo, a continuación, suelte los permisos consetuid
.(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. - 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