#!/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