| import sys |
| import dbus |
| import dbus.service |
| import dbus.mainloop.glib |
| from slip.dbus import polkit |
| |
| class SELinuxDBus (object): |
| def __init__ (self): |
| self.bus = dbus.SystemBus() |
| self.dbus_object = self.bus.get_object("org.selinux", "/org/selinux/object") |
| |
| @polkit.enable_proxy |
| def semanage (self, buf): |
| ret = self.dbus_object.semanage(buf, dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def restorecon (self, path): |
| ret = self.dbus_object.restorecon(path, dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def setenforce (self, value): |
| ret = self.dbus_object.setenforce(value, dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def customized (self): |
| ret = self.dbus_object.customized(dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def semodule_list (self): |
| ret = self.dbus_object.semodule_list(dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def relabel_on_boot(self, value): |
| ret = self.dbus_object.relabel_on_boot(value, dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def change_default_mode(self, value): |
| ret = self.dbus_object.change_default_mode(value, dbus_interface = "org.selinux") |
| return ret |
| |
| @polkit.enable_proxy |
| def change_default_policy(self, value): |
| ret = self.dbus_object.change_default_policy(value, dbus_interface = "org.selinux") |
| return ret |
| |
| if __name__ == "__main__": |
| try: |
| dbus_proxy = SELinuxDBus() |
| resp = dbus_proxy.setenforce(int(sys.argv[1])) |
| print (resp) |
| except dbus.DBusException, e: |
| print e |