web-dev-qa-db-ja.com

postfixで使用する場合、ファイルへの書き込み権限は付与されません

作業プラットフォームをUbuntuからCentos7に変更する必要があります。

私のスクリプトはUbuntuで正常に動作していますが、Centosではまだ動作していません。

スクリプトを手動で実行すると、ファイルに「書き込み権限」が付与され、スクリプトは/tmp/CheckAccessRight.logファイルを更新することになっています。

test -w /tmp/CheckAccessRight.log

スクリプトが接尾辞を介して呼び出された場合、「書き込み権限」はファイルに付与されません。

#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 = owner

何か案が ?

$ 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
3
Fdv

監査ログを確認しました。

*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)

進行中です。ファイルの「書き込み権限」は[〜#〜] now [〜#〜]接尾辞で使用すると付与されます!

Ok!

1
Fdv