SELinux 액세스가 거부되었습니다.

SELinux 액세스가 거부되었습니다.

오류 보고서에 SELinux로부터 이 메시지가 계속 나타납니다. 저는 Fedora 13을 실행하고 있으며 계속해서 배우고 있습니다. 원인은 무엇일까요?

Summary:

SELinux is preventing /usr/sbin/semodule access to a leaked /tmp/tmpGTbWYh file
descriptor.

Detailed Description:

[semodule has a permissive type (semanage_t). This access was not denied.]

SELinux denied access requested by the semodule command. It looks like this is
either a leaked descriptor or semodule output was redirected to a file it is not
allowed to access. Leaks usually can be ignored since SELinux is just closing
the  leak and reporting the error. The application does not use the descriptor,
so it will run properly. If this is a redirection, you will not get output in
the /tmp/tmpGTbWYh. You should generate a bugzilla on selinux-policy, and it
will get routed to the appropriate package. You can safely ignore this avc.

Allowing Access:

You can generate a local policy module to allow this access - see FAQ
(http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385)

Additional Information:

Source Context                system_u:system_r:semanage_t:s0-s0:c0.c1023
Target Context                system_u:object_r:initrc_tmp_t:s0
Target Objects                /tmp/tmpGTbWYh [ file ]
Source                        semodule
Source Path                   /usr/sbin/semodule
Port                          <Unknown>
Source RPM Packages           policycoreutils-2.0.83-28.fc13
Target RPM Packages           
Policy RPM                    selinux-policy-3.7.19-62.fc13
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Plugin Name                   leaks

답변1

아마도 시스템 업데이트 후에 이런 현상이 발생한 것 같은데, 재부팅 후에는 임시 파일이 일반적으로 필요하지 않기 때문에 해당 파일을 삭제해 보았습니다.

fuser /tmp/tmpGTbWYh 

이 명령을 사용하면 파일이 프로세스에서 사용되는지 확인할 수 있으며 하나 이상의 숫자(프로세스 ID, PID)가 제공됩니다.

숫자가 없으면 프로세스가 사용되지 않고 파일을 안전하게 삭제할 수 있음을 의미합니다.

rm /tmp/tmpGTbWYh

이 작업을 수행할 권한이 있는 사용자(귀하의 사용자? 루트?)와 함께 위 작업을 수행합니다. ls로 확인할 수 있습니다.

ls -l /tmp/tmpGTbWYh

파일이 프로세스에서 사용되는 경우 ps를 수행하고 fusionr를 수행할 때 찾은 각 PID별로 필터링할 수 있습니다.

ps -ef | grep $PID

$PID를 위에서 찾은 번호로 바꿔야 합니다(퓨저 사용).

이 시점에서 가능한지 결정해야 하며, 응용 프로그램이 파일을 사용하고 있는지 확인하고 파일을 닫거나(가능한 경우) 프로세스를 종료하거나($PID 종료) 파일을 삭제해야 합니다(위험할 수 있음).

결정을 내리는 데 어려움이 있으면 알려주시기 바랍니다.

답변2

SELinux를 끄면 더 이상 이러한 메시지를 받을 수 없습니다. 이 기능을 실제로 켜야 합니까? 끄려면 루트로 로그인하세요.

echo 0 > /selinux/enforce

이 파일을 편집합니다:

vi /etc/selinux/config

속성을 SELINUX다음으로 변경합니다.SELINUX=disabled

관련 정보