2012-05-25 15 views
10

Tratar de usar logrotate y me da el siguiente error al ejecutar la secuencia de comandos de rotación de registro para una definición particular en logrotate.dde error: error al crear el archivo de estado/var/lib/logrotate/estado: Permiso denegado

error: error creating state file /var/lib/logrotate/status: Permission denied

/var/lib/logrotate$ ls -lah 
total 12K 
drwxr-xr-x 2 root root 4.0K 2012-05-11 06:25 . 
drwxr-xr-x 43 root root 4.0K 2012-05-18 08:07 .. 
-rw-r--r-- 1 root root 911 2012-05-25 06:25 status 

no he tocado ese camino, así que preguntarse por qué se crearía un error por defecto ...

Respuesta

0

¿seguro que ejecuta este comando como root ...? ;) I f así que compruebe si hay un AppArmour en el sistema - si es así, verifique su configuración o desinstálela (caso Ubuntu).

+0

No estoy seguro, al final le pedí 'status' al 666 y funcionó. Es posible que tengas razón, así que aceptaré la respuesta :) –

27

DO archivo de estado NOchmod el valor predeterminado a . Si lo hace chmod, cada usuario en el sistema puede usar logrotate como vector de ataque.

Simplemente defina un archivo de estado (privado) para su usuario (suponiendo que está intentando ejecutarlo como usuario normal) con la opción [-s|--state file].

0

Había una línea en un crontab:

* * * * * root logrotate -s /var/run/logrotate.status /etc/logrotate.conf 

A pesar de que se estaba ejecutando como root, no podía deshacerse del "error: error al crear el estado del archivo/var// logrotate/estado de ejecución : Permiso denegado "error.

Así que sólo utiliza un directorio diferente:

* * * * * root /usr/sbin/logrotate -s /var/log/logrotate.status -v /etc/logrotate.conf >/tmp/logrotate.out 2>&1 

Se utiliza la idea de depuración de https://serverfault.com/questions/762587/daily-logrotate-error-creating-unique-temp-file-permission-denied pero lo cambiaron por lo que el archivo de salida no crece indefinidamente, lo que sería irónico.

El modo detallado no proporcionó ninguna información adicional en este caso, por cierto, qué archivo de configuración estaba leyendo y el mismo mensaje de error. Pero era mejor tener el resultado en ese archivo en lugar de en/var/mailspool.

Cuestiones relacionadas