user-sessions: make sure /run/nologin has correct SELinux label
authorMichal Sekletar <msekleta@redhat.com>
Fri, 4 Dec 2015 20:33:42 +0000 (21:33 +0100)
committerMichal Sekletar <msekleta@redhat.com>
Fri, 4 Dec 2015 21:01:17 +0000 (22:01 +0100)
src/user-sessions/user-sessions.c

index 252cbdb..d28b196 100644 (file)
@@ -23,7 +23,9 @@
 #include <unistd.h>
 
 #include "fileio.h"
+#include "fileio-label.h"
 #include "log.h"
+#include "selinux-util.h"
 #include "string-util.h"
 #include "util.h"
 
@@ -40,6 +42,8 @@ int main(int argc, char*argv[]) {
 
         umask(0022);
 
+        mac_selinux_init(NULL);
+
         if (streq(argv[1], "start")) {
                 int r = 0;
 
@@ -65,7 +69,7 @@ int main(int argc, char*argv[]) {
         } else if (streq(argv[1], "stop")) {
                 int r;
 
-                r = write_string_file("/run/nologin", "System is going down.", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC);
+                r = write_string_file_atomic_label("/run/nologin", "System is going down.");
                 if (r < 0) {
                         log_error_errno(r, "Failed to create /run/nologin: %m");
                         return EXIT_FAILURE;
@@ -76,5 +80,7 @@ int main(int argc, char*argv[]) {
                 return EXIT_FAILURE;
         }
 
+        mac_selinux_finish();
+
         return EXIT_SUCCESS;
 }