logrotate falha ao girar logs: proprietário da configuração de erro

2

Recentemente, notei que logrotate não roda meus registros.

user1@host:~$ /usr/sbin/logrotate /home/user1/logrotate.conf -v me dá um erro:

error: error setting owner of /home/logs/mylog.log.1 to uid 10111 and gid 10111: 
Operation not permitted
error: error creating output file /var/lib/logrotate/status.tmp:
Permission denied

Esse gid me confunde, pois user1 é apenas um membro de um grupo com diferentes gid :

user1@host:~$ id
uid=10111(user1) gid=1001(mygroup) groups=1001(mygroup)

No entanto, há outro grupo chamado user1 , mas, como mencionei, o usuário real user1 não é seu membro:

user1@host:~$ cat /etc/group | grep user1
user1:x:10111

É algo simples aqui, mas não consigo ver.

UPDATE: aqui está o logrotate.conf:

/home/logs/*.log { rotate 7 daily copytruncate compress notifempty }

user1@host:~$ ls -al /home/logs/ -rw-r--r-- 1 user1 mygroup 190826983 Dec 18 06:05 mylog.log

    
por hdf 18.12.2015 / 05:13

1 resposta

1

Você pode tentar usar a diretiva logrotates create para definir as permissões do arquivo de log recém-criado. Para usá-lo você

/home/logs/*.log {
    rotate 7
    daily
    create 0777 user1 user1
    ^^^^^^^^^^^^^^^^^^^^^^
    copytruncate
    compress
    notifempty
 }

De man logrotate

 create mode owner group, create owner group
     

Imediatamente após a rotação   (antes que o script postrotate seja executado) o arquivo de log é criado (com o mesmo   nome como o arquivo de log apenas girado). mode especifica o modo para o arquivo de log   em octal (o mesmo que chmod (2)), o proprietário especifica o nome do usuário que possuirá   o arquivo de log e group especificam o grupo ao qual o arquivo de log pertencerá.   Qualquer um dos atributos do arquivo de log pode ser omitido. Nesse caso, esses atributos   para o novo arquivo usará os mesmos valores que o arquivo de log original para o   atributos omitidos. Esta opção pode ser desativada usando a opção nocreate.

    
por the_velour_fog 18.12.2015 / 07:28