T. I. N. T. F. M.

(This IsN't The F*cking Manual)

UNIX
a la Hamster

PART deux...

 Hol is tartottam?

"Namármost, ebből az ábrából a legkezdőbb kezdőnek is le kellett vonnia a tanulságot, ti. hogy nem tudok 
ASCII-ban rajzolni... Meg még azt is, hogy ezt a rendszert ismernie kell, kivéve talán, ha ZX-81-ről,
VM-ről, MVS-ről, OS-ről, stb-ről szállt át UNIX-ra..."
No igen...
Akkor nézzük meg ezt élesben is!

Lépjünk be! (tagdíjbefizetés az emeleten első ajtó jobbra)

Menjünk be a céghez/egyetemre (mázlistáknak/gazdagabbaknak ki se kell mozdulnia, amennyiben kéznél van egy UNIX-os masina... Nem kell kimozdulnia azoknak se, akiket nem érdekel a téma), és egy közepes méretű ólmosbottal, szúró- vagy lőfegyverrel kényszerítsük az első utunkba eső UNIX-os számítógép rendszergazdáját, hogy adjon nekünk hozzáférési jogot, ugyanis ezek a gépek már nem a játékra, valamint szexképek nézésére szolgáló minigépek szintjén leledzenek, hanem biza néha eléggé megdöbbentő erőforrásokkal (háttértár, memória) rendelkeznek, és esetleg szigorúan bizalmas fejlesztések folynak rajta, melyeket gondosan meg kell(ene) védeni a mezei lamerektől, vagy a réti hackerektől. Ilyen megfontolásból mindenkinek korlátozva van, hogy mit csinálhat a rendszerben, mihez férhet hozzá, mikor, és honnan. Pont ezért nagyon megnézik, hogy kit engednek oda. Természetesen a mi dolgainkat is védik, például azzal, hogy jelszót kér a rendszer, amikor be szándékozunk lépni. [Esti mesénket hallották...:)]

Tegyük fel, hogy be akarunk lépni. Erre ez a csúnya gép valami ilyet ír ki:

  Login:
Na erre vagy elszaladunk, vagy beírjuk azt az azonosítót (username, userID), amit a gép operátorától, rendszergazdájától, vagy jólelkű haverunktól kaptunk. Ha ezt megtettük, nem történik semmi. Mi lehet a baj? Ja, elfelejtettünk ENTER-t nyomni... Miután megtettük, több lehetőség van: ha először jelentkezünk be, elképzelhető, hogy a rendszer nem kér tőlünk jelszót. Ez nagyon kellemes, pláne, ha nem is sajátunk az azonosító... De az is lehet, hogy kiírja:
  Password:
Ha először megyünk be, akkor a helyi fônök adott valami jelszó-szerűséget, de az is lehet, hogy csak símán az azonosítót kell mégegyszer begépelni. Bármelyik is az eddig felsorolt lehetőségek közül, mindenképpen egészséges valami olyan jelszót választani, amit rajtunk kívül senki nem tud. Ha viszont már jártunk bent, és van tisztességes jelszavunk, akkor kéretik azt begépelni (illetve mást is begépelhetünk, legfeljebb nem jutunk be...). Persze a jelszó nem jelenik meg a képernyőn, mert így akárki le tudná nézni a hátunk mögül... ne könnyítsük meg az ilyenek dolgát, nézzék le inkább a kezünkről! :)
Tehát valami hasonlót kéne látnunk (oké, Internetről legalábbis...):
   Connected to ALADAR.PMMF.HU.
   Escape character is '^]'.
(egy ^] nevű gyanús karakter megszökött)
   Linux 1.1.59 (aladar.pmmf.hu) (ttyp0)
(oops, megint egy LINUX-gép csak...sorry)
   aladar login: guest
(aladár belóg (lóg-in) hivatlan vendégként; a 'guest'-jog elég kevés gépen létezik, ez egy jóindulatú szolgáltatás a rendszergazda részéről)
   Last login: Fri Feb  3 00:23:55 from ludens.elte.hu
(utoljára ekkor jöttünk be, innen és innen...
   Linux 1.1.59. (POSIX).
(a gép megsúgja nekünk, hogy milyen oprendszer fut rajta; ez itt most egy apró PC, ha valami olyasmit ír ki, hogy "S*nOS/UNIX", akkor nem kell megijedni, hanem lehet örülni, hogy milyen tisztességes géppel hozott össze a jósors!)
   $ irc
(na, már megint elárultam magam... ezt a sort hagyjátok figyelmen kívül, csak azt akartam jelezni, hogy a gép innentől kezdve várja parancsainkat.) A parancsértelmező shell promptja a példában egy '$', de ezt át lehet definiálni; sokszor a gép nevét mutatja, pl.:"spike%",
ami főleg akkor hasznos, ha hirtelen amnézia törne ránk, és elfelejtenénk, hogy hol is dolgozunk. De mutathat mást is, például utalhat a használt shell típusára, vagy ha az alakja '#', akkor arra, hogy rendszergazdai státussal rendelkezünk. A lényeg az, hogyha az első tíz perc után nem jelenik meg semmi, azaz nem tudunk semmit se csinálni, akkor több mint valószínű, hogy valami nem stimmel. Persze ha túlságosan is túl van túlterhelve a túlgép, akkor amúgyse fog beengedni, hanem valami furcsa kifogással elhajt minket...

Mielőtt megijednénk, befejezem azt, amit a fájlokról akartam mondani...

A fájloknak (kultúrbunkóknak csak egyszerűen állomány) van pár kellemes tulajdonsága, melyekről jó tudnunk.

Először is a külsőségek. Kicsit furcsa lesz a DOS után, hogy nem "\" (backslash) jelzi a directorykat, hanem "/"... Formai dolog, de én is
állandóan elgépeltem az elején. Egy másik külsőség, hogy egy-egy fájlnév jó (UNIX-verziótól függ, lehet pl. 254 karakter, régi rendszereknél 16, 8, stb) hosszú lehet, illetve egyaránt tartalmazhat kis- és nagybetűket, számokat, bizonyos grafikus karaktereket (szóközt alapból nem). Mindezért cserébe nincsen olyan, hogy kiterjesztés, igaz, hogy megszokásból lehet emulálni, annyi pontot téve a névbe, amennyit jól esik. Ez megkönnyíti az ember dolgát, így ránézésre is láthatjuk, hogy milyen állományról van szó, pl.:

   get_the_hell_outta_here.tab.gz
   nagyRAKAS.tar
   forras.c

Az első esetben egy gzip nevű tömörítővel összepréselt állományról van szó, a második a tar című segédprogrammal összefűzött
file-sorozat (mellesleg mindkét programnak létezik DOS-os változata is), míg a harmadik egy C-forráskód. (legalábbis nagy
valószínűséggel, mert akárminek adhatunk ilyen nevet)

Vannak még olyan fájlok, amelyeknek a neve ponttal kezdődik, ezeket a síma filelistázás nem írja ki, az ilyen fájlok általában a
rendszernek, vagy valamely programhoz szükségeltetnek, azokhoz tartoznak, pl:

    .login     = ez biza egy loginscript, mely belépésünkkor hajtódik végre
    .term     = termeszhangyák emulálásához szükségeltetik
    .ircrc     = mármegint...az irc-kliensünk beállításait tartalmazza

Fontos, hogy a kis- es nagybetűk között mindig különbség van, például az "a" és az "A" nem ugyanaz! Természetesen használhatunk wildcard-okat (joker karakter a szakbarbár szakirodalom szerint) is:

   nagy*  , nagy*.tar , nagyRAKAS.*

A ? egyetlen karaktert helyettesít, a * tetszés szerinti számút. Ennél még sokkal több trükk is rendelkezésünkre áll, de ezekről majd
később, most inkább elmondom, hogy hogyan is kell kilistázni fájlokat (szándékosan nem azt a szerkezetet használom, hogy "a könyvtárban
levő fájlokat"!). A dir parancs (VMS-nél: directory, másutt list, stb) megfelelője:

   ls <maszk>
Ez így síma fájllistát ad, az
   ls -l
kiírja az állományok tulajdonságait is. Erre, ha minden igaz, és nem egy üres könyvtárban vagyunk, egy a következőhöz hasonló listát
kapunk:
  total 999
  -rw-rw-rw-  1 hamster  user  672341 Apr 29 21:23 IrcLog
  -rwxr--r--  2 hamster  user    1024 May  1 19:31 kosa
  drwxr-xr-x  2 hamster  user    1024 Jan 17 03:33 oldlogs   
  drwx------  2 hamster  user    1024 Sep 12 01:52 not4you   
  -rw-------  1 hamster  user     378 Feb 27 16:46 dead.letter
  drwxr-xr-x  3 hamster  user    1024 Aug 30 19:71 Mail
  drwxr-xr-x  2 hamster  user    1024 Aug 11 19:75 News
Szép, nem? Az egyik lényeges attribútum-sorozat a bal szélen elhelyezkedő mintában rejtőzködik, ezek az adott állományra vonatkozó
jogok. Bontsuk csak ki!
   drwxrwxrwx
   |123123123
   | |  |  - az összes userre vonatkozó jogok
   | |   --- group-elérés, a velünk egy csoportban levőkre vonatkozó jogok
   |  ------ owner v. user-elérés, a fájl tulajdonosára vonatkozó jogok
    -------- fájlmeghatározó
Az első betű azt mutatja, hogy milyen típusú fájlról van szó:

 d
   directory (könyvtár)
 -
   sima fájl
 l
   link (még lesz róla szó)
 p
   pipe (erről is)
 c
   karakteres device, karakter-elérhetőségű berendezés (pl. egy terminál, nyomtató)
 b
   block device, blokk-címezhető berendezés (pl. merevlemez)

A '.' és '..' értelmezése talán érthetô: a '.' az eppen aktuális könyvtár, a '..' meg az anyadir.

Az ezután következő rész három részre osztható, mindhárom három betűből áll, úgymint egy, kettő, öt... három... :-) A betűk jelentése:

   r    - olvasási jog
   w    - írási (és törlési) jog
   x    - végrehajtási jog

Az első három betű közvetlenül a felhasználóra, azaz ránk (Rád) vonatkozik, hogy olvashatjuk, írhatjuk (változtathatjuk, szerkeszthetjük,
törölhetjük) vagy netán elindíthatjuk-e az adott fájlt, ez az owner vagy user jogosultsága. A következő három a mi csoportunkba tartozó többi userre. Például lehet, hogy mi csak tanulók vagyunk, akkor a rendszerben további tanulókként nyilvántartott felhasználók az itt meghatározott módon bánhatnak az adott fájllal. A rákövetkező három pedig... igen, a gép összes többi felhasználójára vonatkozik, akármilyen csoportba (groupba) is tartoznak. Érdemes tudni, hogy a rendszergazda minden fájlhoz hozzá tud férni, előle semmit nem lehet elrejteni (a rendszer szempontjából legalábbis).
 

Vissza Előre