systemd 스크립트에 대해 SELINUX를 비활성화하는 방법은 무엇입니까?

systemd 스크립트에 대해 SELINUX를 비활성화하는 방법은 무엇입니까?

SELINUX를 비활성화하지 않으면 제대로 실행되지 않는 CentOS 7에 시스템 스크립트가 있습니다. 어떻게든 시스템에서 SELINUX를 활성화할 수 있지만 이 시스템 스크립트에 대해서만 비활성화할 수 있습니까?

시스템 스크립트:

[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

답변1

해당 프로세스를 제한 없이 실행할 수 있으므로 SELinux가 비활성화된 것처럼 동일한 권한을 갖게 됩니다.

# 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

Red Hat 문서에서 제한되지 않은 프로세스에 대해 자세히 알아볼 수 있습니다.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

답변2

semanage fcontext 명령을 사용해 보십시오

semanage fcontext -a -t <YourLabel> -f f <YourPath>작동해야합니다.

-a = fcontext 객체 유형에 대한 레코드 추가

-t = 객체의 SELinux 유형

-f = 파일 유형

답변3

보안 강화_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)

또한 selinux 상태를 허용
setenforce 0
getenforce또는 허용으로 업데이트할 수 있습니다.sestatus

관련 정보