#!/bin/sh # Skripta za automatsko podesavanje sistema # $Id: unconfigured.sh,v 1.16 2003/12/21 00:13:21 kreator Exp kreator $ # set -e # postavi sve varijable odmah na pocetku CARNET_HOSTNAME="" CARNET_DOMAINNAME="" CARNET_IP="" CARNET_GATEWAYIP="" CARNET_NETMASK="255.255.255.0" ime_stroja () { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile" 0 1 2 5 15 $DIALOG --cancel-label "Nazad" --cr-wrap \ --title "Naziv racunala" \ --backtitle "$VERSION" \ --inputbox " Upisite ime racunala (bez domene). Npr. zagreb ako je racunalo zagreb.ffak.hr " 11 52 "$CARNET_HOSTNAME" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=ime_stroja else DALJE=domena cat $tempfile > /etc/hostname CARNET_HOSTNAME=`cat $tempfile` cp /dev/null /etc/network/ifstate hostname --file /etc/hostname >/dev/null fi } domena() { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile" 0 1 2 5 15 $DIALOG --cancel-label "Nazad" --cr-wrap \ --title "Domena" \ --backtitle "$VERSION" \ --inputbox " Upisite vasu domenu. Npr. ffak.hr, srce.hr, itd. " 11 52 "$CARNET_DOMAINNAME" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=ime_stroja else DALJE=adresa_stroja CARNET_DOMAINNAME=`cat $tempfile` echo "$CARNET_HOSTNAME.$CARNET_DOMAINNAME" > /etc/mailname fi } adresa_stroja () { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile" 0 1 2 5 15 $DIALOG --cancel-label "Nazad" --cr-wrap \ --title "IP adresa stroja" \ --backtitle "$VERSION" \ --inputbox " Upisite IP adresu vaseg posluzitelja. Npr. 161.53.178.3 Napomena: .3 je CARNetova standardna adresa za cvorno racunalo. " 13 52 "$CARNET_IP" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=domena else DALJE=cn_netmask CARNET_IP=`cat $tempfile` fi } cn_netmask () { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile" 0 1 2 5 15 $DIALOG --cancel-label "Nazad" --cr-wrap \ --title "Mrezna maska" \ --backtitle "$VERSION" \ --inputbox " Upisite mreznu masku (netmask). Npr. $CARNET_NETMASK " 11 52 "$CARNET_NETMASK" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=adresa_stroja else DALJE=cn_gateway CARNET_NETMASK=`cat $tempfile` fi } cn_gateway () { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile" 0 1 2 5 15 if [ -z "$CARNET_GATEWAYIP" ]; then CARNET_GATEWAYIP=`echo $CARNET_IP | perl -pe 's/\d+$/1/'` fi $DIALOG --cancel-label "Nazad" --cr-wrap \ --title "IP adresa gateway stroja" \ --backtitle "$VERSION" \ --inputbox " Upisite IP adresu gateway racunala, onoga preko kojega ovo racunalo (i ostatak mreze) izlazi na Internet. Npr. $CARNET_GATEWAYIP " 13 52 "$CARNET_GATEWAYIP" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=cn_netmask else DALJE=cn_summary CARNET_GATEWAYIP=`cat $tempfile` fi } cn_summary () { $DIALOG --aspect 6 --cr-wrap \ --title "Potvrda konfiguracije" \ --backtitle "$VERSION" \ --yesno " Mrezne postavke su slijedece: Naziv racunala..... $CARNET_HOSTNAME Domena............. $CARNET_DOMAINNAME IP adresa.......... $CARNET_IP Netmask............ $CARNET_NETMASK Gateway............ $CARNET_GATEWAYIP Da li su ovo tocne postavke? (Da/Ne) " 15 52 retval=$? if [ $retval -ne 0 ]; then DALJE=ime_stroja else DALJE=nista fi } rootpass () { tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ tempfile2=`tempfile 2>/dev/null` || tempfile=/tmp/test$$ trap "rm -f $tempfile $tmpfile2" 0 1 2 5 15 $DIALOG --nocancel \ --cr-wrap \ --title "Administratorska lozinka" \ --backtitle "$VERSION" \ --passwordbox " Upisite novu root lozinku: (Napomena: lozinka se ne vidi na ekranu) " 11 52 "$ROOT_PASSWD" 2>$tempfile retval=$? if [ $retval -ne 0 ]; then DALJE=rootpass else $DIALOG --nocancel \ --cr-wrap \ --title "Administratorska lozinka (ponovo)" \ --backtitle "$VERSION" \ --passwordbox " Upisite jos jednom root lozinku: (Napomena: lozinka se ne vidi na ekranu) " 11 52 "$ROOT_PASSWD" 2>$tempfile2 retval=$? if [ $retval -ne 0 ]; then DALJE=rootpass else DALJE=nista ROOTPW=`cat $tempfile` ROOTPW2=`cat $tempfile2` if [ $ROOTPW != $ROOTPW2 ]; then DALJE=rootpass else cat > $tempfile < /etc/networks < /etc/hosts < /etc/resolv.conf < /etc/network/interfaces <> /etc/network/interfaces <,g" \ /etc/apache/httpd.conf.$$ > /etc/apache/httpd.conf rm -f /etc/apache.httpd.conf.$$ rm -f /etc/apache/ssl.key/server.key \ /etc/apache/ssl.crt/server.crt \ /etc/apache/ssl.key/ca.key \ /etc/apache/ssl.crt/ca.crt dpkg-reconfigure apache-cn >/dev/null 2>&1 /etc/init.d/apache stop >/dev/null 2>&1 # bind CARNET_REV=`echo $CARNET_IP | awk -F. '{ print $3 "." $2 "." $1 ".in-addr.arpa" }'` BROJ=`echo $CARNET_IP | cut -d. -f4` SERNO=`date +%Y%m%d01` cat >> /etc/bind/named.conf.local < /etc/bind/hosts.db < /etc/bind/hosts.rev < /etc/irc/servers # sendmail cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.$$ sed -e "s:^Cw.*:Cw$CARNET_HOSTNAME.$CARNET_DOMAINNAME:g;"\ "s:^MASQUERADE_AS.*:MASQUERADE_AS($CARNET_DOMAINNAME):g" \ /etc/mail/sendmail.mc.$$ > /etc/mail/sendmail.mc /usr/share/sendmail/update_sendmail > /dev/null echo $CARNET_DOMAINNAME > /etc/mail/relay-domains cat > /etc/mail/local-host-names </dev/null 2>&1 cp /etc/hosts.allow /etc/hosts.allow.$$ sed -e "s,mysqld:.*,mysqld: .$CARNET_DOMAINNAME 127.0.0.1,g" \ /etc/hosts.allow.$$ > /etc/hosts.allow rm -f /etc/hosts.allow.$$ # mrtg cp /etc/mrtg.cfg /etc/mrtg.cfg.$$ sed -e "s:debian:$CARNET_HOSTNAME:g" /etc/mrtg.cfg.$$ > /etc/mrtg.cfg rm -f /etc/mrtg.cfg.$$ # amavis cp /etc/amavis/amavisd.conf /etc/amavis/amavisd.conf.$$ sed -e "s:^\$mydomain.*:\$mydomain = '$CARNET_DOMAINNAME'\;:g" \ /etc/amavis/amavisd.conf.$$ > /etc/amavis/amavisd.conf rm -f /etc/amavis/amavisd.conf.$$ # libnet cat > /etc/libnet.cfg < [ qw {news.carnet.hr} ], snpp_hosts => [ qw {} ], pop3_hosts => [ qw {pop3.$CARNET_DOMAINNAME} ], smtp_hosts => [ qw {$CARNET_HOSTNAME.$CARNET_DOMAINNAME} ], ph_hosts => [ qw {} ], daytime_hosts => [ qw {$CARNET_HOSTNAME.$CARNET_DOMAINNAME} ], time_hosts => [ qw {161.53.2.70} ], inet_domain => qq {$CARNET_DOMAINNAME}, ftp_firewall => qq {}, ftp_firewall_type => qq {0}, ftp_ext_passive => 1, ftp_int_passive => 1, local_netmask => qq {$CARNET_NETMASK}, } EOF # promijeni root passwd DALJE="rootpass" while [ "$DALJE" != "nista" ] do $DALJE done # kraj! rm -f /etc/UNCONFIGURED