1/* 2 * getenforce 3 * 4 * Based on libselinux 1.33.1 5 * Port to BusyBox Hiroshi Shinji <shiroshi@my.email.ne.jp> 6 * 7 * Licensed under GPLv2, see file LICENSE in this source tree. 8 */ 9//config:config GETENFORCE 10//config: bool "getenforce (1.7 kb)" 11//config: default n 12//config: depends on SELINUX 13//config: help 14//config: Enable support to get the current mode of SELinux. 15 16//applet:IF_GETENFORCE(APPLET(getenforce, BB_DIR_USR_SBIN, BB_SUID_DROP)) 17 18//kbuild:lib-$(CONFIG_GETENFORCE) += getenforce.o 19 20//usage:#define getenforce_trivial_usage NOUSAGE_STR 21//usage:#define getenforce_full_usage "" 22 23#include "libbb.h" 24 25int getenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 26int getenforce_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) 27{ 28 int rc; 29 30 rc = is_selinux_enabled(); 31 if (rc < 0) 32 bb_simple_error_msg_and_die("is_selinux_enabled() failed"); 33 34 if (rc == 1) { 35 rc = security_getenforce(); 36 if (rc < 0) 37 bb_simple_error_msg_and_die("getenforce() failed"); 38 39 if (rc) 40 puts("Enforcing"); 41 else 42 puts("Permissive"); 43 } else { 44 puts("Disabled"); 45 } 46 47 return 0; 48} 49