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

使用有权执行此操作的用户(您的用户?root?)执行上述操作,您可以使用 ls 检查这一点

ls -l /tmp/tmpGTbWYh

如果该文件被任何进程使用,您可以执行 ps 并按您在执行 fusionr 时找到的每个 PID 进行过滤

ps -ef | grep $PID

您必须将 $PID 替换为上面找到的数字(使用定影器)。

此时,您应该决定是否可以,确定应用程序正在使用该文件并关闭它(如果可以的话),或者终止该进程(杀死 $PID),或者无论如何删除该文件(这可能有风险)。

如果您难以做出决定,请告诉我们。

答案2

关闭 SELinux,您将不会再收到这些消息 - 您真的需要打开此功能吗?要关闭它,请以 root 身份登录:

echo 0 > /selinux/enforce

编辑这个文件:

vi /etc/selinux/config

并将属性更改SELINUXSELINUX=disabled

相关内容