20. Szaktantermi Internet és POP3 elérés vezérlése webes felületen
 
Az előző fejezetben beállítottuk a POP3 kiszolgálót. Ezt 
kiegészítve egy megfelelően konfigurált Mail Transfer Agent-el, lokális mailszervert alakíthatunk ki. MTA-ként a már említett postfix-et fogjuk használni. Nem valódi mail kiszolgáló lesz, hiszen csak a lokális gépek küldhetnek egymásnak e-maileket általa. Segítségével a tanulók gyakorolhatják az e-mailek küldését, fogadását, levelezőprogramok használatát és beállításait.
Azonban a kliensek közötti szabad kommunikáció néha nem ajánlott. Például dolgozatíráskor jobb, ha nem érhető el a levelezés. Ugyanígy, a tanulókank elérhető Internet-kapcsolat gyakran lehetetlenné teszi az órai munkát. Véleményem szerint az Internet-hozzáférést ki kell kapcsolni azokon az informatika órákon, amikor nincs szükség használatára. Ebben a fejezetben bemutatásra kerül egy olyan megoldás, ahol egyszerűen, egy jelszóval védett weboldaon engedélyezhetjük illetve tílthatjuk meg az Internet-használatatot és a POP3 kiszolgálóhoz a hozzáférést.
 
 
    20.1. Helyi SMTP kiszolgáló
 
Módosítsuk a postfix program konfigurációs állományát, az /etc/postfix/main.cf fájlt. A
cat /etc/postfix/main.cf | sed '/^#/d; /^ *$/d;' parancs azokat a sorokat jeleníti meg, melyek nem üresek és nem # karakterrel kezdődnek, vagyis ténylegesen befolyásolják a postfix működését:
 
[root@cos5 ~]# cat /etc/postfix/main.cf | sed '/^#/d; /^ *$/d;'
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = suliserver.suli.uz.ua
mydomain = suli.uz.ua
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 127.0.0.0/8
relayhost = $mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.3.3/samples
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES

A félkövérrel kiemelt sorokat keressük meg az állományban és töröljük a sor eleji # karaktert. Ahol szükséges, oda írjunk # karaktert és módosítsuk az értékeket. Mentsük az állományt és a fenti paranccsal ellenőrizzük, hogy a módosítások megfelelőek-e.
A 10. fejezetben módosítottuk az /etc/hosts állományt. Ellenőrizzük, hogy az állomány tartalmazza az alábbi sort:

192.168.55.1     suliserver.suli.uz.ua suliserver

A Indítsuk újra a postfix-et:

[root@centos5 ~]# service postfix restart

Elenőrizzük a mailszerver működését: írjunk e-mailt saját magunknak a Thunderbird kliens segítségével. Amennyiben mind a POP3, mind az SMTP szolgáltatás megfelelően működik az üzenet el tudjuk küldeni és azt meg is kapjuk (20.1. ábra):

mail11
20.1. ábra

 
Írjunk levelet ez egyik felhasználónak, például Szabó Hajnalkának a hajni04@suli.uz.ua címre. Az egyik munkaállomáson a levelezőprogramban hozzunk létre fiókot ennek a felhasználónak. A beállítások a személyes adatok kivételével megegyeznek a 19.4 fejezetben leírtakkal. Töltsük le hajni04 leveleit. Amennyiben az előbb küldött levél megérkezett, küldjünk válaszlevelet. Ennek fogadása esetén (20.2. ábra) megállapíthatjuk, hogy a beállítások megfelelőek.
 
mail12
20.2. ábra

 
A címzett e-mail címe csak @suli.uz.ua vagy @centos5.suli.uz.ua kifejezésekre végződhet, más esetben a kiszolgáló megtagadja a kézbesítést Relay access denided hibaüzenettel (
20.3. ábra):
 
mail14
20.3. ábra

 

 
    20.2. Webes kapcsoló
 
Hozzuk létre az alábbi könyvtárakat:

[root@centos5 ~]# mkdir /var/www/html/inet
[root@centos5 ~]# mkdir /var/www/html/log

Az inet könyvtárban hozzuk létre az alábbi szöveges állományt index.html néven.

<html>
  <head>
    <title>proxy server és POP3 admin</title>
    <script language = "javascript">
      var XMLHttpRequestObject = false;
      if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }
      function uzen(tolt)
      {
        var kod1;
        var kod2;
        var kod3;
        if(tolt=='fut'){
                kod1 = document.getElementById("elso").checked;
                kod2 = document.getElementById("masodik").checked;
                kod3 = document.getElementById("harmadik").checked;
                var url = "adat3.php?kod1=" + kod1 +"&kod2=" + kod2+"&kod3=" + kod3+"&tolt=" + tolt;
        }else{
                var url = "adat3.php?tolt=" + tolt;
        }
        if(XMLHttpRequestObject) {
          XMLHttpRequestObject.open("GET", url);
          XMLHttpRequestObject.onreadystatechange = function()
          {
            if (XMLHttpRequestObject.readyState == 4 &&
              XMLHttpRequestObject.status == 200) {
                document.getElementById("kiirDiv").innerHTML = XMLHttpRequestObject.responseText;
                if(tolt=='kezd'){
                                document.getElementById("elso").checked = XMLHttpRequestObject.responseText.substring(0,1)=='1';
                                document.getElementById("masodik").checked =  XMLHttpRequestObject.responseText.substring(1,2)=='1';
                                document.getElementById("harmadik").checked = XMLHttpRequestObject.responseText.substring(2,3)=='1';
                }
            }
          }
          XMLHttpRequestObject.send(null);
        }
      }
    </script>
  </head>
  <body onload = "uzen('kezd')">
    <H1>Szaktantermi Internet és POP3 elérés vezérlése:</H1>
    <form>
      <input type = "checkbox" value = "egy" id="elso"
        onclick = "uzen('fut')">
        - Internet-használat engedélyezve az 1. szaktanteremben <br> <br>
      <input type = "checkbox" value = "ketto" id="masodik"
        onclick = "uzen('fut')">
        - Internet-használat engedélyezve a 2. szaktanteremben <br> <br>
      <input type = "checkbox" value = "harom" id="harmadik"
        onclick = "uzen('fut')">
        - POP3 oktatási célra engedélyezve <br> <br>
    </form>
    <div id="kiirDiv">
      <p>Proxy.</p>
    </div>
  </body>
</html>

Az alábbi szöveges állomány szintén az inet könytárba kerüljön adat3.php néven:
 
<?php
 $tolt=$_GET["tolt"];
  for($i=1; $i<=3; $i++){
    $filenev = $i.".txt";
    if($tolt=='fut'){
     $file = fopen($filenev, 'w+') or die("Nem lehet megnyitni az ".$i.".txt fájlt!");
     $kod=$_GET["kod".$i];
     if($kod=="true"){
      fputs($file,"1");
     }else{
      fputs($file,"0");
     }
    }
    $file = fopen ($filenev, 'r') or die("Nem lehet megnyitni az ".$i.".txt fájlt!");
    echo(fgets($file));
    fclose($file);
  }
?>

Mindkét állományt megtaláljuk a server5.zip csomag inet könyvtárában is. (Köszönöm Beregszászi István kollégám segítségét a két program elkészítésében)
Az alábbi parancsokkal hozzunk létre három szöveges fájlt, amelyek tartalma 1 lesz: 

[root@centos5 ~]# echo 1 > /var/www/html/inet/1.txt
[root@centos5 ~]# echo 1 > /var/www/html/inet/2.txt
[root@centos5 ~]# echo 1 > /var/www/html/inet/3.txt

Állítsuk be a jogosultságokat:

[root@centos5 ~]# chown apache:apache /var/www/html/inet/*.txt
 
Nyissuk meg a http://suliserver/inet/ oldalt (20.4. ábra):
 
kapcs
20.4. ábra

 
Az oldalon a három jelölőnégyzet bármelyikére kattintunk, az 1-et vagy 0-át eredményez az 1.txt, 2.txt és a 3.txt fájlokban. A fájlok tartalmát az oldal utolsó sorában látható három szám is jelzi. A jelölőnégyzeteket válasszuk úgy, hogy a két szaktanterem engedélyezve, a POP3 hozzáférés pedig tíltva legyen. Ebben az esetben az utolsó sorban a 110 számot fogjuk látni.
 
 
    20.3. Jelszó létrehozása weblaphoz
 
Ahhoz, hogy csak felhasználó név és jelszó megadásával nyithassuk meg a http://suliserver/inet/ oldalt, módosítsuk az /etc/httpd/conf/httpd.onf konfigurációs állományt. Keressük meg az alábbi részt és módosítsuk a következőre:

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride All

Hozzuk létre a .htaccess állományt a /var/www/html/inet/ könyvrárba a következő tartalommal:
 
AuthName "Csak infotanaroknak!"
AuthType Basic
AuthUserFile /var/www/html/inet/.htpasswd
require valid-user
 
Lépjük a /var/www/html/inet/ könyvtárba, hozzuk létre az infotanar felhasználót és adjuk meg a jelszót:
 
[root@centos5 inet]# htpasswd -c .htpasswd infotanar
New password:
Re-type new password:
Adding password for user infotanar

[root@centos5 inet]#
 
A felhasználó nevet és a hozzá tartozó jelszót adjuk át azokank a kollégáknak, akik órát tartanak a szaktantermekben.
Indítsuk újra a webszervert:
 
[root@centos5 ~]# service httpd restart
 
Ezután az oldal megnyitásakor a böngészőprogram felhasználói nevet és jelszót kér. Megadva az infortanar azonosítót és a hozzá tartozó jelszót (20.5. ábra) megjelenik az oldal.
 
azon
20.5. ábra


 
    20.4. A Squid és az iptables vezérlése
 
Megoldottuk, hogy egy jelszóval védett weboldalon a jelölőnégyzetekre kattintva szöveges állományok tartalma változni fog: tartalmuk 1 vagy 0 lesz. A vezérlést a kapcsol.scp skript valósítja meg, ami megvizsgálja e három állományt, és az értékektől függően engedélyezi vagy tíltja az Internet-hozzáférést a szaktantermekben, valamint engedélyezi vagy tiltja a hozzáférést a POP3 kiszolgálóhoz. Az Internet-hozzáférést a squid.conf állomány módosításával és a squid újrakonfigurálásával éri el. A POP3 hozzáférést a tuzfal.scp a 110-es TCP portra vonatkozó sorában kifejezések cseréjével és a szkript újraindításával.
Tételezzük fel, hogy az első szaktanterem gépei 192.168.55.30-192.168.55.50, a második pedig 192.168.55.100-192.168.55.120 IP címekkel rendelkeznek. Megvizsgálva az /etc/squid/squid.conf állományt megtaláljuk azokat a sorokat, amelyek meghatározzák e tartományokat és tíltják a hozzáférést. Igaz, a tíltó sorok a # jel miatt jelenleg nem aktívak:

acl terem1 src 192.168.55.30-192.168.55.50
acl terem2 src 192.168.55.100-192.168.55.120
...
#http_access deny terem1
#http_access deny terem2

A szkriptnek meg kell vizsgálni az 1.txt állomány tartalmát, és ha az 0, akkor el kell távolítani a #http_access deny terem1 sorból a # karaktert. Ezután  újrakonfigurálni a squid-et. Értelemszerűen 1 esetén visszakerül a # karakter. A 2.txt pedig ugyanígy működik a terem2-re.
A POP3 hozzáférést úgy szabályozzuk, hogy az /root/tuzfal.scp fájlban a következő sort:
 
$IPTABLES -A INPUT -p tcp -i $IFACE_INT -s 192.168.55.172 --dport 110 -m state --state NEW -j ACCEPT
 
megváltoztatjuk a következőre:
 
$IPTABLES -A INPUT -p tcp -i $IFACE_INT -s 192.168.55.0/24 --dport 110 -m state --state NEW -j ACCEPT

Tehát egy gép helyett a teljes hálózatnak engedélyezzük a hozzáférést.
Nyissuk meg a http://suliserver/inet/ oldalt és ellenőrizzük, hogy az utolsó sor tartalma 110. Amennyiben nem ezt számot látjuk, módosítsuk a kapcsolók állását. Hozzuk létre a /root/tmpm mappát és a /var/www/html/inet/ mappa txt állományait másoljuk ebbe a mappába:
 
[root@centos5 ~]# mkdir /root/tmpm
[root@centos5 ~]# cp /var/www/html/inet/*.txt /root/tmpm

Ugyanitt hozzuk létre az alábbi három egyszerű szkriptet:

[root@centos5 tmpm]# cat vk1.scp
#!/bin/bash
echo -n 1 > /var/www/html/inet/1.txt
[root@centos5 tmpm]# cat vk2.scp
#!/bin/bash
echo -n 1 > /var/www/html/inet/2.txt
[root@centos5 tmpm]# cat vk3.scp
#!/bin/bash
echo -n 0 > /var/www/html/inet/3.txt


Mindhárom állományt megtaláljuk a server5.zip csomagban is. Állítsuk be a futási jogosultságokat:

[root@centos5 ~]# chmod a+x /root/tmpm/vk*.scp

Ennek a három szkriptek az lesz a szerepe, hogy kapcsolás után egy bizonyos idő (45 perc) elteltével visszaállítsa az alapértelmezett beállításokat. Tehát a szaktanteremekben az Internet-hozzáférés csak 45 percig lesz tíltva, utána automatikusan az engedélyezés lép életbe. A POP3 hozzáférésnél pedig fordítva, az engedélyezés tart 45 percig, utána automatikusan tíltva lesz. Ezt az at parancssal fogjuk megoldani.
Például az első szaktanterem kikapcsolása esetén az alábbi parancsot is végrehajtja a szkript:

[root@centos5 ~]# at -f /root/tmpm/vk1.scp now+45minutes

Ez a vk1.scp szkript végrehajtását írja elő 45 perc elteltével, ami futásakor 1-re módosítja a /var/www/html/inet/1.txt állomány tartalmát.

server5.zip csomagban megtaláljuk a no.png és az ok.png képeket. Ezeket másoljuk a
/var/www/html/ mappába.

Hozzuk létre az alábbi kapcsol.scp skriptet a /root könyvtárba:

#!/bin/bash
KV=/var/www/html/inet
KR=/root/tmpm
if test `cat $KV/1.txt $KV/2.txt $KV/3.txt` != `cat $KR/1.txt $KR/2.txt $KR/3.txt`
then
EV=`date +'%Y'`
HO=`date +'%m'`
NAP=`date +'%d'`
PERC=`date +'%R'`
if test ! -d /var/www/html/log/$EV
then
mkdir /var/www/html/log/$EV
fi
if test ! -d /var/www/html/log/$EV/$HO
then
mkdir /var/www/html/log/$EV/$HO
fi
# Szaktanterem 1 --------------------
if test `cat $KV/1.txt` != `cat $KR/1.txt`
then
    if test `cat $KV/1.txt` = 1
    then
    sed 's/http_access deny terem1/#http_access deny terem1/g' /etc/squid/squid.conf > $KR/sq1.be
    echo "$PERC - A szaktanterem 1-ben az Internet bekapcsolva" >> /var/www/html/log/$EV/$HO/$NAP.txt
    cp $KR/sq1.be /etc/squid/squid.conf
    cp /var/www/html/ok.png /var/www/html/terem1.png
    else
    sed 's/#http_access deny terem1/http_access deny terem1/g' /etc/squid/squid.conf > $KR/sq1.ki
    echo "$PERC - A szaktanterem 1-ben az Internet 45 percre kikapcsolva" >> /var/www/html/log/$EV/$HO/$NAP.txt
    cp $KR/sq1.ki /etc/squid/squid.conf
    at -f $KR/vk1.scp now+45minutes
    cp /var/www/html/no.png /var/www/html/terem1.png
    fi
/usr/sbin/squid -k reconfigure
fi
# Szaktanterem 2 --------------------
if test `cat $KV/2.txt` != `cat $KR/2.txt`
then
    if test `cat $KV/2.txt` = 1
    then
    sed 's/http_access deny terem2/#http_access deny terem2/g' /etc/squid/squid.conf > $KR/sq2.be
    echo "$PERC - A szaktanterem 2-ben az Internet bekapcsolva" >> /var/www/html/log/$EV/$HO/$NAP.txt
    cp $KR/sq2.be /etc/squid/squid.conf
    cp /var/www/html/ok.png /var/www/html/terem2.png
    else
    sed 's/#http_access deny terem2/http_access deny terem2/g' /etc/squid/squid.conf > $KR/sq2.ki
    echo "$PERC - A szaktanterem 2-ben az Internet 45 percre kikapcsolva" >> /var/www/html/log/$EV/$HO/$NAP.txt
    cp $KR/sq2.ki /etc/squid/squid.conf
    at -f $KR/vk2.scp now+45minutes
    cp /var/www/html/no.png /var/www/html/terem2.png
    fi
/usr/sbin/squid -k reconfigure
fi
# POP3 mindenkinek
if test `cat $KV/3.txt` != `cat $KR/3.txt`
then
    if test `cat $KV/3.txt` = 1
    then
    sed 's/192\.168\.55\.172 --dport 110/192\.168\.55\.0\/24 --dport 110/g' /root/tuzfal.scp > $KR/tuzfal1.scp
    cp $KR/tuzfal1.scp /root/tuzfal.scp
    /root/tuzfal.scp start
    echo "$PERC - POP3 (tcp/110) engedélyezve 45 percre" >> /var/www/html/log/$EV/$HO/$NAP.txt
    at -f $KR/vk3.scp now+45minutes
    cp /var/www/html/ok.png /var/www/html/pop.png
    else
    sed 's/192\.168\.55\.0\/24 --dport 110/192\.168\.55\.172 --dport 110/g' /root/tuzfal.scp > $KR/tuzfal1.scp
    cp $KR/tuzfal1.scp /root/tuzfal.scp
    /root/tuzfal.scp start
    echo "$PERC - POP3 (tcp/110) kikapcsolva" >> /var/www/html/log/$EV/$HO/$NAP.txt
    cp /var/www/html/no.png /var/www/html/pop.png
    fi
fi
#
cp $KV/1.txt $KV/2.txt $KV/3.txt $KR/
fi


server5.zip csomagban is megtaláljuk a kapcsol.scp szkriptet.
A szkript megvizsgálja, hogy történt-e változás a szöveges állományok tartalmában. Amennyiben nem, kilép.
Abban az esetben, ha módosult valamelyik állomány, mind a háromat külön-külön megvizsgálja. Amelyikban történt módosítás, az adott konfigurációs állományban elvégzi a megfelelő módosítást, és újraindítja a szolgáltatást. Naplóállományt is létrehoz a /var/www/html/log könyvtárba. A fentebb említett at paranccsal elvégzi az alapértalmezett állapot visszaállításának időzítését is. Végezetül a szöveges állományokat átmásolja a /root/tmpm könyvtárba, hogy a következő futtatáskor már ezekkel hasonlítsa össze a /var/www/html/inet könyvtárban lévőket.
Ahhoz, hogy a kapcsol.scp időközönként (kétpercenként) lefusson, hozzuk létre az /etc/cron.d/kapcsol állományt a következő tartalommal:

*/2 * * * * root /root/kapcsol.scp
 
 
 
    20.5. A vezérlés működésének ellenőrzése

 
Nyissuk meg a http://suliserver/inet/ oldalt és a kapcsolók alapértelmezett (110) állapotát módosítsuk az ellentettjére: 001 (20.5. ábra).

001
20.5. ábra


Mivel a kapcsol.scp minden páros percben lefut, maximum két perc elteltével levelet kapunk (a root kapja, ami át van irányítva esetünkben a pf felhasználónak). A levélben a tűzfal újraindítását látjuk és a job kezdetű sorok pedig három ütemezett feladatra figyelmeztet minket. A feladatok végrehajtásának ideje a levél létrejöte után 45 perc:

job 1 at 2010-07-25 17:59
indul....
----------------------------------------------------------------
A belso halo: 192.168.55.0/24
----------------------------------------------------------------
          A tuzfal BELSO halokartyaja:  eth1
          inet addr:192.168.55.1  Bcast:192.168.55.255  Mask:255.255.255.0
----------------------------------------------------------------
          A tuzfal KULSO halokartyaja:  eth0
          inet addr:192.168.4.2  Bcast:192.168.4.3  Mask:255.255.255.252
----------------------------------------------------------------
A tuzfal csomagszuroinek betoltese
job 2 at 2010-07-25 17:59
job 3 at 2010-07-25 17:59

A http://suliserver/log/ weboldalt megnyitva, az aktuális évszámot látjuk. Arra kattintva az aktuális hónap sorszámát és végül a dátummal jelzett szöveges dokumentumot. Ennak tartalma a kapcsolás időpontját rögzíti (20.6. ábra).
 
ell3
20.6. ábra


Vizsgáljuk meg a squid.conf és tuzfal.scp tárgyalt sorait:

[root@centos5 ~]# cat /etc/squid/squid.conf | grep terem
acl terem1 src 192.168.55.30-192.168.55.50
acl terem2 src 192.168.55.100-192.168.55.120
http_access deny terem1
http_access deny terem2
[root@centos5 ~]# cat /root/tuzfal.scp | grep 110 | head -1
$IPTABLES -A INPUT -p tcp -i $IFACE_INT -s 192.168.55.0/24 --dport 110 -m state --state NEW -j ACCEPT

Látjuk, hogy a két szaktanteremben az Internet tíltva van, a tűzfalban a 110 TCP port pedig a teljes hálózatnak engedélyezve.
 
45 perc elteltével a fenti parancsokat ismételten kiadva látjuk, hogy visszaállt az alapértelmezett állapot: a két szaktantertemben az Internet hozzáférhető, a 110-es TCP port pedig csak egy gépnek elérhető:
 
[root@centos5 ~]# cat /etc/squid/squid.conf | grep terem
acl terem1 src 192.168.55.30-192.168.55.50
acl terem2 src 192.168.55.100-192.168.55.120
#http_access deny terem1
#http_access deny terem2
[root@centos5 ~]# cat /root/tuzfal.scp | grep 110 | head -1
$IPTABLES -A INPUT -p tcp -i $IFACE_INT -s 192.168.55.172 --dport 110 -m state --state NEW -j ACCEPT
 
Eltérő IP beállítások esetén módosítsuk squid.conf, tuzfal.scp és a kapcsol.scp megfelelő sorait.
 

    20.6. A kapcsolók állapotának megjelenítése
 
A kapcsolók állapotának megjelenítéséhez hozzunk létre az alábbi állományt a /var/www/html könyvtárban inet_pop3_allapot.html néven:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>Szaktantermi proxy és POP3 hozzaferes</title>

<meta http-equiv="REFRESH" content="120">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head><body>
<div style="text-align: center;"><big style="font-family: Verdana;"><big>Szaktantermi Internet és POP3 hozzáférés állapota<br>
&nbsp;</big></big></div>
<table style="width: 782px; height: 238px; text-align: left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="font-family: Verdana; width: 274px; text-align: center;"><span style="font-weight: bold;">1. szaktanterem:</span></td>
<td style="width: 84px; text-align: center;"><img style="width: 66px; height: 65px;" alt="terem1" src="terem1.png"></td>
<td style="text-align: center; width: 641px;" colspan="1" rowspan="3"><img style="width: 500px; height: 135px;" alt="mrtg" src="http://suliserver/mrtg/192.168.55.1_2-day.png"></td>
</tr>
<tr>
<td style="font-family: Verdana; width: 274px; text-align: center;"><span style="font-weight: bold;">2. szaktanterem:</span></td>
<td style="width: 84px; text-align: center;"><img style="width: 66px; height: 65px;" alt="terem2" src="terem2.png"></td>
</tr>
<tr>
<td style="font-family: Verdana; width: 274px; text-align: center;"><span style="font-weight: bold;">POP3 hozzáférés:</span></td>
<td style="width: 84px; text-align: center;"><img style="width: 66px; height: 65px;" alt="pop" src="pop.png"></td>
</tr>
</tbody>
</table>
<span style="font-family: Verdana;">&nbsp;</span><br>
<small><span style="font-family: Verdana;">A szaktantermekben a jelenlegi Internet és POP3 hozzáférést a fenti szimbólumok jelzik. Az <a href="http://suliserver/inet/">admin</a> linkre kattintva módosíthatja a beállításokat. Az oldalon felhasználói nevet és jelszót kell megadni. A beállított értékek max. 2 percen belül jutnak érvényre. Csak az Ön által használt szaktanterem beállítását módosítsa! Az Internet-hozzáférés engedélyezése korlátlan ideig, tiltása 45 percig marad érvényben. <br> 45 perc elteltével a kikapcsolt teremben az Interent-hozzáférést a rendszer automatikusan engedélyezi.<br>A POP3 hozzáférés engedélyezése 45 perc elteltével automatikusan tíltásra vált.<br>Kérem, a jelszót ne írja fel és ne adja át senkinek!<br>
&nbsp;<br style="font-family: Verdana;">
</span></small><div style="text-align: center;"><a href="http://suliserver/inet/"><span style="font-family: Verdana;">admin</span></a><br style="font-family: Verdana;">
<span style="font-family: Verdana;">&nbsp;</span><br><span style="font-family: Verdana;"><a href="http://suliserver/log/">statisztikák</a></span><br>&nbsp;<br><small><span style="font-family: Verdana;">SULI, 2010</span></small><br></div>
</body></html>

Az állományt megtaláljuk a server5.zip csomagban is.
kapcsol.scp szkript, amikor megváltoztatja valamelyik hozzáférést, másolatot is készít az ok.png vagy a no.png képekről terem1.png, terem2.png vagy pop.png néven. Engedélyezés esetén az ok.png-ről készül másolat, tíltáskor pedig a no.npg-ről. A fenti weboldalt megnyítva (http://suliserver/inet_pop3_allapot.html) ezek a képek mutatják az aktuális állapotot (20.7. ábra).
  
allapot
20.7. ábra

A weboldal szövegét és az mrtg grafikon címét módosítsuk, ha szükséges.

A nyitóoldalunkon, a /var/www/html/index.html-ben, létrehozhatunk linket a fenti weblaphoz:

<p><img src="g1.gif"><a href="inet_pop3_allapot.html"> Internet és POP3 hozzáférés állapota szaktantermekben</a></p>