Ich habe ein systemd-Skript in CentOS 7, das nicht richtig ausgeführt wird, wenn ich SELINUX nicht deaktiviere. Ist es möglich, SELINUX auf dem System zu aktivieren, es aber nur für dieses systemd-Skript zu deaktivieren?
Das systemd-Skript:
[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
Antwort1
Sie könnten diesen Prozess uneingeschränkt ausführen, sodass er über dieselben Rechte verfügte, als wäre SELinux deaktiviert.
# 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
Weitere Informationen zu uneingeschränkten Prozessen finden Sie in der Red Hat-Dokumentation:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Targeted_Policy-Unconfined_Processes.html
Antwort2
Versuchen Sie, den Befehl semanage fcontext zu verwenden
semanage fcontext -a -t <YourLabel> -f f <YourPath>
sollte arbeiten.
-a = einen Datensatz für den Objekttyp fcontext hinzufügen
-t = SELinux-Typ für das Objekt
-f = Dateityp
Antwort3
Security-Enhanced_Linux-Systemd_Access_Control (https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/chap-Security-Enhanced_Linux-Systemd_Access_Control.html)
Sie können den Selinux-Status auch als permissiv
setenforce 0
getenforce
odersestatus