summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/services.scm37
1 files changed, 20 insertions, 17 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index f0bbbb27a51..8d0d5a08b45 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -893,23 +893,26 @@ FILES must be a list of name/file-like object pairs."
893 893
894(define (privileged-program->activation-gexp programs) 894(define (privileged-program->activation-gexp programs)
895 "Return an activation gexp for privileged-program from PROGRAMS." 895 "Return an activation gexp for privileged-program from PROGRAMS."
896 (let ((programs (map (lambda (program) 896 (let ((programs
897 ;; FIXME This is really ugly, I didn't managed to use 897 (map (lambda (program)
898 ;; "inherit" 898 ;; FIXME This is really ugly, I didn't manage to use "inherit".
899 (let ((program-name (privileged-program-program program)) 899 (let ((program-name (privileged-program-program program))
900 (setuid? (privileged-program-setuid? program)) 900 (setuid? (privileged-program-setuid? program))
901 (setgid? (privileged-program-setgid? program)) 901 (setgid? (privileged-program-setgid? program))
902 (user (privileged-program-user program)) 902 (user (privileged-program-user program))
903 (group (privileged-program-group program)) 903 (group (privileged-program-group program))
904 (capabilities (privileged-program-capabilities program))) 904 (capabilities (privileged-program-capabilities program)))
905 #~(privileged-program 905 (unless (or setuid? setgid? capabilities)
906 (setuid? #$setuid?) 906 (warning
907 (setgid? #$setgid?) 907 (G_ "so-called privileged-program ~s lacks any privilege~%")
908 (user #$user) 908 program-name))
909 (group #$group) 909 #~(privileged-program (setuid? #$setuid?)
910 (capabilities #$capabilities) 910 (setgid? #$setgid?)
911 (program #$program-name)))) 911 (user #$user)
912 programs))) 912 (group #$group)
913 (capabilities #$capabilities)
914 (program #$program-name))))
915 programs)))
913 (with-imported-modules (source-module-closure 916 (with-imported-modules (source-module-closure
914 '((gnu system privilege))) 917 '((gnu system privilege)))
915 #~(begin 918 #~(begin