3 # autofs(5) executable map for /var/pl_sshd/keys/
5 # Mark Huang <mlhuang@cs.princeton.edu>
6 # Copyright (C) 2004 The Trustees of Princeton University
8 # $Id: auto.pl_sshd,v 1.3 2004/10/04 18:43:16 mlh-pl_sshd Exp $
13 echo "usage: $0 slice" >/dev/stderr
20 # Try real home directory first
22 if [ -f "$home/.ssh/authorized_keys" ] ; then
23 echo "--bind,-r :$home/.ssh"
27 # Try virtual server home directory next
28 vhome=/vservers/$slice/$(su - $slice -c "echo \$HOME")
30 echo -n "Retrieving SSH keys for $slice..." >/dev/stderr
32 # Execute this script as the slice user. Remember that the script
33 # 1. Must be executable by any shell.
34 # 2. Must not write to stdout.
35 # 3. Must return a non-zero exit code if an error occurs.
36 # 4. May be run by a malicious shell.
38 su - $slice >/dev/stderr <<EOF
39 install -d -m 700 \$HOME/.ssh/
40 touch \$HOME/.ssh/authorized_keys
41 chmod 600 \$HOME/.ssh/authorized_keys
45 --connect-timeout 30 \
47 --output \$HOME/.ssh/authorized_keys \
48 "http://localhost:815/keys?slice=$slice"
52 if [ $rc -ne 0 ] ; then
53 echo "failed with error $rc." >/dev/stderr
57 echo "succeeded." >/dev/stderr
59 echo "--bind,-r :$vhome/.ssh"