Não é possível habilitar a regra personalizada do SELinux

5

logrotate é incapaz de rotacionar um arquivo de log para nosso aplicativo no CentOS 7. Isto parece ser devido a este erro do AVC:

type=AVC msg=audit(1441112694.305:19502): avc:  denied  { write } for  pid=9146 comm="logrotate" name="autuitive.log" dev="xvda1" ino=26262388 scontext=system_u:system_r:logrotate_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:usr_t:s0 tclass=file

Eu passei o erro para o utilitário audit2allow para criar uma regra para permitir isso, mas quando tento ativar a regra, recebo o seguinte erro:

[root@app1 ~]# semodule -i logrotate.pp
libsepol.print_missing_requirements: logrotate's global requirements were not met: type/attribute logrotate_t (No such file or directory).
libsemanage.semanage_link_sandbox: Link packages failed (No such file or directory).
semodule:  Failed!

Aqui está a regra em si que foi gerada:

[root@app1 ~]# cat logrotate.te 

module logrotate 1.0;

require {
    type logrotate_t;
    type usr_t;
    class file write;
}

#============= logrotate_t ==============
allow logrotate_t usr_t:file write;
    
por Soviero 01.09.2015 / 15:49

1 resposta

7

Acho que isso é causado porque já haverá um arquivo logrotate.pp no sistema ( /etc/selinux/targeted/modules/active/modules/logrotate.pp ).

Você deve criar sua política local com um nome diferente, por exemplo,

audit2allow -M MY_logrotate <somefilewithmessages

use então

semodule -i MY_logrotate.pp 

para instalá-lo. Sim, não é a melhor das mensagens de erro.

    
por 01.09.2015 / 16:07