aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/connection/chroot/fork.lisp2
-rw-r--r--src/package.lisp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/connection/chroot/fork.lisp b/src/connection/chroot/fork.lisp
index 0983def..50dcbc9 100644
--- a/src/connection/chroot/fork.lisp
+++ b/src/connection/chroot/fork.lisp
@@ -25,6 +25,8 @@
#-(or sbcl) (foreign-funcall "chroot" :string path :int))
(defmethod establish-connection ((type (eql :chroot.fork)) remaining &key into)
+ (unless (and (lisp-connection-p) (zerop (foreign-funcall "geteuid" :int)))
+ (error "~&Forking into a chroot requires a Lisp image running as root"))
(informat 1 "~&Forking into chroot at ~A" into)
(with-fork-connection (remaining)
(unless (zerop (chroot into))
diff --git a/src/package.lisp b/src/package.lisp
index c2fa817..26d5ef8 100644
--- a/src/package.lisp
+++ b/src/package.lisp
@@ -341,7 +341,7 @@
(:use #:cl
#:consfigurator
#:consfigurator.connection.fork
- #-(or sbcl) #:cffi))
+ #:cffi))
(defpackage :consfigurator.connection.chroot.shell
(:use #:cl