Sophos-AV for Linux

um die Installation von Sophos Antivirus auf eine Linuxclient zur erleichtern, habe ich ein Script geschrieben.
Es fragt zunächst ab, ob der benutzer ROOT ist.
Dann fragt es das Betriebssystem ab(nur SUSE oder debian).
Dann ermittelt es, ob das Paket smbclient installiert ist, da das Sophospaket auf einer Windowsfreigabe liegt.
Wenn das Paket smbclient nicht installiert ist, versucht es dieses nachzuinstallieren.
Dann muss der Windowsbenutzername und sein Passwort angegeben werden um sich mit der Freigabe verbinden zu können.
Die SMB-Freigabe auf dem Sophosserver sollte für diesen Benutzer erreichbar sein.
Dann wird das Sophos-Antivirus-Paket von der Freigabe kopiert und installiert.
Das Script habe ich auf einem Firmenwebserver hinterlegt und kann dies so bequem per „wget http://server/installav.sh downloaden und starten.

installav.sh
#!/bin/bash
#Installationsroutine zur Installation von Sophos/js/2010
#installav.sh
#todo: Kernelsourcen + compiler
#
AVSRV="mysophossrv" #servername des Sophosservers muss hier eingetragen werden
NTDOM="myNTDOM" # NT-Domänenname muss hier eingetragen werden.
 
####################################
#Zusatzfunktion zum Nachinstallieren
function SmbInstall()
{
 
#OS abfragen
OS="unknown"
INSTCMD="exit"
 
if [ -f /etc/debian_version ]; then
OS="Debian"
INSTCMD="apt-get -y install smbfs"
echo "zur installation wird das Paket smbfs benötigt."
fi
if [ -f /etc/SuSE-release ]; then
OS="SUSE"
INSTCMD="zypper -n --no-gpg-checks install cifs-mount"
echo "zur weiteren Installation wird das Paket cifs-mount benötgt."
fi
echo "Linuxversion: " $OS ;echo""
echo "installation mit: $INSTCMD";echo""
$INSTCMD;
}
#Ende der Zusatzfunktion
####################################
#auf root testen
if [ !  $UID -eq 0 ];then
echo "Falscher Benutzer!"
echo "Starten Sie dieses Script bitte als root"
echo "versuchen Sie es erneut."
exit 1;
fi
####################################
#Start der Installation
#
echo "Willkommen zu Sophos-Antivirus-Installation"
if [ ! `which smbmount` ];then
echo "Fehler !!!";echo ""
 
 while true;do
 read -p "Soll ich versuchen das SMB-Paket nachzuinstallieren? (J/N Y/N)" yn
 case $yn in
	[YyJj]* ) echo "Yes";SmbInstall;break;;
	[Nn]* ) echo "Nein. Ende!";exit;;
	*)	echo "Ja oder Nein?";;
 esac
done
fi
####################################
#Test ob das Sophos schon installiert ist
if [ -d /opt/sophos-av ]; then
 
 while true;do
 read -p "Sophos ist auf diesem Rechner schon installiert. Updaten ? (J/N Y/N)" yn
 case $yn in
	[YyJj]* ) echo "Ja";break;;
	[Nn]* ) echo "Nein --> Ende";exit;;
	*)	echo "Ja oder Nein?";;
 esac
done
fi
####################################
# Daten für Laufwerksmapping abfragen
echo ""
echo "Bitte geben Sie jetzt Ihren Domänenbenutzernnamen ein:"
read -p "Benutzer:" SMBUSER
echo "Bitte geben Sie Ihr Domänenpasswort ein:"
read -s -p "Passwort:" SMBPASS
echo ""
#hoffentlich stimmen die Anmeldedaten
mkdir /mnt/$AVSRV # 2>/dev/null
mount -t cifs -o user=$SMBUSER,dom=$NTDOM,password=$SMBPASS //$AVSRV/InterChk /mnt/$AVSRV
f=$?
echo ""
if [ ! $f -eq 0 ]; then 
echo "Mountfehler -> Ende"
exit 1;
fi
echo "einen Augenblick bitte... Die Installation läuft ..."
/mnt/$AVSRV/savlinux/install.sh --automatic --acceptlicense --ignore-existing-installation /opt/sophos-av
f=$?
echo ""
if [ ! $f -eq 0 ]; then 
echo "Installationsfehler -> Ende"
umount -l /mnt/$AVSRV #2>/dev/null
rm -r /mnt/$AVSRV #2>/dev/null
exit 1;
fi
####################################
cd
umount -l /mnt/$AVSRV #2>/dev/null
rm -r /mnt/$AVSRV #2>/dev/null
 
SMBPASS=""
echo "Herzlichen Glückwunsch!"
echo "Installation / Update von Sophos wurde erfolgreich durchgeführt!"
exit 0;

zurück