Назад | Перейти на главную страницу

Разрешение на запись в файл НЕ предоставляется при использовании 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 = владелец

Любая идея ?

$ сестатус

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

Я проверил журнал аудита:

*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 = unlimited_u: object_r: user_tmp_t: s0 tclass = файл

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

permissive_postfix_local_t (ноль)

permissivedomains (нуль)

Я прогрессирую, "Разрешение на запись" в файл СЕЙЧАС предоставляется при использовании postfix!

Кажется, все в порядке!