guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: guix system: init: Make sure the target is root-owned.


From: Ludovic Courtès
Subject: 02/02: guix system: init: Make sure the target is root-owned.
Date: Sat, 23 May 2015 22:26:27 +0000

civodul pushed a commit to branch master
in repository guix.

commit 4a35a866be51361b80a5618e422d135959960c3d
Author: Ludovic Courtès <address@hidden>
Date:   Sat May 23 16:52:17 2015 +0200

    guix system: init: Make sure the target is root-owned.
    
    Suggested by Mark H Weaver <address@hidden>.
    
    * guix/scripts/system.scm (install): Add 'chown' and 'chmod' calls for 
TARGET
      when running as root, and warn otherwise.
---
 guix/scripts/system.scm |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 8d5fbe5..1feb821 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -145,6 +145,16 @@ When GRUB? is true, install GRUB on DEVICE, using 
GRUB.CFG."
             ;; Copy items to the new store.
             (copy-closure to-copy target #:log-port log-port)))))
 
+  ;; Make sure TARGET is root-owned when running as root, but still allow
+  ;; non-root uses (useful for testing.)  See
+  ;; <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00452.html>.
+  (if (zero? (geteuid))
+      (chown target 0 0)
+      (warning (_ "not running as 'root', so \
+the ownership of '~a' may be incorrect!~%")
+               target))
+
+  (chmod target #o755)
   (let ((os-dir   (derivation->output-path os-drv))
         (format   (lift format %store-monad))
         (populate (lift2 populate-root-file-system %store-monad)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]