#include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { const char *path = "/selinux/permissive"; int fd, rc; if (argv[1] == NULL) { fprintf(stderr, "usage: %s \n", argv[0]); return -1; } fd = open(path, O_RDWR); if (fd < 0) { fprintf(stderr, "could not open %s (%s)\n", path, strerror(errno)); return -1; } rc = write(fd, argv[1], strlen(argv[1])); if (rc < 0) { fprintf(stderr, "error: write('%s', '%s') (%s)\n", path, argv[1], strerror(errno)); return -1; } printf("%s is %s permissive domain\n", argv[1], rc ? "a" : "NOT a"); close(fd); return 0; }