palacsint blogja

Diplomát kap, minden tiltva

A múltkor a fenti szöveggel leptek meg az OMIKK-ban. Jó tudni, hiába 2008. 10. 31-e a beiratkozás érvényessége, letiltanak és vissza kell vinni minden könyvet. Az is meglepő, hogy egyedül a villanykaron tartják nyáron a diplomaosztót, a többieknek őszig várni kell.

A tiltást sajnálom kicsit, külsősként beiratkozva már csak öt könyv lehet nálam (a régi tíz helyett), valamint a fentiekről is csak az utolsó rendes nyitvatartási napon értesültem, amikor épp a kilencedik és tizedik könyvet akartam kihozni. A nyári részleges nyitvatartás meg nem igazán munkaidőbarát.

Azért sikerült újra beiratkozni, noha az olvasójegyhez szükséges fényképet készítő masinával mintha bajok lettek volna, így (vagy nem e miatt, nem tudom) megmaradt a régi olvasójegyem. Kaptam igazolást is, hogy nincs tartozásom, de ez a KTH-t nem érdekli.

Neptun kód és név összerendelés

Régóta motoszkál a fejemben az ötlet, hogy készíteni kellene egy olyan programot, ami mindenféle tartalmakban (mondjuk vágólapon) képes a Neptun kódok mellé odaírni az ahhoz tartozó nevet. Mindezt úgy, hogy nem tartalmaz beépített adatbázist, csupán a neten publikált listákat képes on-the-fly leszedni, és abból dolgozni. Egy ilyen adatbázis miatt biztos harapnának páran adatvédelmi okokból, anélkül viszont eléggé jogi határterület lehet. Másrészt amúgy is gyorsan elavulnának az adatok. Figyelemfelkeltésnek mindenesetre megtenné, amolyan médiahack.

Az adatbázishoz forrást leginkább a tanszékek és az egyes tárgyak weblapjain lehet találni, de régebben a Neptunban is megtekinthető volt a többiek Neptun kódja az egyes kurzusok adatai közt. Ez utóbbi lehetőség már nem él, pedig akár csak egyetlen Neptun felhasználónév és jelszó birtokában is egész csinos adatbázist lehetett volna felépíteni. A legutóbbi tanulmányi ügyrend pedig a tanszékek számára is előírja, hogy név nélkül tegyék csak elérhetővé az eredményeket:

A hallgató eredményét a tanszék (vagy a tantárgy) honlapján, vagy hirdetőtábláján a neved teljes elhagyásával az egyéni kódod használatával tantárgyanként vagy kurzusonként vagy csoportonként, az egyéni kód szerinti alfabetikus sorrendben nyilvánosságra kell hozni, vagy egyéb, védett információs rendszer segítségével az egyéni kódod alapján biztosítani kell az eredmények elérhetőségét személyenként külön-külön.

Nem mintha nagyon sajnálnám, örülök, hogy léptek adatvédelem terén is.

Természetesen a programot lehetne kevésbé provokáló dolgokra is használni: az egész egyetem számára meghirdetett közismereti és szabadon választható tárgyak esetén mindig jól jött volna egy olyan funkció, ami megmutatja, hogy kiket ismerhetek. Itt azok neve szerepelne, akikkel van közösen végzett, korábbi féléves tárgyam, kurzusom. Ehhez is csak a Neptunban kellene adatbányászni kicsit, bár Neptun kódok hiányában valamivel körülményesebb a dolog.

Belépőkártya

A félévben már párszor borzolta a kedélyeket az ötezer (!) forintos RFID (vagy Proximity) kártya. Ez a belépőkártya a forgóvillához. Ha elhagyod ötezer. Újonnan boltban meg kétszáz forint. Áfával. Oké, motiváljuk a hallgatókat, hogy vigyázzanak rá, de túlzásokba sem kellene esni. Mondjuk egy ezres már elfogadható lenne. Az ötezertől még a személyi igazolvány pótlása is olcsóbb (háromezer forint). Levlistás levelek szerint az üzemeltetés úgy gondolja, hogy az egyetemisták nagy része gazdag aranyifjú, úgyhogy fizessenek csak, a HK-t meg nem nagyon érdekli a dolog (ráhagyja a Gépész-HK-ra), ők gondolom inkább a Schönherz házirendjével foglalkoznak. A 800 forintos vendégéjszaka is maradt. Itt ilyen a PPP. Kíváncsi vagyok a Schönherzben vajon kell-e majd fizetni érte.

Nemrég bevezették azt is, hogy már a vendégkártya átvételét is adminisztrálni kell. Aláíratják, hogy sértetlenül átvettük, illetve visszaadásnál is hasonló a procedúra. Gondolom valaki nem akarta kifizetni az öt rugót. Én se szívesen tenném. Főleg ha az előző „bérlő” tette tönkre és befelé a véletlen folytán még működik, kifele meg nem. Ahelyett, hogy 500 forint lenne (ami még mindig a piaci ár kétszerese), inkább adminisztrálunk.

A Schönherzben persze lesz állandó vendégkártya – hiszen csak kétszáz forint a Proximity, igazán nem nagy dolog kiosztani egy-két ezret belőle a Villanykarosoknak. Rossz esetben félmillió forint. Pár KBME-ből kijön. Itt meg ha nincs szerencséje az embernek, akkor negyedórákat állhat a sorban, mire be tud jönni a vendégével, amit ez a legújabb adminisztráció még inkább növel.

Titkosított pendrive Linux és Windows alatt root jog nélkül

Most nézem, alig írtam tavaly szeptember óta, az egész elfér az oldalsó tízes listában. Ez a bejegyzést még valamikor az őszi félévben kezdtem el, azóta sem jutottam a végére. Már nem is fogok, de később még esetleg jól jöhetnek az itt leírtak.

Az előző félévben elég sok laborom volt, többnyire Windows XP-s gépekkel, rendszergazdai jog nélkül. A gépeken persze sosem voltak fent a kedvenc programjaim, mint a Firefox, Putty, WinSCP stb. Ezeket pendrive-on hurcolásztam magammal, de jó lett volna titkosítani is a fájlokat, ki tudja mikor hagyom el az eszközt. Windowsra is létezik pár on-the-fly titkosító, de ezek telepítéséhez adminisztrátori jog szükséges, másrészt telepíteni sem lett volna kedvem minden labor előtt.

Az előbbiek miatt kezdtem el egy olyan titkosítási megoldáson dolgozni, amihez nem szükséges rendszergazdai jog. A félév végére nem fejeztem be teljesen, azóta meg már nincs is rá szükségem, a most használt gépekhez van root jogom és tudom használni a LUKS-os megoldást, amiről már korábban írtam.

Szóval laborokon tipikusan Windows XP-s gépek előtt ücsörgünk, saját pendrive-val, de jobb lenne, ha a rajta lévő adatok titkosítva lennének. További igény, hogy a titkosított adatok Linux alatt is előcsalhatóak legyenek.

Kész megoldás hiányában nekiálltam barkácsolni, amihez olyan GNU/GPL licences eszközöket használtam amelyek léteznek mind Linux, mind Windows alá.

Először jelszavas ZIP fájlokra gondoltam, amelyeket egy-egy batch fájl csomagolna ki és be, hogy lehetőleg csak egyet kelljen kattintani (illetve begépelni a jelszót). Ahogy nézegettem a man oldalakat, úgy tűnik, hogy nem minden ZIP tömörítő kezeli ugyanúgy a titkosított fájlokat, valamint az USA jogi korlátozásai is bejátszhatnak. Persze, ha én viszem a zip- és unzip.exe-t is, akkor ez nem annyira gond. Viszont ha már titkosítani kell, akkor legyen GnuPG, biztos ami biztos alapon. Tud szimmetrikusan is kódolni, alapértelmezetten CAST5 algoritmust használ, bár biztosan le lehet cserélni, ha nem tetszik. Windowsos portja természetesen van.

A GPG-vel viszont annyi baj van, hogy könyvtárat nem tud titkosítani, csak a fájlokat darabonként, így a titkosítás előtt valamivel előtte össze kell csomagolni a fájlokat. Erre a ZIP is használható. (A fájlonkét történő titkosítás az eredeti fájl- és könyvtárnevek meghagyásával egyébként sem szerencsés, ezekből is lehet információkat kinyerni.)

A tömörítés után még törölni kell az eredeti fájlokat. Ezt a ZIP is képes megtenni, de ezt nem szabad rábízni. Törlés helyett inkább felül kell írni őket. A felülírást kihagyva egy kicsit is felkészült támadó bármikor vissza tudná állítani őket, hiszen törlésnél csak a fájl bejegyzése törlődik, az adatok még ott maradnak a lemez blokkjaiban. Ugyanez a helyzet a GPG által titkosított eredeti ZIP fájllal is.

Mágneses elven működő lemezeknél a felülírást többször is érdemes megejteni, tudomásom szerint viszont a flash-nél ezt elegendő egyszer végrehajtani ahhoz, hogy ne lehessen többet kinyerni a pendrive-ról a korábbi adatainkat. (Bár azért vannak kétségeim.)

Erre a felülírásra az Unix/Linux-okon régóta megtalálható shred tökéletes, neki is van Windows portja.

Az eddigi háromlépéses titkosítási művelet összefogható egy batch fájlba. Pontosabban kettőbe. Az első a pendrive bedugása után dekódolja a ZIP fájlt, majd kitömöríti, végül törli a ZIP fájlt, illetve a titkosított változatot is. Lehúzás előtt a másik fájl pedig ugyanezt eljátssza visszafele: tömöríti a titkosítandó tartalmakat, titkosít, majd felülírja és törli a titkosítatlan fájlokat.

A folyamatból látszik, hogy (legrosszabb esetben) csak az eredeti tárterület harmadát lehet csak hasznos adat tárolására használni. Egyharmad kell az eredeti fájloknak, egyharmad az ZIP fájlnak, a harmadik harmad pedig a titkosított ZIP fájlnak. Ezen kívül még szükséges némi hely a segédprogramok számára is.

A sorrenden picit lehet optimalizálni. Ha a dekódolás után rögtön töröljük a titkosított fájlt, és csak utána kezdjük el kicsomagolni az így létrejött ZIP-et, akkor a rendelkezésre álló tárterület harmada helyett akár felét is hasznosíthatjuk. Ugyanez érvényes az eltávolítás előtti titkosításra.

Beszerzendő fájlok

A fentebb vázolt rendszer összerakásához a következő listában felsoroltam a beszerzendő programokat. Töltsd le mindet, hozz létre a pendrive-on egy \bin könyvtárat, majd másold bele az említett binárisokat. Bár mindegyik valamilyen szabad licenc alatt érhető el, mégsem akartam kész csomagot készíteni. Félek, hogy a későbbieknek nem frissíteném és elavulttá válnának az összeállításban szereplő programok. Ez egy GnuPG-ben előforduló biztonsági hiba esetén különösen nagy veszélyt jelentene.

Ha ezek megvannak, akkor a következő két bat fájlt kell a pendrive gyökérkönyvtárába tenni.

pack.bat

Ez a batch fájl tömöríti és titkosítja a secure könyvtár tartalmát. Esetleg érdemes lehet a tömörítés mértékén állítani (-2 kapcsolóban nagyobb számot kell megadni – 9 a maximum). A -T hatására a tömörítés után még le is teszteli az elkészült archívumot.

Nyerhetünk még némi időt, ha a ZIP kimenetét rögtön átadjuk a GPG-nek (bin\zip -r - secure | gpg --output secure.zip.gpg --symmetric), de ekkor a -T kapcsoló hatástalan, így elmaradna ez az ellenőrzés.

@echo off
echo pack.bat by palacsint - 2007. 10. 27. - http://palacsint.hu/ - GNU/GPL

bin\zip -T -r -2 secure.zip secure
if errorlevel 1 goto zipError
echo "Zip OK"

bin\find.exe secure -type f -exec bin\shred --iterations=1 --zero --remove {} ;
rd secure

bin\gpg --output secure.zip.gpg --symmetric secure.zip
if errorlevel 1 goto gpgError

echo "gpg OK"

bin\shred --zero --iterations=1 --remove secure.zip

exit /b 0

:zipError
echo "ZIP error"
exit /b 1

:gpgError
echo "gpg error"
exit /b 2

unpack.bat

Végül a dekódolást és kitömörítést végző batch fájl:

@echo off
echo unpack.bat by palacsint - 2007. 10. 27. - http://palacsint.hu/ - GNU/GPL

if NOT EXIST secure.zip.gpg goto fileNotFound

bin\gpg --output secure.zip --decrypt secure.zip.gpg
if errorlevel 1 goto gpgError
bin\shred --zero --iterations=1 --remove secure.zip.gpg

echo "gpg OK"

bin\unzip secure.zip
if errorlevel 1 goto unzipError

echo "unzip OK"

bin\shred --zero --iterations=1 --remove secure.zip
exit /b 0


:unzipError
echo "unzip error"
exit /b 1

:gpgError
echo "gpg error"
exit /b 2


:fileNotFound
echo secure.zip.gpg not found.
exit /b 3

Valami hasonló összerakható Linux alatt is shell szkriptként.

Tartalom elrejtése a keresők elől

A nevemre rákeresve most szerencsére egy olyan találatot sem láttam, ami tartalmazza a Neptun kódom - és fordítva is.

Nem mindig volt ez így, miközben nem nagy dolog elrejteni a keresők elől egy oldalt. A Google úgyis mindent indexel, ami felkerül a webre csak egy tévhit. Csupán elég a domain főkönyvtárába elhelyezni egy robots.txt-t, mondjuk valami ilyesmi tartalommal, hogy ne tegye ezt meg:

User-agent: *
Disallow: /titok/

Fontos, hogy a módszer csak akkor működik, ha a robots.txt a domain főkönyvtárában szerepel.

Ha oda nem tudunk írni, akkor viszont használható a következő HTML fejléc az indexelés, és pár más dolog tiltására:

<meta name="robots" content="noindex, nofollow, noarchive, nosnippet">

A robots.txt-ből persze kibányászhatóak az elrejtett oldalak, így egy okosabb látogató megtalálhatja azokat. A legbiztosabb megoldás persze a jelszavas védelem, de bizonyos esetekben a fentiek is elegendőek lehetnek (illetve lehetnének).

További olvasnivaló:

Záróvizsga közelebbről

Korábban már írtam róla, hogy hogyan folyik az egyetemen a záróvizsga (vagy államvizsga, de ezt a nevet nem szeretem, túl félelmetes), és így közeledve hozzá egyre több részlet tisztázódik.

Először el kell készíteni az utolsó féléves nagy művet, amit diplomatervnek hívnak (ezt kell a borítóra is írni), 30 kreditet ér. Más kötelező tárgyat nem is nagyon vehet fel az ember a diplomatervezős félévben. A BSc bevezetésével már van szakdolgozat is az egyetemen, de az csak 15 kredit és nem egyezik meg a diplomatervezéssel. A diplomaterv azért diplomaterv (és nem diplomamunka), mert a mérnök tervet készít.

A diplomaterv elkészülte és leadása után jönnek a záróvizsgák. Ilyet három tárgyból kell tenni, mindet a hallgató választja. Csak olyan tárgyat lehet választani, amit hallgattál is.

További megkötés, hogy a három tárgyból kettőnek a kötelező tárgyak közül kell kikerülnie. Ezekből elkülönített záróvizsgát tartanak, ami tipikusan írásbeli és többnyire hasonlít a tárgy normál vizsgájához. Ezek a diplomaterv leadása után kerülnek sorra, nem kell kiöltözve menni, és nem esik egybe a diplomavédéssel. Kis létszám esetén előfordulhat szóbeli is.

A harmadik tárgy szakirányos, vagy szabadon választható tárgy. Ebből már szóban kell felelni, mégpedig rögtön a diplomaterv megvédése után. Ahogy hallom, felkészülési idő sincs, azonnal záporoznak a kérdések. Sok tárgyból pedig tételsort sem adnak, de remélhetőleg nem is itt akarják megvágni az emberek nagy részét.

A vizsgákon kívül még a diplomatervet kell megvédeni, ez a harmadik tárgy felelete előtt történik. Bemutatod, hogy mit dolgoztál fél évig, utána kérdeznek vele kapcsolatban.

Gépészkari napok

Vannak most ezek a Gépészkari Napok, amire kitalálták, hogy átirányítanak minden 80-as portra menő forgalmat a rendezvény weblapjára. Hiába, ők uralják a routereket. Nem örültünk neki. Nagyon nem. A fórum elég hamar megtelt nem éppen kedves üzenetekkel.

Szobatárs bosszúja:

Kitámasztott F5 (refresh) billentyű, háttérben Firefox amint tölti az említett weblapot.

Titkosított pendrive Linux és Windows alatt

A napokban vettem egy új pendrive-ot amit szerettem volna oly módon titkosítani, hogy mind Linux, mind windows alól tudjam írni és olvasni is. A titkosított részből elég lett volna egy kisebb darab, de mivel a Windows nem képes flashdrive-on több partíciót rendesen kezelni, így maradt az egy nagy titkosított partíciós megoldás. A lépések a következőek voltak:

  1. Particionálás
  2. Linux kernelben a Device Drivers / Multi-device support (RAID and LVM) / Device mapper support bekapcsolása. (Gondolom a Crypt target support is kellhet.)
  3. cryptsetup luksFormat /dev/sdc1
  4. /etc/crypttab fájlba a következő: corscrypt /dev/disk/by-uuid/abc... none luks,check=vol_id,retry=1
    Az UUID-t keressük ki a fenti könyvtárból.
  5. /etc/fstab fájlba: /dev/mapper/corscrypt /mnt/corscrypt vfat rw,gid=1000,uid=1000,dmask=0227,fmask=0337,noexec,user
  6. cryptsetup luksOpen /dev/sde1 sde1
  7. mkfs.vfat -F 32 -n CORSAIR /dev/mapper/sde1
  8. cryptsetup luksClose sde1
  9. /etc/init.d/cryptdisks start Ez a parancs berakja a /dev/mapper/ -be a cryttab-ban megadott eszközfájlt, amelyen keresztül elérhetjük a titkosított tartalmakat. Ha nincs rajta fájlrendszer, akkor nem megy, ezért kell a luksOpen és luskClose az mkfs-hez.
  10. mount /mnt/corscrypt

Lecsatolás:

  1. umount /mnt/corscrypt
  2. /etc/init.d/cryptdisks stop

Windows alól a FreeOTFE-vel használható, A File / Linux volume / Mount partition menüpontot kell választani.

Egyelőre FAT32-vel használom, az Ext2 IFS-es driverrel még nem volt kedvem próbálkozni.

További olvasnivaló:

LIRC módok, lircmd

Már régóta terveztem, hogy beállítom a távirányítómat a mostanában használt programjaimhoz, mint Amarok, Totem, és nem csak a régi mplayer-es beállításokkal használom. Ez még a Sarge-os időkből maradt, azóta nem nyúltam hozzá, valamint akkor a Totemnek sem volt LIRC támogatása, Amarok helyett pedig XMMS-t használtam.

Most sor került erre is, és érdekes dolgokat fedeztem fel. Egyrészt a lircmd a LIRC mouse daemon-t takarja, ami egeret tud emulálni X (és gpm) alatt. Eddig is fent volt ez a démon, de különösebben nem foglalkoztam vele, nem is tudtam, hogy pontosan mire való. Másik újdonság számomra a módok használata. Elnézve a forrás melletti Changelog fájlt ezek valószínűleg csak nekem újdonságok, bár magyarul még nem láttam róla sehol részletes leírást.

Szóval lircmd. A LIRC weblapján van róla jó doksi, lefordítani nem akarom, de röviden annyit, hogy a lircmd eredményeként kapunk egy egeret a /dev/lircm eszközfájl alatt. Ezt az X simán tudja használni, csak arra kell figyelni, hogy az xorg.conf-ban is ugyanazt a protokollt adjuk meg, mint amit a lircmd.conf-ban is.

A módok nélkül viszont nem tudtom hogyan tudtam eddig meglenni. Egy mód egy begin név és end név közti begin-end bejegyzéseket takar a ~/.lircrc fájlban. Ha belépünk egy módba, akkor csak az itt beállított funkciók működnek (na meg a globálisak, amelyek nem tartoznak semmilyen módba). Ez azért jó, mert ugyanazokkal a gombokkal lehet az mplayert és a totemet vezérelni, csupán módot kell váltani, ami egyszerűen megtehető globális funkciókkal, vagy akár kilépéskor is. Az én távirányítóm felső részén erre pont vannak is gombok TV, DVD, stb. felirattal.

A módváltó globális funkciók nálam a következőek:

begin
        flags = startup_mode
        mode = amarok
end

begin
        button  = tv
        mode    = mplayer
end

begin
        button  = dvd
        mode    = totem
end

begin
        button = media_library
        mode = amarok
end

A fentiekhez akár programindítást is lehetne rendelni, én most eltekintettem ettől, általában úgyis kézzel indítok mindent az Amarok kivételével, ami rendszerindításnál automatikusan betöltődik, és emiatt az amarok az alapértelmezett mód.

Egy jó példa a módváltáskor történő programindításra, és programból való kilépéskor történő automatikus módváltásra a G-Loaded! weblapján található.

A lircmd.conf-ban található egy TOGGLE_ACTIVATE opció, amely hatására egy általunk beállított gombbal kapcsolhatjuk ki-be az emulált egeret, ami gyakorlatilag újabb módként viselkedik.

Ajánlott olvasnivaló:

Billentyűzettartó ezerötszáz forintból

Nemrég rászántam magam, és kerestem egy közeli faáruboltot, hogy készítsek egy billentyűzettartót az íróasztali fiók helyére. A 600mm mély és 745mm magas asztal nem épp számítógépes munkára való, legalábbis ezzel a székkel biztosan nem. A felkarom közel sem függőleges, pedig úgy kellene. Ehhez 10-15 cm-el alacsonyabb asztalra lenne szükség. A 60 cm-es mélységből 20-at elfoglal a monitor, 25-öt a billentyűzet, a maradék 15-re meg sehogy sem fér el egy A4-es lap, vagy spirálfüzet. Oldalra rakni sem lehet, mert mindössze 70 centi széles az asztal.

A bútorlapot, a hozzá szükséges fióksínt és a csavarokat elfogadható áron megúsztam. A 708x450mm-es tölgyfa bútorlap 1200 forintba került (egyik élén ABS-élzárással). A fióksín és a csavarok pedig 300 forintból kijöttek. Már csak csavarozni kellett néhányat, meg helyet találni a régi fióknak.

A végeredmény tetszik, ennyi pénzt mindenképp megért, végre ki tudom nyújtani a lábam, kényelmesebb a gépelés, de azért nem ideális. A billentyűzettartó felső lapja és az asztal feletti alsó lapja között csak 6cm van, így lehetetlen behúzott billentyűzettartó esetén elérni bármilyen billentyűt is. Negatívum még, hogy így nem tudok átmászni az egérrel-billentyűzettel a szobatárs térfelére egy centit sem, viszont baloldalról itt az ablakpárkány, ami majdnem nyomja a vállam, ha középre ülök. Emiatt a billentyűzettartó baloldali tíz centije többnyire kihasználatlan miközben jobboldalt kevés hely marad az egérnek.

Amire érdemes figyelni:

  • Olyan fát érdemes választani, amin jó csúszik az egér. Azt nem tudom, hogy lehet-e rájuk valami speciális réteget kérni, mondjuk fóliát.
  • A külső élre – ahova az alkar kerül – mindenképp érdemes élzárást kérni, hogy minél kevésbé nyomja el az alkarban lévő ereket.
  • Az oldalsó lapokat (ahova a fióksín kerül) szerintem nem érdemes élzáratni, mert úgy nehezebb becsavarni a csavarokat.
Tartalom átvétel