/usr/lib/tiger/systems/HPUX/genpasswd is in tiger-otheros 1:3.2.3-10.
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 76 77 78 79 80 81 | #!/bin/sh
#
# tiger - A UN*X security checking system
# Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
# 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 1, 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.
#
# Please see the file `COPYING' for the complete copyright notice.
#
# HPUX/genpasswd - 06/14/93
# HPUX/genpasswd - 06/26/2003 - jfs - Patch to identify password hashes
# HPUX/genpasswd - 06/04/2010 - jfs - Fix shell script syntax errors
#
#-----------------------------------------------------------------------------
#
local=0
for parm
do
case "$parm" in
-p) passwordflag=Y;;
-l) local=1;;
*) outfile="$parm";;
esac
done
zappasswd()
{
IFS=:
while read user passwd rest
do
tcbfile="/tcb/files/auth/${user%${user#?}}/$user"
if [ -f $tcbfile ]; then
passwd=`$AWK -F: '/u_pwd=/ { print substr($2, 7) }' $tcbfile`
fi
# Do not print out the password hashes since we do not need them, instead
# print out the type of hash
if echo $passwd | $EGREP -q "^[a-zA-Z0-9\./]{24}" ; then
# bigcrypt passwords used in trusted mode. (13 + (x * 11)), with at least 24 chars
passwd="bigcrypt"
elif echo $passwd | $EGREP -q "^[a-zA-Z0-9\./]{13}" ; then
# Normal UNIX passwds (13 chars)
passwd="crypt3"
elif ! [ -z "$passwd" ] && [ "$passwd" != "*" ] ; then
passwd="unknown_format"
fi
echo "$user:$passwd:$rest"
done
}
$GREP -v '^[-+]' /etc/passwd |
$SORT |
{
if [ "$passwordflag" = 'Y' ]; then
$CAT
else
zappasswd
fi
} > $WORKDIR/etc_passwd.$$
echo "/etc/passwd" > $WORKDIR/etc_passwd.$$.src
echo $WORKDIR/etc_passwd.$$ >> $outfile
[ -n "$YPCAT" ] && {
$YPCAT passwd |
$SORT |
$COMM -23 - $WORKDIR/etc_passwd.$$ > $WORKDIR/nis_passwd.$$
echo "NIS" > $WORKDIR/nis_passwd.$$.src
echo $WORKDIR/nis_passwd.$$ >> $outfile
}
|