/* setenforce.c - Set the current SELinux mode * * Copyright 2014 The Android Open Source Project USE_SETENFORCE(NEWTOY(setenforce, "<1>1", TOYFLAG_USR|TOYFLAG_SBIN)) config SETENFORCE bool "setenforce" default y depends on TOYBOX_SELINUX help usage: setenforce [enforcing|permissive|1|0] Sets whether SELinux is enforcing (1) or permissive (0). */ #define FOR_setenforce #include "toys.h" void setenforce_main(void) { char *new = *toys.optargs; int state, ret; if (!is_selinux_enabled()) error_exit("SELinux is disabled"); else if (!strcmp(new, "1") || !strcasecmp(new, "enforcing")) state = 1; else if (!strcmp(new, "0") || !strcasecmp(new, "permissive")) state = 0; else error_exit("Invalid state: %s", new); ret = security_setenforce(state); if (ret == -1) perror_msg("Couldn't set enforcing status to '%s'", new); }