/usr/sbin/update-dpsyco-users-sshaccess is in dpsyco-ssh 1.0.36.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #!/bin/sh
# DocumentId: $Id: update-dpsyco-users-sshaccess 2402 2007-03-02 06:00:13Z ola $
# Author: $Author: ola $
# Date: $Date: 2007-03-02 07:00:13 +0100 (fre, 02 mar 2007) $
# Summary:
# Updates the user access (via ssh).
#
# Copyright (C) 2001-2004 Ola Lundqvist <opal@debian.org>
# Copyright (C) 2007 Tomas Fasth <tomfa@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
# Read the default dpsyco config.
. /etc/dpsyco/defaults.conf
TESTNFS="/ $DHOME"
. /usr/share/dpsyco/checknfs.test
# Users that exist in password file.
IFS=:
cat $PWDF | while read user junk uid gid gecos home shell ; do
if [ "$user" != "" ] \
&& [ "$user" != "+" ] \
&& [ "$uid" != "" ] \
&& grep -q \^$shell\$ /etc/shells \
&& [ $uid -le $LAST_UID ] \
&& su $user -c "test -w $home" \
&& find "$USERSRC"/*/"$user" -printf "" 2>/dev/null
then
ISSH="$home/.ssh"
RIDENT="$ISSH/identity"
RIDENTP="$RIDENT.pub"
DIDENT="$ISSH/id_dsa"
DIDENTP="$DIDENT.pub"
A1=authorized_keys
AUTHK="$ISSH/$A1"
A2=authorized_keys2
AUTHK2="$ISSH/$A2"
if [ ! -e $RIDENTP -o ! -e $DIDENTP ] ; then
echo "Gen authorized_keys for $user."
if [ ! -e $RIDENTP ] ; then
su $user -c "ssh-keygen -t rsa1 -N '' -f '$RIDENT'"
fi
if [ ! -e $DIDENTP ] ; then
su $user -c "ssh-keygen -t dsa -N '' -f '$DIDENT'"
fi
fi
if [ -e $ISSH ] ; then
> "$AUTHK"
find "$ISSH" "$USERSRC"/*/"$user" -name "*.pub" -type f \
| while read i ; do
cat "$i" >> "$AUTHK"
done
fi
if [ ! -e "$AUTHK2" ] ; then
ln -s $A1 $AUTHK2
fi
chown $uid.$gid $AUTHK
chown $uid.$gid $AUTHK2
fi
done
|