запуск скрипта bash в сетевом пространстве имен с применением systemd и selinux?

запуск скрипта bash в сетевом пространстве имен с применением systemd и selinux?

У меня есть скрипт, который нужно запустить в сетевом пространстве имен (ip netns exec), и я написал файл службы systemd.

Однако запуск невозможен, сообщает journalctl -xe:

ip[7918]: выполнение "/usr/share/stats/run_collect.sh" не удалось: Отказано в доступе

Файл службы выполняет команду как (это инстанцированная служба)

ExecStart=/sbin/ip netns exec ns%i /usr/share/stats/run_collect.sh %i

Selinux находится в режиме enforcing, и чтобы он заработал, мне нужно запустить semanage permissive -a ifconfig_t.
Без этого скрипт не будет выполнен,

В ходе моих различных попыток я попал в ситуацию, которую не могу воспроизвести, когда скрипт запускался, но затем терпел неудачу, потому что процесс tcpdump, запущенный скриптом, пропустил правильный контекст selinux для записи в файл журнала в /var/log/stats/. (Я ​​думаю, что я попал в эту ситуацию, когда выполнил semanage fcontext -a -t ifconfig_exec_t /usr/share/stats/run_collect.shи применил его с помощью restorecon -Frvv /usr/share/stats/. Повторение этого не сработало...)

Каков наилучший подход, чтобы это работало без настройки домена ifconfig_t как разрешающего?

Связанный контент