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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
|
# -*- 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.
#
# SunOS/4/config - 06/14/93
#
#-----------------------------------------------------------------------------
#
UNAME=`whoami`
export UNAME
[ "$UNAME" != "root" ] && {
echo " " 1>&2
echo "This script should be run from a super-user account." 1>&2
echo " " 1>&2
# exit 1
}
findcmd()
{
CMD=$1
SRCH=/usr/lib/tiger/bin:/usr/local/lib/tiger/bin:/bin:/usr/bin:/usr/sbin:/sbin:/usr/lib:/usr/lib/tiger/bin:/usr/local/bin:/usr/local/sbin
SAVEIFS=$IFS
IFS=:
set $SRCH
IFS=$SAVEIFS
for dir
do
[ $TESTEXEC $dir/$CMD ] && {
echo $dir/$CMD
return
}
done
}
TESTEXEC=-x
export TESTEXEC
RM=`findcmd rm`
AWK=`findcmd awk`
CAT=`findcmd cat`
LS=`findcmd ls`
CUT=`findcmd cut`
WC=`findcmd wc`
LSGROUP="-l"
# -L to show file instead of symlink
LSLINK="-L"
GREP=`findcmd grep`
EGREP=`findcmd egrep`
SED=`findcmd sed`
SORT=`findcmd sort`
COMM=`findcmd comm`
TAIL=`findcmd tail`
HEAD=`findcmd head`
MV=`findcmd mv`
TR=`findcmd tr`
JOIN=`findcmd join`
GROUPC=`findcmd groups`
FILECMD=`findcmd file`
UNIQ=`findcmd uniq`
BASENAME=`findcmd basename`
CHMOD=`findcmd chmod`
CHOWN=`findcmd chown`
LN=`findcmd ln`
PASTE=`findcmd paste`
DIFF=`findcmd diff`
# We use sendmail better than mail since we use it to
# send appropiate headers
MAILER=`findcmd sendmail`
[ -z "$MAILER" ] && MAILER=`findcmd mail`
DPKG=`findcmd dpkg`
NETSTAT=`findcmd netstat`
LSOF=`findcmd lsof`
MD5SUM=`findcmd md5sum`
REALPATH=`findcmd realpath`
SGREP="$EGREP -s"
X=`$EGREP -s : /etc/passwd 2>&1 | $TAIL -1`
[ "$X" != "" ] && {
SGREP="$GREP -s"
X=`$GREP -s : /etc/passwd 2>&1 | $TAIL -1`
[ "$X" != "" ] && {
SGREP="$BASEDIR/util/sgrep"
}
}
SNEFRU=`findcmd snefru`
export CAT LS LSGROUP LSLINK RM AWK GREP EGREP SGREP SED
export SORT COMM TAIL MV TR JOIN GROUPC FILECMD UNIQ BASENAME HEAD
export CHMOD CHOWN LN PASTE DPKG LSOF NETSTAT MD5SUM CUT
export SNEFRU REALPATH
UNAME=`findcmd uname`
HOSTNAME=`findcmd hostname`
EXPR=`findcmd expr`
STRINGS=`findcmd strings`
FIND=`findcmd find`
GETHOSTNAME=`findcmd hostname`
FINDXDEV=-xdev
FMT=`findcmd fmt`
GETFS=`findcmd mount`
CC=`findcmd cc || findcmd gcc`
PS=`findcmd ps`
DATE=`findcmd date`
DATECMD="$DATE +%y%m%d"
TIMECMD="$DATE +%H:%M"
TESTLINK=-L
export TESTLINK
export UNAME HOSTNAME EXPR STRINGS FIND FINDXDEV
export FMT GETFS CC PS DATE DATECMD TIMECMD
WAIT=wait
SENDMAILS="/usr/sbin/sendmail"
SENDMAILCF="/etc/sendmail.cf"
export SENDMAILS SENDMAILCF
YPCAT=`findcmd ypcat`
YP=
($PS aux | $GREP ypbind | $SGREP -v $GREP) && YP=Y
export YP
YPSERVER="NO"
($PS aux | $GREP ypserv | $SGREP -v $GREP) && YPSERVER="YES"
export WAIT YPCAT YPSERVER
# Directories
MAILSPOOL=/var/spool/mail
#
CRONSPOOL=/usr/spool/cron/crontabs
#
ETCSHELLS=/etc/shells
#
LSCRIPTDIR=$BASEDIR/systems/$OS/$REL
export MAILSPOOL CRONSPOOL ETCSHELLS LSCRIPTDIR
LOCFS=ext2
export LOCFS
FS_WDIRSYS="/tmp/ /var/tmp/ /var/spool/mail/"
export FS_WDIRSYS
#
SYSDEFAULTPATH="/bin:/usr/bin"
export SYSDEFAULTPATH
CDIR="$BASEDIR/systems"
eval `
while read var file
do
if [ -f "$CONFIG_DIR/$file" ]; then
loc="$CONFIG_DIR"
elif [ -f "$CDIR/$OS/$REL/$REV/$ARCH/$file" ]; then
loc="$CDIR/$OS/$REL/$REV/$ARCH"
elif [ -f "$CDIR/$OS/$REL/$REV/$file" ]; then
loc="$CDIR/$OS/$REL/$REV"
elif [ -f "$CDIR/$OS/$REL/$file" ]; then
loc="$CDIR/$OS/$REL"
elif [ -f "$CDIR/$OS/$file" ]; then
loc="$CDIR/$OS"
else
loc=""
fi
if [ "$loc" != "" ]; then
echo $var="$loc/$file;"
else
echo "$var=;"
fi
echo "export $var;"
done << EOL
GEN_PASSWD_SETS gen_passwd_sets
GEN_GROUP_SETS gen_group_sets
GEN_ALIAS_SETS gen_alias_sets
CHECK_CRON check_cron
GEN_BOOTPARAM_SETS gen_bootparam_sets
GEN_EXPORT_SETS gen_export_sets
GEN_SERVICES_SETS gen_services
GET_MOUNTS gen_mounts
SIGNATURE_FILE signatures
SERVICESFILE services
INETDFILE inetd
FILE_ACL file_access_list
SUID_LIST suid_list
SGID_LIST sgid_list
REL_FILE_EXCP rel_file_exp_list
GEN_CRON_FILES gen_cron
GETCLIENTDIRS gendlclients
GEN_INETD_SETS gen_inetd
GETDISKS getdisks
EMBEDDEDLIST embedlist
GETUSERHOME getuserhome
EOL
`
|