CentOS с SELinux, systemd и stunnel

Я использую CentOS 7.3 с stunnel. Если запускать stunnel так:

stunnel /etc/stunnel/stunnel.conf

Все работает нормально!

Я хотел бы управлять stunnel с помощью systemd. Вот мой stunnel.service:

[Unit]
Description=SSL tunnel for network daemons
Documentation=man:stunnel https://www.stunnel.org/docs.html
DefaultDependencies=no
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target
Alias=stunnel.target

[Service]
Type=forking
EnvironmentFile=-/etc/stunnel/stunnel.conf
ExecStart=/usr/bin/stunnel /etc/stunnel/stunnel.conf
ExecStop=/usr/bin/killall -9 stunnel
RemainAfterExit=yes

И мой stunnel.conf:

cert = /etc/stunnel/ssl/stunnel.crt
chroot = /var/chroot/stunnel
setuid = stunnel
setgid = stunnel
pid = /stunnel.pid
[https]
accept = 443
connect = 80

Проблема в следующем: Если chroot - это / var / chroot / stunnel (каталог и разрешения в порядке!) SELinux блокирует создание PID, когда я это делаю:

systemctl start stunnel

В моем / var / log / secure у меня есть:

Feb 20 15:12:11 kickstart stunnel: LOG3[2505:140354907637824]: Cannot create pid file /stunnel.pid
Feb 20 15:12:11 kickstart stunnel: LOG3[2505:140354907637824]: create: Permission denied (13)

Если я изменю каталог CHROOT с / var / run / stunnel / работает! SELinux не блокирует создание stunnel PID. Но если я перезагружусь, каталог / var / run / stunnel откроется!

Как лучше всего управлять stunnel с помощью systemd без отключения SELinux? Может быть, поменять какие-нибудь конфигурации SELinux?

Спасибо,

0
задан 20 February 2017 в 16:25
1 ответ

В раздел "Сервис" служебного файла следует добавить RuntimeDirectory=stunnel. Это создаст для вас каталог.

.
1
ответ дан 4 December 2019 в 16:21

Теги

Похожие вопросы