busybox/selinux/getenforce.c
<<
>>
Prefs
   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
  10//usage:#define getenforce_trivial_usage NOUSAGE_STR
  11//usage:#define getenforce_full_usage ""
  12
  13#include "libbb.h"
  14
  15int getenforce_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  16int getenforce_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
  17{
  18        int rc;
  19
  20        rc = is_selinux_enabled();
  21        if (rc < 0)
  22                bb_error_msg_and_die("is_selinux_enabled() failed");
  23
  24        if (rc == 1) {
  25                rc = security_getenforce();
  26                if (rc < 0)
  27                        bb_error_msg_and_die("getenforce() failed");
  28
  29                if (rc)
  30                        puts("Enforcing");
  31                else
  32                        puts("Permissive");
  33        } else {
  34                puts("Disabled");
  35        }
  36
  37        return 0;
  38}
  39