![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/setroubleshoot/ |
#! /usr/libexec/platform-python -Es # Authors: Petr Lautrbach <[email protected]> # # Copyright (C) 2020 Red Hat, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from gi.repository import GLib from pydbus import SystemBus import setroubleshoot.util import signal loop = GLib.MainLoop() class Privileged(object): """ <node> <interface name='org.fedoraproject.SetroubleshootPrivileged'> <method name='get_rpm_nvr_by_scontext'> <arg type='s' name='scontext' direction='in'/> <arg type='s' name='rpmnvr' direction='out'/> </method> <method name='finish'/> </interface> </node> """ def __init__(self, timeout=10): self.timeout = timeout self.alarm(self.timeout) def alarm(self, timeout=10): signal.alarm(timeout) def get_rpm_nvr_by_scontext(self, scontext): """Finds an SELinux module which defines given SELinux context""" signal.alarm(self.timeout) rpmnvr = setroubleshoot.util.get_rpm_nvr_by_scontext(scontext) if rpmnvr is None: return "" return rpmnvr def finish(self): loop.quit() if __name__ == "__main__": bus = SystemBus() bus.publish("org.fedoraproject.SetroubleshootPrivileged", Privileged()) loop.run()