Egy rendszer használatához először is be kell jelentkezned, és a biztonság érdekében mihamarabb le kell cserélned a jelszavadat is. Parancsokat kell begépelned, aminek megvannak a maga trükkjei, ha időt szánsz a megtanulásukra, később a munkára tudsz koncentrálni, és nem az eszközzel birkózol. Van pár parancs, amit érdemes ismerni ahhoz, hogy a rendszert kényelemesen tudd használni, ezeket ismerheted meg ebben a fejezetben.
3. Alapok¶
Ha feltelepítesz egy Unix rendszert, azt fizikai gép esetén a számítógépen teszed meg, annak monitorát nézed, annak billentyűzetén gépelsz. Ilyenkor azt mondjuk, a gép konzolján dolgozol. (Virtuális rendszerek esetében ez némiképp másképp van, erről majd a A virtualizáció c. fejezetben olvashatsz.) Az éles rendszerek gyakran sok felhasználót szolgálnak ki, természetes, hogy ez nem úgy történik, hogy a felhasználók a kiszolgáló gép előtt hemzsegnek. A gépet távolról lehet elérni valamilyen hálózati kapcsolaton keresztül. Ez sokféle lehet, az egy egyszerű helyi hálózattól az Internet-kapcsolatig. A kezdetekben a számítógép-hálózatok fejletlensége miatt a felhasználók gépei, az ún. terminálok soros kapcsolaton érték el a szervert. Ez nagyban korlátozta a szerver és a terminál távolságát, ez gyakran csak pár métert lehetett. A telefonos kapcsolat megjelenésével a távolság növelhető volt, de ennek ára a sebesség drasztikus csökkenése volt. A terminálok nagyon egyszerű gépek voltak, csak az adatbevitelt és a megjelenítést szolgálták. A működésük során a billentyűzeten leütött karaktert továbbították a kiszolgálónak, amit az visszaküldött a terminál monitorára. A monitoron csak a visszaküldést követően jelent meg a leütött karakter, így a felhasználó biztos lehetett benne, hogy a begépelt karaktereket valóban „vette” a szerver. Grafikus képről, egér használatáról ebben az időben szó sem lehetett. Miért fontos ez? Mert ma is hasonló elvek mentén dolgozunk egy szerverrel. Nem megyünk oda hozzá, hogy dolgozzunk vele, távoli kapcsolatot hozunk létre, igaz, már nem egy terminálról, hanem a saját számítógépünkről.
Egy linuxos gépen parancssoros környezetben dolgozol. Ez szokatlan lehet, ha eddig valamilyen grafikus környezettel dolgoztál, de tény, hogy a parancssoros környezet sokkal hatékonyabb lehet, mint a kényelmes és sok esetben egyszerű grafikus. A hatékony használatnak persze feltétele van: érdemes alaposan megtanulni a parancsok bevitelének és javításának szabályait. Mielőtt azonban parancssorhoz jutnál, először be kell jelentkezned a gépbe.
3.1. A bejelentkezésről¶
Egy unixos gépen alapvetően két módon juthatsz el odáig, hogy egyáltalán parancsokat adhass ki.
Ha van ilyen rendszerű géped, esetleg virtuális géped, pl. telepítettek neked egyet, vagy odaülhetsz valaki gépéhez, amin Linux van, tehát annak billentyűzetét és monitorát használod, közvetlenül bejelentkezhetsz a rendszerbe. Azt mondjuk, hogy ebben az esetben a számítógép konzolját használod.
Távoli bejelentkezéssel. Ekkor a gép valahol a hálózaton (interneten) érhető el, és távoli kapcsolatot kell kiépítened vele. Ennek népszerű eszköze Windows rendszereken a Putty, MacOS-en és Linuxon ehhez nincs szükség egyéb programra, az operációs rendszer parancssorából is megteheted.
A távoli bejelentkezést, és beállításait részletesen tárgyaljuk a A Putty c. fejezetben, a távoli bejelentkezés mögötti mechanizmusokat pedig az Az ssh fejezetben.
Kiegészítés
Ha az EKKE hallgatója vagy, az operációs rendszerek kurzushoz már készítettem neked egy hozzáférést. A bejelentkezési neved és a jelszavad is a Neptun kódod (nagybetűkkel), a columbo.uni-eszterhazy.hu gépen. Ne felejtsd el az első bejelentkezés során megváltoztatni a passwd parancs segítségével.
Ha parancssorból jelentkezel be (eleve Linuxon vagy MacOS-en dolgozol), használhatod az ssh parancsot, ahogyan az alábbi példa mutatja. A sikeres bejelentkezést követően különféle tájékoztató szövegek jelenhetnek meg (ezek egy részét a példából kivágtam, hogy most ne zavarjon). Az üdvözlő üzenet után látható sor szerint szerint új levelem van, valamint kiírja azt is, hogy utoljára mikor jelentkeztem be. Ezt általában ellenőrzöm, hátha esetleg ebből derül ki, hogy más is használja a felhasználói fiókomat.
koczka.ferenc@~:~$ ssh feri@columbo.ektf.hu
feri@columbo.uni-eszterhazy.hu's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-77-generic x86_64)
You have new mail.
Last login: Sat Jul 8 11:30:28 2017 from catv-89-134-252-27.catv.broadband.hu
feri@columbo:~$
Megjegyzés
A Windows rendszerek korábbi változatai ugyan nem, de a Windows 10 már szintén tartalmaz ssh parancsot. Használhatod azt is, de a későbbiekben ismertetésre kerülő Putty sokkal kényelmesebb, így a későbbiekben feltételezem, hogy azt futtatod.
3.2. A kijelentkezés¶
A munkád végeztével ki kell jelentkezned a távoli gépből. Erre az egyes rendszerek esetében több parancs is használható, a mi Linuxunkban a logout vagy az azzal egyenértékű exit parancs vagy a Ctrl-d billentyűkombináció ad erre lehetőséget.
feri@columbo:~$ logout
Connection to columbo.uni-eszterhazy.hu closed.
Koczkas-iMac:~ koczka.ferenc$
Figyelem!
Soha ne hagyd magára a gépedet úgy, hogy be vagy jelentkezve abba. A felügyelet nélküli gépet mások saját céljaikra használhatják, esetleg otromba tréfáknak teszed ki magad (pl. valaki a Facebookra ír valamilyen hülyeséget a nevedben). Amennyiben valaki visszaél ezzel a helyzettel, te leszel annak felelőse.
Windows esetében a gép zárolását a Windows-L lenyomásával (Lock) tudod gyorsan megtenni.
3.3. Munka a parancssorral¶
A teljes operációs rendszerben, így a parancssorban és a fájlok, könyvtárak neveiben is a kis- és nagybetűk különbözők. Ezért azokat pontosan kell leírnod, a Windows parancssorban megszokott szabadságod itt nincs meg.
A szövegszerkesztőkben megszokott kurzor jobbra és kurzor balra, Home és End gombok az ott megszokott módon működnek.
Az egyes parancsok begépelését az Enter megnyomásával kell zárnod. A kurzornak nem kell a sor végén lenni, ha az egy javítás miatt a sor belsejében van, nem kell kivinned a sor végére.
A kurzor fel és kurzor le gombok a korábban bevitt parancsokat hozzák vissza szerkesztésre. Ezzel egyrészt visszanézheted a korábbi parancsaidat, másrészt az esetleg hibásan bevitteket nem kell teljes egészében újra gépelned. Csak hozd vissza a hibás parancsot, javítsd és nyomd meg az Enter gombot.
A részlegesen begépelt parancsok és a fájlnevek a Tab billentyűvel befejezhetők. A parancs első néhány karakterének begépelése után nyomd le a Tab gombot! Ha egyértelmű, hogy melyik parancs vagy fájl kezdődik ezzel a karakterrel, akkor a parancsértelmező automatikusan befejezi azt, ha több lehetőség is van, akkor pedig felsorolja a lehetséges változatokat és folytathatod a pontosítást. Például a passwd parancs begépeléséhez elég a pass karaktereket begépelni, majd megnyomni a Tab gombot.
Sokkal régebben kiadott parancs visszahozásához először nyomd meg a Ctrl-r billentyűket, majd kezdd el begépelni a parancs egy jellegzetes részét! A karakterek begépelése során a parancsértelmező megkeresi azt a legkésőbb kiadott parancsot, amely tartalmazza a begépelt szöveget. Addig kell a szövegrészletet pontosítanod, amíg a keresett sort nem látod a szerkesztő sorban.
Ha elindítottál egy programot, amelyet szeretnél megszakítani, használd a Ctrl-c billentyűket. Ha ezt teszed, a futó program azonnal leáll, így a program esetleges adatai elvesznek. (Ezt egyébként a programok tilthatják, így találkozhatsz olyan esettel, amikor a Ctrl-c hatástalannak tűnik.)
A kiadott parancsok, elindított programok futása átmenetileg felfüggeszthető a Ctrl-s használatával. Ezt a felfüggesztett állapotot a Ctrl-q kapcsolja ki, ekkor a program folytatja futását. Ezeket akkor érdemes használnod, ha a program kimenete túl gyorsan jelenik meg ki, és időre van szükséged az átolvasásukhoz.
Kiegészítés
A Putty-ban kijelölt szöveg azonnal a Windows vágólapjára kerül, a jobb egérgomb (vagy a Shift-Insert) lenyomásakor pedig a vágólapon levő szöveget a kurzor helyére másolja a program. A menükben nem találsz majd Cut/Copy/Paste pontokat.
A parancsértelmező minden parancsot rögzít a home könyvtárad file:bash_history fájljában, a fent említett, a korábbi parancsokat kihasználó lehetőségek ezen alapulnak.
Próbáld ki a fentieket! Az egyik legegyszerűbb parancs a clear, ami a terminál képernyőjét törli. Használata nagyon egyszerű, nem lehet paraméterezni sem. Linuxon ugyanezt az eredményt éred el a Ctrl-L megnyomásával is.
3.4. Bővebben a shellről¶
A bejelentkezés során a rendszer bekéri a felhasználó nevét és a jelszavát, majd ez után egy fájlban leírtak alapján elindítja azt a programot, amely fogadja és végrehajtja a parancsaidat. Ez a legtöbb esetben egy bash nevű program, de a Felhasználók és csoportok c. fejezetben erről még részletesen lesz szó. A sikeres bejelentkezést követően a legtöbb esetben egy olyan program indul el, ami képes parancsokat fogadni és végrehajtani. Az ilyen programok általános neve parancsértelmező, vagy más néven shell. Sok sehll létezik, ez a jegyzet a legnépszerűbbet, a bash-t tárgyalja.
A shell a parancsokat a sor elejére kiírt prompt-tal várja, ennek végén látható a kurzor. A prompt a legtöbb esetben felhasználó@gépnév:/könyvtár alakú, amelyet egy $ vagy egy # karakter zár. A # azt jelenti, hogy a felhasználó rendszergazdai jogkörrel rendelkezik, a $ pedig azt, hogy egy általános felhasználóként dolgozik a rendszerben. Ez azért fontos, mert a Unixok esetében nincs meg az az „önvédelmi mechanizmus” amelyet a Windows rendszerek esetében gyakran tapasztalunk, ezek a rendszerek a rendszergazda minden parancsát visszavonhatatlanul végrehajtják akkor is, ha az a rendszer teljes egészére nézve is végzetes.
A Unix rendszerek teljes jogkörrel rendelkező felhasználójának neve root, a Windowsoké nyelvi változattól függően Rendszergazda vagy Administrator. Érdemes tudni, hogy az egyes rendszerekben a felhasználók aránylag könnyen átnevezhetők, amivel egyes rendszergazdák élnek is: ezzel elérik, hogy a gépet támadók esetleges sikere esetén is csak egy korlátozott jogkörrel rendelkező felhasználóhoz férjenek hozzá, miközben a rendszergazdát valójában másképp nevezik. A valódi rendszergazda bejelentkezési neve a támadó számára így ismeretlen, így kívülről azzal sincs tisztában, hogy egyáltalán melyik a kívánatos célpont számára.
A prompt egyszerű felhasználó esetén:
feri@columbo:~$
A prompt a rendszergazda esetén:
root@columbo:~#
Ha kilépsz a shellből a logout vagy az exit paranccsal, esetleg a Ctrl-d lenyomásával, akkor a bejelentkezésed folyamata is véget ér, távoli géppel fennállt kapcsolat a is lebomlik.
feri@columbo:~$ logout
Connection to columbo.uni-eszterhazy.hu closed.
Kiegészítés
Miért root a rendszergazda neve a Unixokon? Azért, mert minden felhasználónak van a rendszerben egy home könyvtára, az a könyvtár, amelyben tárolhatja a fájljait. A rendszergazdáé a korai rendszerek esetében ez a gyökérkönyvtár, angolul root volt. (A mai rendszerek többségében ez már nincs így, a root-nak is van egy saját home könyvtára, rendszerint a gyökérkönyvtárból nyíló root nevű.)
3.5. Első lépések Linuxban¶
Van pár parancs, amelyekre hamar szükséged lesz. A rendszerrel való ismerkedést ezért ezekkel kezdjük, így egy kis gyakorlatot szerezhetsz a parancsok kiadásában és megtudsz néhány hasznos dolgot a rendszerről is.
3.5.1. A jelszavakról¶
Veszélyforrás!
Ha az EKKE hallgatója vagy, és első alkalommal jelentkezel be a columbo.uni-eszterhazy.hu szerverbe, az első feladatod legyen a jelszavad cseréje. Ezzel biztosítod, hogy a felhasználói hozzáférésedet senki más ne tudja használni helyetted.
A jelszavadat a passwd paranccsal cserélheted le. A program először bekéri az aktuális (current) jelszót (így az őrizetlenül hagyott terminálhoz hozzáférő személy nem tudja lecserélni a jelszavadat). Ezt követően kétszer kell megadnod az új jelszót. Ezek begépelését vakon kell végezned, a képernyőn a jelszavak nem fognak megjelenni.
feri@columbo:~$ passwd
feri jelszavának megváltoztatása.
A (jelenlegi) UNIX jelszó:
Adja meg az új UNIX jelszót:
Írja be újra a UNIX jelszót:
passwd: password updated successfully
A jelszavak bonyolultságára a rendszergazda különféle megkötéseket írhat elő, ezt az egyszerű jelszavakat a passwd nem fogadja el. A saját érdeked, hogy a jelszavad kellően biztonságos legyen, ezért azt javaslom, hogy az mindig tartalmazzon számjegyet és nagybetűt is! Legyen természetes, hogy a jelszavadat ne add meg másnak!
Ha elfelejted a jelszavadat, a rendszergazda tud másikat adni neked. Valószínű, hogy ezért személyesen meg kell keresned, egy e-mailre vagy telefonhívásra nem fognak hinni neked. Mivel a jelszót kódolt formában tárolja a rendszer, ő sem tudja, annak idején mit állítottál be, ezért nem is tudja megmondani neked. Ilyen esetben a rendszergazda is a passwd parancsot használja, de a parancs paramétereként megadja a felhasználó nevedet is. A passwd parancs a rendszergazdától nem kéri a régi jelszót.
root@columbo:~# passwd koczka.ferenc
Adja meg az új UNIX jelszót:
Írja be újra a UNIX jelszót:
passwd: password updated successfully
Kiegészítések
Egy szervezet esetén az információbiztonsági szempontokat az ún. Információbiztonsági Szabályzatban (IBSZ) definiálják. Ez számos egyéb szabályt fogalmazhat meg a jelszavakkal kapcsolatban, pl. a kötelező cserék intervallumát, vagy az eredménytelen jelszó próbálkozások után bekövetkező automatikus kizárást.
A jelszavak működéséről, előállításáról a A shadow fájl fejezetben bővebben lesz szó. Most dióhéjban annyit, hogy ha elfelejted a jelszavadat, a rendszergazdától kell kérned a cseréjét.
Ha biztonságos jelszót szeretnél generáltatni, használd a pwgen parancsot! Ez alapértelmezésben 8 karakter hosszú jelszavakat generál, amiből választhatsz kedvedre valót. Fontos, hogy a pwgen nem cseréli le a jelszót, csak ajánl, a jelszócserét továbbra is a passwd paranccsal kell elvégezned. A pwgen parancsnak van néhány jól használható paramétere. A parancs után megadott szám a generált jelszavak hosszát, a -n után megadott szám a generált jelszavak számát határozza meg.
feri@columbo:~$ pwgen 8 -n 24
ohnie4iP phiSh0wo fi7veeSh see9yahM mee2PiFe xar2AeVi sa1oeThe Chee5lah
ai7ahT7O Reiy4riv aeph0eeY ea2Ohr2v Oedai7ye ib5shahH bonoo6Th AhY8ooru
agheuCh0 heoPohh6 aaf3eiFo Ro9uWooy OhheeG9k eTh0ThiJ sooPh5Ph aixoh1We
3.5.2. A kézikönyv¶
A legtöbb parancs számára meg kell határozni, hogy pontosan mit is csináljon, ezt paraméterezésével érjük el. A fenti példában a pwgen két paramétert is kapott, a generálandó jelszavak hosszára és a darabszámára vonatkozókat. Megtanulni, hogy melyik parancsnak milyen paraméterei vannak, a teljes rendszerre nézve szinte lehetetlen, ezért az egyes parancsok képesek kiírni a használatuk módját. A Linuxok ezért az egyes parancsok kézikönyvszerű leírása mellett info page-eket és egyéb dokumentációkat is tartalmaznak. Emellett a legtöbb parancsnak van egy --help paramétere, amely a lehetséges paramétereket és azok rövid leírását jeleníti meg. Nézzük meg ezeket az imént tanult pwgen esetén! Először lássuk a parancs saját helpjét!
feri@columbo:~$ pwgen --help
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words
A parancsok paramétereinek leírásakor használt legfontosabb jelölések a következők:
Egy paraméter általában megadható rövid és hosszú formában is. A -l a rövid, a –lock a hosszú formája, mindkettő ugyanazt jelenti. A gyakran használt paraméterek esetén a rövidet, a ritkábban használtaknál a hosszút szoktuk megjegyezni.
A parancs leírásában a szögletes zárójelpárban levő paraméterek megadása nem kötelező. A pwgen esetében a [pw_length] ilyen. Ha nem adod meg, akkor alapértelmezés szerint 8 karakteres jelszavakat fog generálni a parancs.
A | karakter konkrét paraméter értékek megadásakor használható. Pl. ha ezt látod: on|off akkor paraméterként csak az on vagy az off szó szerepelhet.
Az egyes jelölések összevonhatók, a [on|off] jelentése tehát az, hogy a paraméter megadása nem kötelező, de ha megadod, akkor csak az csak on vagy off lehet.
Azok a paraméterek, amelyek semmilyen jelöléssel nincsenek ellátva, kötelezők.
Egy másik lehetőség a sokkal részletesebb kézikönyv (manual) megfelelő részeinek átolvasása, amihez a man parancsot kell használni. Paraméterként annak a parancsnak a nevét kell megadni, amelyről olvasni szeretnénk. A kézikönyv olvasásakor általában működnek a pgUp, pgDn, valamint a kurzor fel és kurzor le gombok. Kilépni a q lenyomásával, keresni a / billentyűvel lehet. Az alábbi példa a pwgen kézikönyvének egy részletét jeleníti meg.
feri@columbo:~$ man pwgen
File: *manpages*, Node: pwgen, Up: (dir)
PWGEN(1) General Commands Manual PWGEN(1)
NAME
pwgen - generate pronounceable passwords
SYNOPSIS
pwgen [ OPTION ] [ pw_length ] [ num_pw ]
DESCRIPTION
The pwgen program generates passwords which are designed to be easily
memorized by humans, while being as secure as possible. Human-memo‐
rable passwords are never going to be as secure as completely com‐
pletely random passwords. In particular, passwords generated by pwgen
Kiegészítések
Azt, hogy a kézikönyv megjelenítője mennyire „intelligens”, attól függ, hogy a rendszer melyik programmal mutatja meg azt. Több ilyen közül is lehet választani, a leggyakoribbak a more, a less és a most. A more a leginkább pórias, a szövegben visszafelé lapozni sem tud. A leggazdagabb szolgáltatáskészlete a most parancsnak van. Hogy hogyan lehet beállítani a lapozóprogramot, a Környezeti változók c. fejezetben mutatom meg, a lapozó programokról a Lapozóprogramok részben olvashatsz.
Ha kíváncsi vagy, hogy melyik lapozó van beállítva, használd a set | grep PAGER parancsot. Nem baj, ha most nem érted, mit jelent, a szűrőknél majd megtanulod, ez mit jelent.
A lapozó beállítása az export PAGER=<lapozónév> paranccsal történik. Ha a most telepítve van a gépeden, a export PAGER=most egy jó megoldás lehet.
3.6. A felhasználókról¶
A gépen nem csak te dolgozhatsz. A Unixok ún. multiuser operációs rendszerek, így veled egy időben, de tőled függetlenül más felhasználókat is ki tudnak szolgálni. A felhasználókkal kapcsolatban van néhány parancs, ami melyeket érdemes megismerni, nézzük át őket!
3.6.1. A bejelentkezett felhasználók¶
Az éppen bejelentkezett felhasználók listázhatók a w paranccsal. Egy példa a w kimenetére:
feri@columbo:~$ w
21:02:39 up 5:54, 2 users, load average: 0,00, 0,01, 0,05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 catv-89-134-246- 20:49 1:19 0.44s 0.21s bash
feri pts/1 catv-89-134-246- 20:51 7.00s 0.50s 0.00s w
A válasz első sora nem a felhasználókról, hanem a rendszer állapotáról ad információkat. Az első adat az aktuális időt mutatja (21:02:39) amit a rendszer ún. uptime-ja, azaz a bekapcsolás óta eltelt idő követ (ez most csak 5 perc 54 másodperc, mivel nemrég indítottam újra). A 2 users jelentése értelemszerű, két felhasználó van bejelentkezve. A load average a rendszer átlagos terhelését mutatja: a három szám az elmúlt 1 percre, az elmúlt 5 percre és az elmúlt negyedórára vonatkozó adat. Az 1 jelentése 100%, ekkor a rendszerben még nincs olyan program, amely valamilyen erőforrásra várna. Ennél magasabb terhelés azt jelenti, hogy a rendszer működése már nem optimális, mert vannak olyan processzek, amelyeknek valamilyen erőforrásra várniuk kell. (Ez a gyakorlatban egyébként sokszor a diszk IO túlterhelése miatt következik be.) Többprocesszoros gép esetén ezek a számok osztódnak, egy négyprocesszoros gép esetén a 4-es load érték jelenti azt, hogy éppen minden processzt ki tud szolgálni a rendszer. Ennél magasabb érték azt jelzi, hogy az egyes processzeknek már várniuk kell, azaz a rendszer túlterhelt.
A további sorok a bejelentkezett felhasználóról adnak információkat. A sor elején a felhasználó bejelentkezési neve látható, a From oszlopban annak a gépnek a neve vagy IP címe, ahonnan bejelentkezett. A Login@ a bejelentkezés időpontját, az Idle a tétlenség idejét mutatja, vagyis azt az időt, ami a felhasználó utolsó tevékenysége (gépelése) óta eltelt. A JCpu és a PCpu a processzor használatára vonatkozó adat, számunkra most nem fontosak. A What oszlopban a felhasználó által éppen futtatott program neve és paraméterei láthatók.
Kiegészítés
Az, hogy a w parancs bárki számára láthatóvá teszi, hogy az egyes felhasználók éppen milyen parancsot futtatnak, felvet egy biztonsági problémát. Ebben ugyanis a parancs kiadásának pillanatában minden felhasználó parancsai és azok paraméterei is láthatók. Emiatt tervezték úgy a passwd parancsot úgy, hogy a jelszavak megváltoztatása csak interaktív módon történhet, ezért hogy nem adható meg paramétereként az új jelszó. Ha ez nem így lenne, a felhasználók egy alkalmas időpontban kiadott w paranccsal látnák, hogy egy másik felhasználó épp milyen új jelszót állít be magának.
3.6.2. Korábbi bejelentkezések¶
Az egyes felhasználók bejelentkezéseinek adatait a rendszer naplózza (logolja), erről részletesen lesz szó a logs-reference-label c. fejezetben. A last paranccsal megtekinthető a korábbi bejelentkezések története, lássuk ezt egy példán!
feri@columbo:~$ last
feri pts/0 54005096.dsl.poo Sat Jul 8 08:35 still logged in
root pts/0 catv-89-134-252- Sat Jul 8 00:06 - 02:13 (02:07)
koczka.f pts/0 catv-89-134-252- Sat Jul 8 00:06 - 00:06 (00:00)
root pts/2 backup.ektf.hu Fri Jul 7 13:08 - 13:08 (00:00)
feri pts/0 catv-89-134-252- Wed Jul 5 01:45 - 16:45 (2+14:59)
koczka.f pts/0 catv-89-134-252- Tue Jul 4 17:18 - 17:42 (00:24)
reboot system boot 3.13.0-77-generi Tue Jul 4 14:30 - 08:43 (3+18:12)
koczka.f pts/1 catv-89-134-252- Tue Jul 4 14:23 - down (00:06)
root pts/1 redax-desktop.ek Tue Jul 4 07:23 - 07:24 (00:00)
feri pts/0 catv-89-134-252- Mon Jul 3 21:51 - down (16:38)
feri pts/1 catv-89-134-252- Sun Jul 2 20:08 - 01:14 (05:06)
feri pts/3 catv-89-134-252- Sun Jul 2 15:29 - 16:55 (01:26)
feri pts/1 catv-89-134-252- Sun Jul 2 12:37 - 16:04 (03:27)
feri pts/1 catv-89-134-252- Sun Jul 2 12:34 - 12:36 (00:01)
feri pts/1 91ecd2c2.dsl.poo Sun Jul 2 10:27 - 10:36 (00:09)
feri pts/0 catv-89-134-252- Sat Jul 1 11:59 - 14:14 (2+02:14)
wtmp begins Sat Jul 1 11:59:37 2017
A parancs kimenete a felhasználó bejelentkezési nevével kezdődik (feri, root, koczka.ferenc, reboot). A második oszlopban levő adattal most nem foglalkozunk, a harmadikban annak a gépnek a neve vagy IP címe látható, ahonnan a felhasználó bejelentkezett (catv kezdetű sorok a UPC, a dsl.pool tartalmú helyek a Telekom ADSL vonalaira szoktak utalni). A következő oszlopok a bejelentkezés kezdetét és végét mutatják, a still logged in azt jelenti, hogy a felhasználó még mindig be van jelentkezve. A last paraméterezés nélkül csak az aktuális hónap bejelentkezési eseményeit mutatja.
Kiegészítések
A Linuxok különböző fájlokba sok eseményt naplóznak (logolnak), a bejelentkezésekkel kapcsolatos eseményeket pl. a
/var/log/wtmp
nevű fájlba írják. Más eseményeket más fájlokban rögzítenek, pl. minden egyes e-mail küldését és fogadását. A logok nagyban megkönnyítik a rendszergazdák munkáját, mert tartalmuk alapján visszakereshető, hogy mikor milyen esemény történt a rendszerben, és azonosíthatók korábban bekövetkezett hibák is.Biztosan feltűnt, hogy a last fenti kimenetében kétszer is bejelentkezett a reboot nevű felhasználó. Ez a gép újraindítását jelenti.
A logrotate-reference-label fejezetben majd látni fogod, hogy miért nem nőhetnek ezek a logfájlok a végtelenségig, teljesen teleírva a merevlemezt.
3.7. Ellenőrző kérdések¶
Mi a konzol?
Mi a terminál?
Hogyan lehet bejelentkezni egy Linux rendszerbe?
Hogyan lehet kijelentkezni a rendszerből?
Milyen biztonsági szabályokat említenél meg a bejelentkezéssel kapcsolatban?
Ismertesd a parancssorban használható billentyűket és jelentésüket!
Mi a prompt, és mi a tartalma?
Milyen a biztonságos jelszó?
Hogyan kell használni a Unix kézikönyvét?
Hogyan kaphatsz információt a felhasználók bejelentkezéseiről?
3.8. Feladatok¶
3.8.1. A Putty¶
Töltsd le az Internetről a Putty ssh klienst!
A
columbo.uni-eszterhazy.hu
gépre gyakran be szeretnénk jelentkezni. Vedd fel ennek adatait a Putty-ba! Kapcsolódj ehhez a géphez, és jelentkezz be!Jelentkezz ki a columboról!
Töröld
columbo.uni-eszterhazy.hu
gépet a Putty listájából!Állítsd be a Putty betűtípusát Courier New-ra, 11-es betűméretre!
Érd el, hogy a putty az Alt-Enter lenyomásakor teljes képernyőre váltson, valamint hogy az Alt-Gr a magyar billentyűzetnek megfelelő funkcióval bírjon (AltGr acts as Compose key)! Próbáld ki ezeket a bejelentkezés után!
Állítsd be a Putty által használt karakterkészletet UTF-8-ra!
3.8.2. Parancsok bevitele¶
Hozd vissza a parancssorba a korábban begépelt parancsokat!
Próbáld ki a TAB kiegészítő funkcióját a clear paranccsal!
A korábbi parancsaid közül keresd meg azt, amelyik tartalmazza a cl karaktereket!
Hogyan lehet megszakítani az éppen futó programot?
3.8.3. Alap Unix parancsok¶
Töröld a képernyőt!
Generálj jelszavakat!
Változtasd meg a jelszavadat! Az új jelszóhoz használd az előző feladatban generáltak valamelyikét!
Kik vannak bejelentkezve a rendszerbe? Mióta használják azt? Mióta inaktívak? Milyen parancsot futtatnak éppen?
Mennyire terhelt jelenleg a szerver?
Jelenítsd meg az utoljára bejelentkezett felhasználók listáját! Jelenítsd meg az utolsó 10 bejelentkezést!
Írj egy üzenetet a bejelentkezett felhasználók valamelyikének!
Tiltsd, majd engedélyezd az üzenetek fogadását! Ellenőrizd, hogy valóban a kívánt működést érted-e el!
Próbáld ki a talk parancsot a bejelentkezett felhasználók valamelyikével!
Nézd meg a date parancs kézikönyvét!
Generálj 6 db, 12 karakter hosszú, nehezen megjegyezhető, így biztonságos jelszót! A részleteket keresd ki a kézikönyvből!
Hogyan kell paraméterezni a date parancsot ahhoz, hogy csak az évszámot írja ki?
Érd el, hogy a c parancs törölje a képernyőt, a d parancs pedig írja ki az aktuális rendszerdátumot!
Az ls parancs mindig a teljes tartalomjegyzéket jelenítse meg, ne csak a file-ok neveit!
Jelenítsd meg ezeket az összerendeléseket!
Szüntesd meg az előző feladat összerendeléseit!