diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2022-06-17 13:49:34 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2022-06-17 14:13:58 -0700 |
commit | f2191929a8888e4b8799cda3c7c188020a4cabf6 (patch) | |
tree | e7911a1fe279499505900ee7a5be0d0cfb6ec16e /src/connection/linux-namespace.lisp | |
parent | 0b1fdac4616a56831827134abae259eadd3dc67d (diff) | |
download | consfigurator-f2191929a8888e4b8799cda3c7c188020a4cabf6.tar.gz |
wrap OSICAT:USER-INFO with getent(1) fallback
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/connection/linux-namespace.lisp')
-rw-r--r-- | src/connection/linux-namespace.lisp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/connection/linux-namespace.lisp b/src/connection/linux-namespace.lisp index 2924f2e..a17b4e4 100644 --- a/src/connection/linux-namespace.lisp +++ b/src/connection/linux-namespace.lisp @@ -277,6 +277,8 @@ setgroups(2) is denied in the namespace." (let ((owner (get-userns-owner (caar ns-fds)))) (if (zerop owner) (nix:setgroups nil) + ;; We can't use USER:USER-INFO here because we can't + ;; run commands using RUNLINES. (alet (osicat:user-info owner) ;; As a precaution, we could also setuid & setgid to ;; OWNER here. However, it ought to be meaningless @@ -330,6 +332,8 @@ setgroups(2) is denied in the namespace." (nix:fchdir root-fd) (chroot "."))) (mapc #'nix:close opened-fds)) (when uid + ;; We similarly can't use USER:USER-INFO here because we still can't + ;; run commands using RUNLINES. (alet (or (osicat:user-info uid) (error "~&Could not look up user info for UID ~A." uid)) (setf user (cdr (assoc :name it))) |