• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import sys
2import dbus
3import dbus.service
4import dbus.mainloop.glib
5from slip.dbus import polkit
6
7class SELinuxDBus (object):
8    def __init__ (self):
9        self.bus = dbus.SystemBus()
10        self.dbus_object = self.bus.get_object("org.selinux", "/org/selinux/object")
11
12    @polkit.enable_proxy
13    def semanage (self, buf):
14        ret = self.dbus_object.semanage(buf, dbus_interface = "org.selinux")
15        return ret
16
17    @polkit.enable_proxy
18    def restorecon (self, path):
19        ret = self.dbus_object.restorecon(path, dbus_interface = "org.selinux")
20        return ret
21
22    @polkit.enable_proxy
23    def setenforce (self, value):
24        ret = self.dbus_object.setenforce(value, dbus_interface = "org.selinux")
25        return ret
26
27    @polkit.enable_proxy
28    def customized (self):
29        ret = self.dbus_object.customized(dbus_interface = "org.selinux")
30        return ret
31
32    @polkit.enable_proxy
33    def semodule_list (self):
34        ret = self.dbus_object.semodule_list(dbus_interface = "org.selinux")
35        return ret
36
37    @polkit.enable_proxy
38    def relabel_on_boot(self, value):
39        ret = self.dbus_object.relabel_on_boot(value, dbus_interface = "org.selinux")
40        return ret
41
42    @polkit.enable_proxy
43    def change_default_mode(self, value):
44        ret = self.dbus_object.change_default_mode(value, dbus_interface = "org.selinux")
45        return ret
46
47    @polkit.enable_proxy
48    def change_default_policy(self, value):
49        ret = self.dbus_object.change_default_policy(value, dbus_interface = "org.selinux")
50        return ret
51
52if __name__ == "__main__":
53    try:
54        dbus_proxy = SELinuxDBus()
55        resp = dbus_proxy.setenforce(int(sys.argv[1]))
56        print (resp)
57    except dbus.DBusException, e:
58        print e
59