LINUX alapú hálózatok - Vizsga, 2010.06.23.
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
2010. 06. 23. vizsga.
Mottó: valakinek sok ideje volt.
1 - Shell (5 pont)
a) Hogyan lehet egy program kimenetét, illetve hiba kimenetét állományba irányítani?
kimenet: =>= (vagy =>>= a hozzáíráshoz), illetve ezzel ekvivalens: =1>= és =1>>=
hiba kimenet (stderr): =2>= valamint =2>>= a fenti analógiájára
b) Hogyan lehet egy program kimenetét egy másik program bemenetébe irányítani?
Pipe-pal: =prog1 | prog2= a prog1 kimenetét irányítja a prog2-re.
c) Hogyan lehet egy parancs kimenetét beilleszteni a parancssorba?
Backtick-ek segítségével:echo `prog1` a prog1 kimenetét illeszti a parancssorba (értsd: behelyettesíti a hívás helyére. A backtick nem azonos az aposztróffal. Bevitele magyar billentyűzeten: altgr+7.
d) Hogyan lehet szinkron és aszinkron módon folyamatokat indítani?
Szinkron: nevével. =prog1=
Aszinkron: nevével &: =prog1 &=
2 - jogogosultságkezelés (10 pont)
ls -ail 1409658 drwxrwx--t 2 test users . 1179651 drwxr-xr-x 34 test users .. 1409659 -rw-rw-r-- 2 test users file1 1409659 -rw-rw-r-- 2 test users file2 1409660 lrwxrwxrwx 1 test users file 3->file1 1409661 -rw------- 1 test users file4 1409662 -rw-r----- 1 test users script1
Adott két felhasználó: test és test2, mindketten az users csoport tagjai.
a) test2 törölheti-e file1-et?
Nem, mert a =.= könyvtáron be van állítva a sticky bit, vagyis csak a fájlok tulajdonosa, vagy a root törölheti vagy nevezheti át a benne lévő fájlokat.
b) test2 módosíthatja-e file1-et?
Igen, mert a csoportjának van írási joga.
c) other (others) listázhatja-e a könyvtárat?
Igen, mert a =.= könyvtáron van x bit (keresési jog). Ezt onnan lehet tudni, hogy ha a sticky bit és az others' x egyszerre van beállítva, akkor a sticky t-je kisbetű, egyébként nagy T.
Szerintem nem, mert az x bit csak a bejegyzések használatát teszi lehetővé, a listázáshoz r jog kellene! (--Stipi (vita) 2013. május 16., 22:31 (UTC)Stipi)
d) test2 futtathatja-e script1-et? (másolás nélkül)
Nem, nincs rá semmilyen futtatási joga. Linket pedig hiába csinálna, ha tudna is, mert a jogok az inode-hoz tartoznak, nem a linkhez.
Szerintem futtathatja például sh script1 paranccsal, hiszen van rá olvasási joga! (--Stipi (vita) 2013. május 16., 22:31 (UTC)Stipi)
e) test2 létrehozhat-e új állományt?
Igen, mert a csoportjának van írási joga =.=-ra.
3 Log (8 pont)
- a) Milyen központi log kezelési mechanizmus áll a szolgáltatások rendelkezésére?
syslog, rsyslog, syslog-ng (utóbbi nem volt előadáson, de pl. az arch ezt használja)
- b) hogyan állítható be, hogy hová kerüljenek a logok? Milyen helyekre kerülhetnek?
Hová: fájl, stderr, stdout, karakteres eszköz (pl. /dev/console), felhasználók egy csoportjának képernyője, mindenki képernyője, pipe-ra, küldés központi gépre (@host, de hogy milyen módon küldi át, azt nem írja a jegyzet, biztos füstjelekkel), rsyslog esetén mysql adatbázis. Hogyan: =/etc/syslogd.conf= vagy =/etc/rsyslogd.conf=.
- c) Soroljon fel 3 tipikus log állományt és azt, hogy mit tartalmaznak!
boot.log - szolgáltatások elindítása és leállítása
maillog - levelezőszerver üzenetei
secure - felhasználók bejelentkezésének könyvelése
- d) Hogyan oldható meg, hogy a log állományok ne növekedhessenek a végtelenségig?
logrotate - csúszóablakkal törli a régebbieket.
4 Folyamatok (5 pont)
a) Hogyan indíthatunk folyamatot az előtéren és a háttérben?
Lásd szinkron-aszinkronos kérdés (ez NEM az =fg= és =bg=, azok a váltásra valók, nem az indításra)
b) Háttérben futó folyamatot hogyan hozhatunk előtérbe?
fg <job id> (ezt kiírta, amikor háttérbe küldtük)
c) Hogyan futtathatjuk a háttérben a folyamatot úgy, hogy a shellből kilépve se álljon meg a futás?
nohup progi &
d) Hogyan listázhatjuk ki a futó programokat?
ps [aux] vagy top, utóbbi valós időben monitoroz.
e) Hogyan küldhetünk jelzéseket a folyamatoknak?
kill
5 Web Szerver (12 pont)
a) Az Apache web szerver milyen fő konfigurációs állományokat és könyvtárakat használ?
- =/etc/httpd/httpd.conf= - fő konfig fájl
- =/etc/httpd/conf.d/= - egyéb, modulokhoz való konfig fájlok
- =/var/www/html= - Az alapértelmezésben kiszolgált könyvtár
Ezek itt a Fedorára jellemző elérési utak, a más disztrokban lévőket is elfogadták
b) Hogyan állíthatjuk be, hogy milyen felhasználó és csoport nevében fusson a web szerver és ez miért fontos?
=httpd.conf=-ban a User és Group mezők. Azért fontos, mert a webszerver "örökli" a felhasználó és csoport jogait, így ha túlságosan széleskörűeket kap, akkor az biztonsági kockázatot jelent. Pl. root nevében fut, és be van kapcsolva a könyvtárak listázása: ebben az esetben bárki egy böngészővel olvashatja a teljes fájlrendszerünket.
c) Mi a Dynamic Shared Object (DSO) és miért hasznos?
Olyan, mint egy .so vagy .dll windowson (az is), előnyei: futáskor lehet betölteni, több processz tudja ugyanazt a kódot használni, vagyis nem kell többször betölteni, így spórol az erőforrásokkal.
d) Hogyan hozhatunk létre jelszóval védett könyvtárat?
httpd.conf-ban <Directory ...> bejegyzés és konfigurálása.
e) Mi szükséges ahhoz, hogy https protokollal is elérhető legyen a web szerver?
Certificate (bizalmasság elve). (valamint még nyilván a szervert is fel kell rá készíteni, ezt jellemzően úgy teszed, hogy kikommentezed a megfelelő részt a httpd.conf-ban).
f) Mire való az awstats?
Statikus logfájl-analizáló, jellemzően a szerver logját nézed vele, kb. a google analytics szerveroldali megfelelője (ezt persze nem így kell megfogalmazni :))