From: Planet-Lab Support Date: Tue, 3 May 2005 17:56:40 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create tag X-Git-Tag: planetlab-3_0_1^0 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d2a209ec1f000a15eba603e23c15026511b02c90;hp=8e0081ff1bc14c09b2aab9e0c69b4557ea7e7d51;p=pl_sshd.git This commit was manufactured by cvs2svn to create tag 'planetlab-3_0_1'. --- diff --git a/auto.pl_sshd b/auto.pl_sshd new file mode 100755 index 0000000..ee6b366 --- /dev/null +++ b/auto.pl_sshd @@ -0,0 +1,60 @@ +#!/bin/bash +# +# autofs(5) executable map for /var/pl_sshd/keys/ +# +# Mark Huang +# Copyright (C) 2004 The Trustees of Princeton University +# +# $Id: auto.pl_sshd,v 1.3 2004/10/04 18:43:16 mlh-pl_sshd Exp $ +# + +usage() +{ + echo "usage: $0 slice" >/dev/stderr + exit 1 +} + +[ -z "$1" ] && usage +slice="$1" + +# Try real home directory first +eval home="~$slice" +if [ -f "$home/.ssh/authorized_keys" ] ; then + echo "--bind,-r :$home/.ssh" + exit 0 +fi + +# Try virtual server home directory next +vhome=/vservers/$slice/$(su - $slice -c "echo \$HOME") + +echo -n "Retrieving SSH keys for $slice..." >/dev/stderr + +# Execute this script as the slice user. Remember that the script +# 1. Must be executable by any shell. +# 2. Must not write to stdout. +# 3. Must return a non-zero exit code if an error occurs. +# 4. May be run by a malicious shell. + +su - $slice >/dev/stderr </dev/stderr + exit $rc +fi + +echo "succeeded." >/dev/stderr + +echo "--bind,-r :$vhome/.ssh" +exit 0