A permissão de gravação no arquivo NÃO é concedida quando usada pelo postfix

3

Eu tenho que mudar minha plataforma de trabalho do Ubuntu para o Centos7.

Meu script está funcionando bem no Ubuntu, mas ainda não no Centos.

Meu script deve atualizar o arquivo /tmp/CheckAccessRight.log, quando o script é executado manualmente, a "permissão de gravação" é concedida ao arquivo.

test -w /tmp/CheckAccessRight.log

Se o script é chamado via postfix, a "permissão de gravação" NÃO é concedida ao arquivo.

# cat / etc / aliases

check:  "|/home/owner/bin/CheckAccessRight.sh"

$ ls -l / etc / aliases *

-rw-r--r--. 1 root root  5730 Nov 10 11:53 /etc/aliases
-rw-r--r--. 1 root root 12288 Nov 10 11:53 /etc/aliases.db

$ ls -l /tmp/CheckAccessRight.log

-rw-rw-r--. 1 owner owner 7843 Nov 10 12:26 /tmp/CheckAccessRight.log

/etc/postfix/main.cf:default_privs = proprietário

Alguma ideia?

$ sestatus

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31
    
por Fdv 10.11.2018 / 12:40

1 resposta

1

Eu verifiquei o registro de auditoria:

*grep CheckAccessRight.log  /var/log/audit/audit.log*

type=AVC msg=audit(1541841282.927:466): avc: denied { write } for pid=10383 comm="vismail-dispatc" name="CheckAccessRight.log" dev="dm-0" ino=16777285 scontext=system_u:system_r:postfix_local_t:s0 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file

*semanage permissive -a postfix_local_t*
*semodule -l | grep permissive*

permissive_postfix_local_t (null)

permissivedomains (null)

Estou progredindo, "permissão de gravação" no arquivo é AGORA concedido quando usado pelo postfix!

Parece estar ok!

    
por 10.11.2018 / 19:40