]> CyberLeo.Net >> Repos - CDN/j.git/blob - ssh_chrooter
j/ssh_chrooter: stub implementation to toss incoming users into a chroot
[CDN/j.git] / ssh_chrooter
1 #!/bin/sh -e
2
3 # Stub wrapper to be invoked by sshd ForceCommand, to trap a user inside a chroot
4
5 [ "$(id -u)" -eq 0 ] || exec sudo ORIG_USER="${USER}" ORIG_SHELL="${SHELL}" SSH_CLIENT="${SSH_CLIENT}" SSH_CONNECTION="${SSH_CONNECTION}" SSH_ORIGINAL_COMMAND="${SSH_ORIGINAL_COMMAND}" "${0}" "${@}"
6
7 jname="${1}"
8
9 cd "$(dirname "$(dirname "${0}")")"
10 if [ "${SSH_ORIGINAL_COMMAND}" ]
11 then
12   USER="${ORIG_USER}" j/eval "${jname}" "cd; ${SSH_ORIGINAL_COMMAND}"
13 else
14   echo "You are now entering the ${jname} chroot" >&2
15   USER="${ORIG_USER}" j/enter "${jname}"
16 fi
17