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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#!/bin/sh
#
# tiger - A UN*X security checking system
# Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
# Please see the file `COPYING' for the complete copyright notice.
#
# util/gethostinfo - 04/22/93
#
#-----------------------------------------------------------------------------
#
findcmd()
{
CMD=$1
SRCH=/bin:/usr/bin:/etc:/usr/etc:/usr/ucb
SAVEIFS=$IFS
IFS=:
set $SRCH
IFS=$SAVEIFS
for dir
do
[ $TESTEXEC $dir/$CMD ] && {
echo $dir/$CMD
return
}
done
}
TESTEXEC=-x
( [ $TESTEXEC /bin/sh ] ) 2> $WORKDIR/te.$$
[ -s $WORKDIR/te.$$ ] && TESTEXEC=-f
export TESTEXEC
RM=`findcmd rm`
[ -n "$RM" ] && $RM $WORKDIR/te.$$
AWK=`findcmd awk`
#------------------------------------------------------------------------
# This should get:
#
# Sun, Cray, AIX, HP-UX, IRIX
#
UNAME=`findcmd uname`
[ -n "$UNAME" ] && {
$UNAME -a |
$AWK '
{
if($5 == "CRAY"){
printf("UNICOS %s %s.%s\n", $3, $5, $6);
}
else if($1 == "SunOS"){
printf("%s %s %s\n", $1, $3, $5);
}
else if($1 == "AIX"){
printf("%s %s.%s RS6000\n", $1, $4, $3);
}
else if($1 == "HP-UX"){
printf("HPUX %s %s\n", $3, $5);
}
else if($1 == "IRIX"){
printf("IRIX %s %s\n", $3, $5);
}
else if($1 == "Linux"){
printf("Linux %s %s\n",$3, $11);
}
}
'
exit
}
#------------------------------------------------------------------------
# This should get:
#
# NeXT
#
HOSTINFO=`findcmd hostinfo`
[ -n "$HOSTINFO" ] && {
$HOSTINFO |
$AWK '
BEGIN {
OS="";
REV="";
ARCH="";
}
NR == 2 {
OS=$1
REV=substr($3,1,length($3)-1);
}
NR == 6 && NF == 4 {
ARCH=substr($4,2,length($4)-2);
}
NR == 6 && NF == 3 {
ARCH=$3
}
END {
printf("%s %s %s\n", OS, REV, ARCH);
}
'
exit
}
#
exit 0
#
exit 0
#
exit 0
|