aboutsummaryrefslogtreecommitdiff
path: root/src/connection/chroot/fork.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/connection/chroot/fork.lisp')
-rw-r--r--src/connection/chroot/fork.lisp2
1 files changed, 2 insertions, 0 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))