Como desabilitar o SELINUX para o script systemd?

3

Eu tenho um script systemd no CentOS 7 que não funciona corretamente a menos que eu desative o SELINUX. É possível de alguma forma ter o SELINUX ativado no sistema, mas desativá-lo apenas para este script systemd?

O script do systemd:

[Unit]
Description=Tractor Blade Service
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service
RequiresMountsFor=/101.102.103.104/pipeline/

[Service]
Type=simple
User=IRUser
ExecStart=/opt/pixar/Tractor-2.1/bin/tractor-blade --debug --log /101.102.103.104/pipeline/logs/tractor/tractor-blade-%H.log --engine=111.222.333.444 --supersede --pidfile=/var/run/tractor-blade.pid

[Install]
WantedBy=multi-user.target
    
por fredrik 18.06.2015 / 09:53

3 respostas

3

Você poderia executar esse processo como não confinado, de modo que ele teria os mesmos direitos como se o SELinux estivesse desativado.

# This will setup the executable to be unconfined. Temporarily
chcon -t unconfined_exec_t /opt/pixar/Tractor-2.1/bin/tractor-blade
# This command will make that permanent
semanage fcontext -a -t unconfined_exec_t /opt/pixar/Tractor-2.1/bin/tractor-blade

Você pode ler mais sobre processos não confinados na documentação da Red Hat: link

    
por 18.06.2015 / 11:33
0

Tente usar o comando semanage fcontext

semanage fcontext -a -t <YourLabel> -f f <YourPath> deve funcionar.

-a = adiciona um registro para o tipo de objeto fcontext

-t = tipo SELinux para o objeto

-f = tipo de arquivo

    
por 18.06.2015 / 11:03
-2

Security-Enhanced_Linux-Systemd_Access_Control ( link )

Além disso, você pode atualizar o status do selinux como permissivo
setenforce 0
getenforce ou sestatus

    
por 18.06.2015 / 11:00