HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

A Koala jobb színben tűnik fel

2009.09.25. 15:44 bagoj ur

Ma frissült az artwork, kicserélték az ikonokat és a színeket a Karmic Koalában. Új a gdm bejelentkező képernyő háttere is. Perpillanat ez számomra mellékes, mert sikerült végre egy olyan laptopot vennem, amire mindig is vágytam, de sajnos Linuxszal nem megy alatta a hálózat. Amíg ki nem gyökölöm ennek az okát, addig kizárólagos "boldog" Win7-RC-felhasználó vagyok (a gond az, hogy egy bájt forgalom nem megy az interfészen, a kernel driverban lesz valami bug).

Addig ideteszek kedvcsinálót, hátha nekem is nagyobb kedvem lesz belevágni.


2 komment · 1 trackback

Címkék: linux ubuntu 9.10

Túlsúlyossá válik a Linux?

2009.09.22. 13:09 bagoj ur

A C|net-en olvastam Linus véleményét, amelyet a LinuxCon konferencián mondott el. Szerinte a Linux már régen nem az, aminek ő megálmodta: ahogyan a népszerűsége nő, úgy nő egyre nagyobbra maga a Linux is. Már régóta nem az az átlátható, egyszerű célra megírt rendszer, hanem ott van a tenyérgépektől a szuperszámítógépekig mindenütt. Ez nem feltétlenül probléma, mint ahogy az sem, hogy az egyre nagyobb sikeres Linux projektek egyre jobban hasonlítanak egy Microsoft-szerű szervezetre.

Az én véleményem egyezik Linus mondandójának az elejével, de a végkövetkeztetéssel nem értek egyet. Bár tudom, nem látszik a postokon, de 1997 óta használok Linuxot. :) Rengeteg oldaláról megismertem, de végülis nem mélyedtem bele nagyon egyik területbe sem, mert tulajdonképpen megmaradt hobbinak. Annyit megtanultam ez alatt a hosszú idő alatt, hogy a Linuxot a maga helyén kell kezelni, és nem értem, miért akar mindenki Windowst faragni belőle. Szerintem a Linuxra áttérők, esetleg dual bootolók 90%-a nem azért teszi fel a Linuxot, mert annyira érdeklődik a technológia iránt, esetleg rendszert szeretne programozni, hanem összesen két okra vezethető vissza:

1. Olyat szeretnének, ami másnak nincs (=individualisták)
2. Utálják már a Windows hülyeségeit (=akik hamar feladják)

Az első csapat rak fel aztán egy nagy rakás képet és videót a netre, villog mindenkinek, aztán suba alatt használja a Windowst, mert gamézni meg Excelezni köll. Itt válik el a, hmm, a májtól: akit megfog a Línugz hangulata, filozófiája, az marad ezen a rendszeren és le tud mondani azokról a dolgokról, amire a Línugz nem alkalmas, a többieknek pedig marad a dualboot.

A másik csoport az, akik nem értenek a Windowshoz sem annyira, hogy ne szíjjanak be mindenféle mocskot a netrű. Nekik a Linux bizonyos szinten nagyobb biztonságot hozhat (ezt jól megmondtam), de nekik úgyis lesznek teljesn más problémáik, például nem tudják rpm pontossággal szabályozni az USB-s ventillátoruk fordulatszámát; és hirtelen a Windows ismét elkezd nagyon vonzóvá válni. Ahhoz szintén nem értenek, hogy visszatelepítsék az eredeti MBR-t (hogy lementsék, az nyilván eszükbe sem jutott), tehát rövid úton az egész gépet fogcsikorgatva, a Linuxot átkozva fogják újrahúzni.

Igazából tehát egy törpe minoritás az, aki szívből megmarad a Linux operációs rendszer mellett. Azt hiszem, ezzel az elnehezítéssel és átláthatatlanná válással éppen ezeket az embereket ritkítja meg a fejlesztőcsapat, hiszen miért cserélnének le egy Windowst Linuxra, ha az ugyanolyan átláthatatlan, hackolhatatlan ésatöbbi. Jahogy a Windows pénzbe kerül? Egy OEM Windows nem olyan drága, adják alkatrész nélkül is már, a FOSS programok közül mindegyik megy rajta és minden egyéb is (pl. játékok).

Kérem szépen, maradjon a Linux olyan, amilyen volt! Egyszerű, hekkelhető, átlátható! Nem kell nekem eseményvezérelt kernel, hierarchikus és önmagát optimalizáló boot folyamat, gnómshell és plazmoidz.

6 komment

Címkék: linux

Zen és holland sajtok

2009.09.15. 06:33 bagoj ur

Eltöltöttem egy délutánt a Zenwalk Core 5.2-vel. Az eset apropója természetesen az, hogy nemrégiben jelent meg, mindenkitől azt hallom, hogy milyen szuper kis OS (akárcsak a Slaki) és valahogy körüllengi a "kicsi és könnyed" érzete. Elkezdtem hát a telepítést kedvenc, ultralow PIII 256Mb RAM gépemen olyan délután öt körül, 25 dkg holland sajt vidám társaságában.

A telepítés természetesen konzolos, hiszen a Core egy csak parancssoros változat (azért is szemeltem ki éppen ezt, mert gondoltam, majd gyorsan hegyezek rá valami egyszerű guit). A livecd üzemmód itt nem játszik, rögtön belecsaptunk a telepítésbe. A partícionálás gyorsan ment, 19Gb ext3 és 1Gb swap a 20 gigás merevlemezen, elindult a formázás, majd az alaprendszer felmásolása.

Három percen belül jött az első meglepetés, amelynek legalább 5dkg sajt bánta a kárát: Sajnos nem tudja felmásolni a kernel-2.6.25.tgz-t, mert hibás a lemez. Ami miatt elkezdtem szentségelni, az az volt, hogy ugyan a géphez volt Internet, de nincs bene cd-író, és amúgy is egyetlen cd volt nálam, az pedig hibás. Mivel a telepítőt a legkevésbé sem zavarta az, hogy a legfőbb komponenst nem tudja felmásolni, haladt tovább, én is nyugodtan vártam a folytatást. Ami nemsokára jött is: a  tar-t sem tudta felmásolni. Ez nem töltött el nagy nyugalommal, tudván hogy a Zenwalk csomagkezelője a Slackware-hez hasonlóan .tgz-alapú, aminek ugyebár a tar is erősen része.

A telepítés amúgy probléma nélkül zajlott le, a végén feltelepítette a lilo-t (igen, nem grub a boot menedzser), majd kivágott egy parancssorba. Nagyszerű, éppen ez kell nekem, 16dkg holland sajt mosolygós társaságában. Ugyan nem ismerem a csomagkezelő utasításokat, de nézzünk körül! Pár perccel később megtudtam az alábbi, lényeges infókat:

- A pkgtool nem működik el tar nélkül (nem lepett meg)
- Nincs egyetlen általam ismert karakteres böngésző sem a Core-ban
- Az ssh nem fut, mert hiányzik neki a libopenssl-0.9.8

Nos, semmi gond, ráérünk.

cd /mnt; chroot . /bin/bashEzzel bekerültem a telepített rendszerbe. Itt már kell mennie az ssh-nak, hiszen ez egy feltelepült rendszer... aha, megy is, csak épp nincs hálózat. Az ifconfig kimenetében csak az lo interfész van. Jó, hát nem húzta be a kernel modult, de tegyük meg:

modprobe e100Hehe, nem talál a /lib/modules alatt semmit. Naná, mert a kernel csomagot nem tudta felmásolni. Akkor lépjünk ki a chroot-ból és húzzuk fel úgy a hálókártyát:

exit
modprobe e100
ifconfig eth0 up
/usr/sbin/dhcpd eth0
Hurrá, van hálózat! Visszaléptem a chroot-ba, és indítottam egy ssh bejelentkezést egy másik, általam babusgatott gépre. Nagyszerű! Ott már volt w3m, aminek segítségével körbe tudtam szaglászni a neten és le tudtam húzni a hiányzó tar és kernel csomagokat (összesen 4-5 fájlból állnak, de a .tgz a leglényegesebb). Ezeket scp-vel áthúztam a lokális gépre.

Tíz deka aggódó holland sajt társaságában megpróbáltam kitalálni, hogy a tar .tgz csomagját hogyan fogom kitömöríteni a tar nélkül. A megoldás persze egyszerű: A telepítő cd-n ott kell lennie, hiszen amúgy a többi csomagot sem tudta volna kitömöríteni. Újra exit, a /bin/tar bemásolása a /mnt/home/bagoj alá (vagyis nem emlékszem tisztán, hogy a busybox tudja-e a tar-t vagy sem és végül melyiket másoltam be de nem is lényeges), visszaléptem a chroot-ba, a tar-ral kicsomagoltam a tar.tgz-t (tar -C xzvf tar.tgz) úgy, hogy minden a helyére kerüljön. Ezután indítottam a pkgtool-t, ami alapból az aktuális könyvtárban lévő összes csomagra egyenként rákérdez, hogy feltegye-e. Felraktam újra a tar-t is, hiszen a csomagkezelő eddig nem tudott róla, meg a kernel-t is.

Reboot. És csont nélkül bebootol. Ezt nevezem!

Hét deka szomorkodós holland sajt társaságában izzítottam be a netpkg parancsot, amely az update paraméter hatására frissítette a szükséges csomagokat. Ezután elkezdtem felpakolni ezt-azt (miután szörnyülködve láttam, hogy a csak parancssoros telepítés 800Mb, rosszabb mint az Ubuntu). Mivel nagyon büszkék a fejlesztő srácok, hogy mennyire kezeli a függőségeket a netpkg, én ezt készpénznek is vettem. Végülis igaz, az openbox-nak nincs közvetlenül szüksége az X-re, de azért nem fut el nélküle, én logikusnak tartanám hogy felajánlja a telepítést. Nem így történt, de azért összevadásztam, hogy mit kéne felrakni.

  • xorg-server
  • xorg-input-<ami nekünk kell>, nekem mouse és keyboard
  • xorg-video-vesa
  • openbox
  • lxde-panel
  • lxappearence
  • lxsession-lite
  • gdm

Ebből a gdm sajnos feltette a fél gnómot, de jobb bejelentkezőkezelő az lxdm stabillá válásáig nincsen. Aztán futtattam a videoconfig parancsot, és beállítottam az X-et, meg hogy alapból grafikusba bootoljon.

Az init 4 parancsot már csak 2dkg holland sajt igen szomorú társaságában adtam ki. Kiválasztottam az LXDE-t a session-ök közül, és szépen, problémamentesen el is indult. Hogy legyen fent egy alkalmazás is, felraktam a tűzrókát, akarom mondani azt itt jégmenyétnek hívják.

Az eredmény? Sikerült a telepítés, a beteg is életben maradt. :) A sajt meg elfogyott. :-))) A boot idők (összevetve a múltkori, Koalás postban írottakkal:

  Grub -> GDM Grub -> Desktop
Jaunty 00:36:48 01:07.13
Karmic 01:14.93 01:43.61
Zenwalk 5.2  01:18.64  01:22.96

 

Ahogyan látható, kicsit kehesen indul, de a gdm bejelentkezés után behozza a hátrányát a Koalával szemben (ebből is látszik, hogy van értelme a mini desktopoknak!). Természetesen itt még semmiféle optimalizációról nem beszélhetünk. Képernyőmentéseket egyelőre nem érdemes felrakni, egy tök üres fekete desktop hátteret és egy lxde-panelt mindenki el tud képzelni. :-)

Összefoglalás

Ha sikerül további üzemeltetési, illetve gasztronómiai kalandokba keverednem a Zenwalk-kal, jelentkezem. Alapból szimpatikus, hogy nem varrja rá magát az emberre, nem próbál kitalálni helyette mindent és a boot képernyője szép. Valamint, legfőbb erénye, hogy nem barna. :-) Hátrányként annyit tudok említeni, hogy meglepően sok helyet foglal ahhoz képest, hogy szinte még semmit nem telepítettem fel. Nade 20Gb-on elfér... Meg még annyi, hogy még a Koalánál is lassabban bootol fel a gdm-ig.

Értékelés: 75%

1 komment

Címkék: linux firefox függőség csomag kernel parancssor

Vicceskedés az SSH szerverrel

2009.09.14. 14:00 bagoj ur

Már írtam két bejegyzést is SSH szerver és SFTP témában [1,2], de ez a téma kimeríthetetlen.

2008. áprilisa óta, az OpenSSH 4.9-es verziójával lehetőség nyílt, hogy a korábbi körülményes(ebb) és neheze(bbe)n karbantartható módszerek helyett (és ezek között a jailer szerintem a legkiválóbb, köszi Höltzl Peti!) immár natív módon is készíthessünk Chroot-ot az SFTP bejelentkezésekhez.

Az alapprobléma, ha esetleg nem ugrana be valakinek, hogy az SFTP a teljes fájlrendszerhez hozzáférést ad, és hát a rendszerünkben nyilván van egy rakás fájl, amely bár minden felhasználó számára olvasható kell legyen, mi mégsem szeretnénk ha olyan helyen kolbászolnának, ahol nem kéne. Az SFTP pedig már eléggé alap elvárás mostanában a sima, titkosítatlan FTP helyett, ahol a jelszó is átmegy mindenféle titkosítás nélkül. Jó lenne tehát egy olyan megoldás, ami bizonyos felhasználókat az általunk kívánt könyvtárakban tart.

1. Frissítsük fel emlékezetünket az sshd_conf-ról

Ez ugyebár úgy működik, hogy a globális szekció után a "Match" kulcsszóval szűkíthetjük a feltételeket felhasználókra, csoportokra, host nevekre vagy IP-címekre. A feltétel után használt konfigurációs parancsok pedig felülírják a globális szekciót (bár nem mindegyik parancs használható természetesen, pl. a portot nem tudjuk változtatni user függvényében, ez gyorsan belátható).

2. Tegyünk hozzá egy csipet chroot-ot

A 4.9-es (igazából a 4.8-as, de asszem az csak BSD-re jelent meg) evrziótól használhatunk többek között egy ChrootDirectory parancsot is, amely "bezárja" a feltételnek megfelelő felhasználókat, csoportokat stb. az adott könyvtárba, felfelé nem léphet. Természetesen ez azt is jelenti, hogy az sftp binárist nem tudja meghívni az sshd szerver, hiszen a root könyvtár megváltozott; ennek kivédésére a fejlesztők belefejlesztettek magába az sshd-ba egy belső sftp szevrert, amit elmésen internal_sftp-nek kereszteltek el. Ha használni akarjuk a chrootot, akkor vagy ezt használjuk, vagy a chrooton belül létre kell hozni a szükséges könyvtárszerkezetet, bele a libeket és az sftp futtathatót, ami a karbantartást megint nehézkessé tenné (hiszen minden chroot-tal ezt meg kéne tennünk), tehát lehetőleg használjuk inkább a beépítettet.

AllowUsers god adam@192.168.0.10 eve
Match User adam,eve
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
    ChrootDirectory /var/paradise
A fenti kis szösszenetben god, adam és eve léphet be az ssh-ra. Isten nincs korlátozva, Ádám és Éva pedig be vannak zárva a Paradicsomba. A régebbről ismert trükkel letiltjuk a Tcp és X11 forwardingot is.

3. Ha ennél finomabb jogok megadására van szükség: Apparmor

Ha szeretnénk tovább cizellálni a dolgot, például hogy Évának és Ádámnak is adjunk némi magánéletet, és legyen egy közös területük is, azt már az sftp/ssh szerver nem igazán tudja megoldani (persze nem is feladata). Ha azonban mégis többen használnak egyetlen területet, és a jogokat szabályoznánk, akkor képbe jöhet az AppArmor. Mostanában olvastam, hogy frankón lehet egy profilt létrehozni az sftp program számára is.

Az AppArmor egy olyan biztonsági megoldás, amely lehetővé teszi a programok biztonsági profilokkal való társítását, amely profil lekorlátozza az adott program erőforrásokhoz való hozzáférését, s így lehetővé teszi a lehető legkisebb privilégiumszintű futtatást. Ilyen módon kiegészíti a felhasználóhoz/csoportokhoz kötött jogokat azzal, hogy a program számára újabb megkötéseket ad. Ezzel sok biztonsági résre alapuló támadás kivédhető, hiszen a programot alapból csak a legszükségesebbekhez engedjük hozzá. Hasonló megoldás még a SELinux, amely abból a szempontból jobb, hogy annak nem döglődik a fejlesztése; de amíg az Ubuntu az Apparmor-t támogatja, ezt kell használnunk.

Fontos megérteni tehát ismét: nem a felhasználóknak hozunk létre profilt, hanem az sftp futtathatónak! Ezt pedig létrehozhatjuk úgy, hogy beírjuk ezt a /etc/apparmor.d/openssh-sftpd fájlba:

#include <tunables/global>
/usr/lib/openssh/sftp-server {
  #include <abstractions/base>
  #include <abstractions/nameservice>
 
  # A szülő könyvtárakra muszáj r access
  / r,
  /var/ r,
  /var/paradise/ r,
  /var/paradise/**/ r,

  owner /var/paradise/** rwkl,
  /var/paradise/shared/** rwkl,
}
A fentiek magyarázata: A /var/paradise/-ig szükség van az olvasási (r) jogra, aztán a /var/paradise/ alatti összes könyvtárra is megadjuk a read jogot (a kettős csillag jelentése: minden karakter, beleértve a perjelet is. A lezáró perjel pedig azért kell, mert csak könyvtárnevekre adunk jogot, a fájlokra nem). A /var/paradise/** azt jelenti, hogy az összes könyvtár és fájl a Paradicsomban, tehát ha Ádám vagy Éva létrehoz egy könyvtárat, akkor az abban lévő fájlokat már csak Ő fogja látni. Utolsóként pedig ott a shared könyvtár, amelyet mindenki elérhet.

Ha megalkottuk a profilt, élesíteni kell a

apparmor_parser -r /etc/apparmor.d/openssh-ftpdparanccsal (ha már egyszer bezúztuk, akkor használnunk kell a --replace opciót). Ezek után Ádám és Éva csak a megadott helyen huncutkodhat.

1 komment

Címkék: linux biztonság profil ubuntu ssh példa parancssor apparmor

Road to hell

2009.09.07. 14:34 bagoj ur

Ez az út tényleg a pokolba vezet, bár kétségtelenül jóindulattal van kikövezve. Felfedeztem egy új alkalmazást, amely a Mound Data Manager névre hallgat. Van csodálatos felülete, ikonokkal. Annyit tud, hogy ha az alkalmazásunk támogatott (!), akkor képes az alkalmazás adataiból "snapshotot", azaz a pillanatnyi állapotot elmenteni. Mindezt tar segítségével.

Átfogalmazva: sikerült egy grafikus, csicsa alkalmazást fejleszteni (nyilván Pythonban, de még arra sem fárasztottam magam hogy utánanézzek) arra, hogy tar czvf valami_2009_09_07.tgz <könyvtár>, és persze vissza is tud állítani, tehát ugyanez x-szel is. És ezt nem tudja megcsinálni, csak támogatott alkalmazások esetén! Muhaha!

Nyilván a továbbfejlesztési lehetőségek között ott lesz a DVD-re írás is!

Azt hiszem, tényleg jobb volt amíg a Linux megválogatta a barátait. :-( Mound, mire jó ez?

5 komment

Címkék: parasztvakítás alkalmazások tömörítő vps

süti beállítások módosítása