# 2. videó segédlet ## UNIX alapelvek <Note type="tip" label="Magyarázat"> A Linux egy [UNIX-szerű](https://en.wikipedia.org/wiki/Unix-like) rendszer, ugyanazokra az alapelvekre épül, ezért beszélünk most róluk. Amiket ebben a fejezetben olvashattok egyaránt vonatkozik a UNIX-ra és a Linux-ra is. </Note> Vannak különböző [elvek](https://en.wikipedia.org/wiki/Unix_philosophy), amik alapján egy UNIX operációs rendszert megalkotnak. A Linux is ezen elvek alapján készült. Ezen elvek közül néhány: - Moduláris szemlélet figyelembe vétele - Válaszd szét a működést az előírásoktól, szabályzatoktól - Egy program legyen kicsi, egyszerű, átlátható, mégis robosztus - Szükség esetén, inkább az adatstruktúra legyen összetettebb, ne a program - Számolj a potenciális felhasználók felkészültségével - Kerüld el a szükségtelen mellékhatásokat - Ha a program összeomlik, mérhető, elemezhető legyen - A fejlesztő ideje fontosabb a gép idejénél - A programok kézi kódolása helyett írj absztrakt programot, amely megalkotja a kódot - Írj rugalmas és nyílt programokat - A programok, protokollok bővíthetőek legyenek ### KISS (Keep it Simple, Stupid) A legtöbb rendszer akkor működik a legjobban, ha azt egyszerűnek hagyják, és nem teszik egyre bonyolultabbá. Ezért az egyszerűségnek a tervezés egyik fő céljának kell lennie, és kerülni kell az olyan összetételeket, amelyekre nincs szükség. ### Everything is a file Ez azt jelenti, hogy a felhasználó fájljai, a rendszer könyvtárkatalógusai és a rendszerhez csatlakoztatott hardver eszközök, mint fájlok egységesen kezelhetőek. Ezen megközelítés előnye, hogy ugyanazokat az eszközöket és API-kat széles körben fel tudjuk használni. Többféle fájltípus van, de bármelyik megnyitásakor egy állományleíró, ún. file descriptor jön létre. Így a fájl útvonala használható egy címkezelő rendszerként, és a file descriptor pedig a bájtfolyam I/O interfésze. De a file descriptor ugyanakkor létrehozható pipe és hálózati socketek megvalósítására is. Ennél fogva azt is mondhatnánk: Minden is egy file descriptor. Kiegészítésképp, létezik egy sor pszeudo és virtuális fájlkezelő rendszer amelyek képesek bizonyos folyamatokról, rendszer információkról adatokat megjeleníteni, hiszen ezek is egyetlen fájl hierarchiába vannak csatolva. ### Architektúra A UNIX rendszereknél az operációs rendszer részei jóval függetlenebbek egymástól, mint mondjuk egy Windows alapú rendszernél. *De mik is ezek a részek?* #### Bootloader Ez a legelső program, ami betöltődik, amikor a gépet bekapcsoljuk. A feladata a kernel és pár [alapvető driver és program](https://en.wikipedia.org/wiki/Initial_ramdisk) betöltése RAM-ba, majd a kernel elindítása. Dual boot esetén lehetőséget ad arra, hogy kiválasszuk melyik OS-t szeretnénk elindítani. *Az Ubuntu által használt bootloader a Grub.* #### Kernel A kernel feladata a hardverek bekurblizása és kezelése, erőforrások szétosztása, jogosultságok behajtása és sok gyakran használt, hardverközeli teendőhöz függvényeket biztosítani (pl: hálózati csomagküldés, adatblokk beolvasása lemezről, stb.). *Az Ubuntu által használt kernel a Linux.* #### Init rendszer Az init rendszer feladata az operációs rendszer szolgáltatásainak elindítása, felügyelete és kezelése. Ez indítja el a hálózatkezelőt és bejelentkezőablakot is például. *Az Ubuntu által használt init rendszer a systemd.* #### Userland A userland egy nehezen behatárolható dolog. Igazából minden, az operációs rendszerrel jövő, nem kernelben élő szoftver a userland része. Ebbe beletartozik az init rendszer is, de mégse venném ide, mivel annak elég jól elkülönülő határai vannak. Egy UNIX rendszer userland-ja alatt általában az alapvető programokat értjük, amik a rendszer és rajta futó programok használatához szükségesek. Ilyen pélául az `ls`, `cat`, `sh`, `cp`, `rm`, stb. *Az Ubuntu GNU userland-et használ.* ## A többfelhasználós rendszer működése, kezelése https://linuxhint.com/ubuntu-user-management/ ### Felhasználók kezelése #### Létrehozás A `useradd` parancs segítségével hozhatunk létre új felhasználót. `sudo useradd -G kszksok -s /bin/bash -m mike` - `sudo`: mert root hozhat csak létre új usert - `useradd`: ez a parancs hoz létre usert - `-G kszksok`: a `kszksok` csoport tagja legyen az új user - `-s /bin/bash`: a bash legyen a shellje a usernek - `-m`: legyen home mappája - `mike`: az új user neve Ezután az új felhasználónak be kell állítani egy jelszót, ezt a `sudo passwd mike` parancs kiadása után állítható be. <Note type="warning" label="Megjegyzés"> A `passwd` nem ír semmit a terminálra miközben írjuk a jelszót, de ne kételkedjünk, hogy nem látunk semmit, attól még íródik. </Note> <Note type="tip" label="Extra infó"> Ubuntun és egyéb Debian alapú disztrókon megtalálható egy `adduser` script is, ami szintén userek létrehozására van. Használata kicsit egyszerűbb, azonban nincs minden rendszeren. Használata: ```shell-session mike@mike-elementary:~$ sudo adduser patrik [sudo] password for mike: Adding user `patrik' ... Adding new group `patrik' (1001) ... Adding new user `patrik' (1001) with group `patrik' ... Creating home directory `/home/patrik' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for patrik Changing the user information for patrik Enter the new value, or press ENTER for the default Full Name []: Fodor Patrik Room Number []: 6969 Work Phone []: +36306942069 Home Phone []: Other []: Jógyerek amúgy chfn: 'Jógyerek amúgy' contains non-ASCII characters Is the information correct? [Y/n] y mike@mike-elementary:~$ sudo adduser patrik sudo Adding user `patrik' to group `sudo' ... Adding user patrik to group sudo Done. mike@mike-elementary:~$ ``` </Note> ```shell-session patrik@ubuntu:/home$ useradd -m -s /bin/bash mike useradd: Permission denied. useradd: cannot lock /etc/passwd; try again later. patrik@ubuntu:/home$ sudo useradd -m -s /bin/bash mike patrik@ubuntu:/home$ sudo passwd mike New password: Retype new password: passwd: password updated successfully patrik@ubuntu:/home$ ``` #### Törlés `sudo userdel <username>`parancs segítségével eltávolíthatunk egy új felhasználót a rendszerből. Azonban ez csak a felhasználót törli a hozzá tartozó `home` mappát és egyéb fájlokat nem, ezt az `-r` kapcsoló megadásával tehetjük meg. ```shell-session patrik@ubuntu:/home$ sudo userdel -r mike [sudo] password for patrik: patrik@ubuntu:/home$ ``` <Note type="tip" label="Extra infó"> A `userdel` Debian-os párja a `deluser`. </Note> #### Jelszó megváltoztatása `sudo passwd <username>` parancs segítségével megváltoztatható egy-egy felhasználó jelszava. Akkor ha csak annyit írunk, hogy passwd, azzal a bejelentkezett felhasználó jelszavát változtatjuk meg. ```shell-session patrik@ubuntu:/home$ sudo passwd mike [sudo] password for patrik: New password: Retype new password: passwd: password updated successfully patrik@ubuntu:/home$ passwd Changing password for patrik. Current password: New password: Retype new password: passwd: password updated successfully patrik@ubuntu:/home$ passwd Changing password for patrik. Current password: New password: Retype new password: Password unchanged New password: Retype new password: You must choose a longer password New password: Retype new password: Bad: new and old password are too similar passwd: Authentication token manipulation error passwd: password unchanged patrik@ubuntu:/home$ ``` A jelszó megadásánál van egy pár követelmény, aminek meg kell felelni. Ilyenek azok is, melyek fentebb láthatóak. A jelszó nem egyezhet meg a korábbival, nem lehet ahhoz nagyon hasonló, hosszúnak kell lennie, ha túl egyszerű azt se engedi (1234, asdasd...stb.). #### Root jog "szerzése" `usermod -aG sudo <username>` parancs segítségével hozzáadjuk a megadott felhasználót a sudo nevű csoporthoz. *Hint: `-aG`, mint add group.* ```shell-session patrik@ubuntu:/home$ sudo usermod -aG sudo mike ``` Vagy a létrehozás során adjuk meg a plusz group-ot ```shell-session patrik@ubuntu:/home$ useradd -m -G sudo -s /bin/bash mike ``` ### Csoportok kezelése `groups username` parancs megadásával megtudhatjuk egy felhasználó, mely csoportoknak a tagjai. A `groups` parancs önmagában a bejelentkezett felhasználó csoportjait mutatja meg. ```shell-session patrik@ubuntu:~$ groups mike mike : mike sudo patrik@ubuntu:~$ groups patrik patrik : patrik adm cdrom sudo dip plugdev lpadmin lxd sambashare patrik@ubuntu:~$ groups patrik adm cdrom sudo dip plugdev lpadmin lxd sambashare ``` #### Létrehozás `sudo groupadd <groupname>` parancs segítségével lehet létrehozni egy új csoportot. ```shell-session patrik@ubuntu:~$ sudo groupadd almafa [sudo] password for patrik: patrik@ubuntu:~$ sudo cat /etc/group | grep alma almafa:x:1002: patrik@ubuntu:~$ ``` <Note type="tip" label="Extra infó"> Debian alapú disztrókon a `sudo addgroup almafa` is működik. </Note> A `/etc/group` fájlban található a csoportok listája és azok tulajdonságai. sudo cat /etc/group | grep alma: - `sudo` csak root joggal olvasható vagy írható a `group` fájl - 'cat' kiírja egy fájl tartalmát, ez most a group, vagyis a csoportok listája - a `|` segítségével a `cat` kimenetét odaadjuk egy másik program bemenetének (jelen esetben a `grep`) - a `grep` a bemenetére kapott szövegből az `"alma"` (rész)szót tartalmazókra fog szűrni Ennek a segítségével leellenőrézhetó egy a csoport valóban létrejött. #### Törlés `sudo groupdel <groupname>` parancs segítségével eltávolíthatunk egy csoportot. ```shell-session patrik@ubuntu:~$ sudo groupdel almafa [sudo] password for patrik: patrik@ubuntu:~$ sudo cat /etc/group | grep alma patrik@ubuntu:~$ ``` <Note type="tip" label="Extra infó"> Debian alapú disztrókon a `sudo delgroup almafa` is működik. </Note> Hasonlóan az előző ellenőrzéshez itt is ellenőrizhető, hogy valóban eltávolításra került-e a csoport. Mivel a kimeneten nem jelent meg semmi, megállapítható, hogy nincs alma szót tartalmazó group. #### Felhasználók hozzáadása `sudo usermod -aG <groupname> <username>` parancs segítségével felhasználót lehet hozzáadni a megadott csoporthoz. A `groups` parancs segítségével megnézhetjük, hogy tényleg megtörténik a hozzáadás. ```shell-session patrik@ubuntu:~$ sudo usermod -aG almafa mike [sudo] password for patrik: patrik@ubuntu:~$ groups mike mike : mike sudo almafa patrik@ubuntu:~$ ``` Hozzáadni egy felhasználót egy csoporthoz nem csak a `usermod` segítségével lehet, hanem a `gpasswd` paranccsal is. ``` patrik@ubuntu:~$ groups mike mike : mike sudo patrik@ubuntu:~$ sudo gpasswd -a mike almafa [sudo] password for patrik: Adding user mike to group almafa patrik@ubuntu:~$ groups mike mike : mike sudo almafa patrik@ubuntu:~$ ``` `sudo gpasswd -a <username> <groupname>`: - A `gpasswd` egy parancs, mely segítségével különböző műveleteket lehet végrehajtani a csoportokon. - `-a` kapcsoló, mely megadja, hogy hozzáadni szeretnénk egy felhasználót. (add) - `username` a felhasználó, akit szeretnénk Hozzáadni - `groupname` a csoport, amelyikhez szeretnénk hoozáadni a felhasználót <Note type="tip" label="Extra infó"> Debian alapú disztrókon a `sudo adduser mike almafa` is működik. </Note> #### Felhasználók eltávolítása a csoportból `sudo gpasswd -d <username> <groupname>` parancs segítségével törölhetünk egy felhasználót a csoportból. ``` patrik@ubuntu:~$ sudo gpasswd -d mike almafa [sudo] password for patrik: Removing user mike from group almafa patrik@ubuntu:~$ groups mike mike : mike sudo ``` <Note type="tip" label="Extra infó"> Debian alapú disztrókon a `sudo deluser mike almafa` is működik. </Note> Pontosan ugyanazt kell itt csinálni, mint amikor a `gpasswd` segítségével hozzáadunk egy felhasználót, csupán a kapcsoló eltérő `-d`. ## Init rendszer A UNIX operációs rendszerben vannak olyan feladatok, amiket a háttérben (gyakran "észrevétlenül") futó folyamatok végeznek el. Ezeket a programokat daemon folyamatoknak is nevezik. Mivel ezeket a folyamatokat nem a terminálról indítják, általában a rendszerindításkor automatikusan indulnak el. Egy szolgáltatás nem más, mint egy szerver alkalmazás vagy alkalmazások összesége , amelyek a háttérben futnak, és a feladatukra várnak, vagy már valamilyen fontos feladatot (taskot) látnak el. Őket gyakorlatilag csak processzek közti kommunikáció során hívják meg. Manapság a démonok (daemon) és a szolgáltatások (service) alatt ugyanazt a fogalmat értjük, mivel ezek a programok egyszerre démonok és szolgáltatások is. Az init rendszer a legelső (és egyetlen) program, démon, amelyet a kernel indulása után elindít. Az ő feladata, hogy minden szükséges szolgáltatást, démont elindítson. ### systemd A systemd egy init rendszer, amely nagyon elterjedt Linux rendszereken, ma már szinte az összes disztribúció ezt használja, mivel számos előnye van elődeihez képest. Feladata, hogy a Linux kernel indulása után előkészítse az induló szolgáltatásokat és a systemd felel nagyon sok olyan háttérmunkáért, amiről sok esetben nem is tudunk, de szükségesek a rendszerhez, vagy egy-egy feladat indításához. Megjegyzés: a `.service`-t nem kötelező kiírni Vannak olyan programok, amit szeretnénk, a rendszerrel együtt indítani, a rendszerrel együtt szabályosan leállítani, valamint igény szerint kézzel indítani, leállítani, újraindítani. #### `systemctl`: a systemd-t piszkáló, vele kommunikáló eszköz `systemctl status <service_neve.service>` Szolgáltatás státusza `systemctl list-unit-files` Létező szolgáltatások kilistázása `systemctl start <service_neve.service>` Szolgáltatás indítása `systemctl stop <service_neve.service>` Szolgáltatás leállítása `systemctl restart <service_neve.service>` Szolgáltatás újraindítása `systemctl enable <service_neve.service>` Indítás a rendszerrel `systemctl disable <service_neve.service>` Ne induljon a rendszerrel #### `journalctl`: naplózó, logkezelő service `journalctl` Naplók megjelenítése `journalctl -xe` Hibák megjelenítése `journalctl -u <service_neve>` Egy szolgáltatás logjainak megjelenítése `journalctl --since "1 hour ago"` Egy időpont óta történt események #### Saját program használata szolgáltatásként Ha szeretnénk saját programjainkat szolgáltatásként használni, ezt megtehetjük, ha írunk a programhoz egy fájlt. ``` [Unit] Description=Leírás a programhoz [Service] Type=simple ExecStart=program_elérési_útja [Install] WantedBy=multi-user.target ``` Ezt a fájlt bele kell rakni a `/etc/systemd/system` mappába, ezután a `systemctl` paranccsal ## Hálózat alapszintű konfigurálása <Note type="tip" label> Az esetek többségében ezt nem kell nekünk kézzel megcsinálni, hanem network manager megoldja helyettünk </Note> ### Parancsok a hálózat konfigurálásához - `ip a`, `ip address`: Kilistázza a hálózati interfészeket és azoknak az IP címeit ```shell-session patrik@ubuntu:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:c9:db:ba brd ff:ff:ff:ff:ff:ff altname enp2s1 inet 172.16.228.135/24 brd 172.16.228.255 scope global dynamic noprefixroute ens33 valid_lft 1684sec preferred_lft 1684sec inet6 fe80::e85d:ab8d:2f03:2fa9/64 scope link noprefixroute valid_lft forever preferred_lft forever patrik@ubuntu:~$ ``` - `ip r`, `ip route`: Kilistázza a (kernel) [routing table](https://en.wikipedia.org/wiki/Routing_table) tartalmát ```shell-session patrik@ubuntu:~$ ip r default via 172.16.228.2 dev ens33 proto dhcp metric 100 169.254.0.0/16 dev ens33 scope link metric 1000 172.16.228.0/24 dev ens33 proto kernel scope link src 172.16.228.135 metric 100 patrik@ubuntu:~$ ``` - ip beállítása `sudo ip addr add IP_cím/hálózati_maszk dev interfész` ```shell-session {highlight: [14]} patrik@ubuntu:~$ sudo ip addr add 192.168.4.44/24 dev ens33 patrik@ubuntu:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:c9:db:ba brd ff:ff:ff:ff:ff:ff altname enp2s1 inet 172.16.228.135/24 brd 172.16.228.255 scope global dynamic noprefixroute ens33 valid_lft 1378sec preferred_lft 1378sec inet 192.168.4.44/24 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::e85d:ab8d:2f03:2fa9/64 scope link noprefixroute valid_lft forever preferred_lft forever patrik@ubuntu:~$ ``` - router beállítása `ip route add default via default_gateway_IP_címe` ```shell-session patrik@ubuntu:~$ sudo ip route add default via 192.168.4.44 patrik@ubuntu:~$ ip r default via 192.168.4.44 dev ens33 169.254.0.0/16 dev ens33 scope link metric 1000 192.168.4.0/24 dev ens33 proto kernel scope link src 192.168.4.44 patrik@ubuntu:~$ ``` ### Hálózatkezelők #### [NetworkManager](https://wiki.archlinux.org/index.php/NetworkManager) Automatikusan elvégzi a hálózati konfigurációt és kezeli, kontrollálja a hálózati eszközöket. A network managert többféle módon szabályozhatjuk, állíthatjuk: - `nmtui` (Network Manager Text User Interface) Terminálos "grafikus" felületű alkalmazás, az `nmtui` kiadása után nyílik meg. A nyílik, az enter és az Esc segítségével navigálhatunk benne, valamint a szóközt használhatjuk bizonyos paraméterek megváltoztatásához. <center> <ImageZoom src="pics/nmtui1.png" /> nmtui "főmenü" <br> </center> <br> <center> <ImageZoom src="pics/nmtui2.png" /> nmtui edit connecntion menü <br> </center> <br> <center> <ImageZoom src="pics/nmtui4.png" /> nmtui edit ethernet connecntion <br> </center> <br> <center> <ImageZoom src="pics/nmtui3.png" /> nmtui activate connecntion <br> </center> <br> <center> <ImageZoom src="pics/nmtui3.png" /> nmtui activate connecntion <br> </center> <br> - A hálózati beállítások a grafikus felület beállításaiban is megváltoztathatóak (gnome settings, kde settings...) <center> <ImageZoom src="pics/gnome-settings-network.png" /> network settings <br> </center> <br> - `nmcli` [NetworkManager command-line tool](https://opensource.com/article/20/7/nmcli) Parancssori alkalmazás, mellyel a shell-ben különböző kapcsolók segítségével módosíthatjuk a NetworkManager beállításait. ```shell-session patrik@ubuntu:~$ nmcli ens33: connected to Wired connection 1 "Intel 82545EM" ethernet (e1000), 00:0C:29:C9:DB:BA, hw, mtu 1500 ip4 default inet4 172.16.228.135/24 route4 0.0.0.0/0 route4 172.16.228.0/24 route4 169.254.0.0/16 inet6 fe80::e85d:ab8d:2f03:2fa9/64 route6 fe80::/64 route6 ff00::/8 lo: unmanaged "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 DNS configuration: servers: 172.16.228.2 domains: localdomain interface: ens33 Use "nmcli device show" to get complete information about known devices and "nmcli connection show" to get an overview on active connection profiles. Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details. patrik@ubuntu:~$ ``` #### [systemd-networkd](https://wiki.archlinux.org/index.php/Systemd-networkd) Hálózati szolgáltatás, amely hálózatokat kezeli, felismeri és konfigurálja a hálózati eszközöket, a NetworkManager-höz hasonlóan. Míg az Ubuntu Desktop verziója a NetworkManager-t használja, addig az Ubuntu Server a systemd-networkd-t a hálózat konfigurálásához. A különböző beállításokat egy-egy plain-text fájlban tárolja, ezek kiterjesztése általában `.network`. Ha kézzel szeretnénk egy beállítást hozzáadni, akkor mi is írhatunk ilyen fájlokat. Ezeket különböző [mappákba helyezhetjük el](https://wiki.archlinux.org/index.php/systemd-networkd#Configuration_files), a fajtájától és prioritásától függően. (Általában `/etc/systemd/network/`) A fájlok nagyon hasonlóan épülnek fel, mint a systemd `.service` fájljai. ``` Wired adapter using a static IP /etc/systemd/network/20-wired.network [Match] Name=enp1s0 [Network] Address=10.1.10.9/24 Gateway=10.1.10.1 DNS=10.1.10.1 ``` A networkd-nek egy nagyon hasznos eszköze, a `networkctl`. Ennek segítségével ellenőrizhetjük és teljes információkat szerezhetünk a hálózati interfészekről. Ha új konfigurációs fájlt hoztunk létre és szeretnénk betölteni, azt a `networkctl reload` parancs segítségével tehetjük meg. ## Távoli hozzáférés (SSH) A rendszerhez hozzáférhetünk távolról is, így is megkönnyítve a munkánkat, nem kell fizikailag az adott számítógépnél/szervernél lennünk. Erre többféle módszer is van, de a legbiztonságosabb és ma is leginkább használatos az ssh (secure shell). ### Használata - `ssh a_távoligépen_lévő_felhasználónk_neve@a_távoli_gép_neve` - Megkérdezi a felhasználó nevünkhöz tartozó jelszót, ezt megadjuk ééééééééés bent is vagyunk ```shell-session [patrik@patrik-laptop ~]$ whoami patrik [patrik@patrik-laptop ~]$ ssh hallgato@172.16.228.130 3944ms 2021. márc. 16., kedd, 20:41:28 CET hallgato@172.16.228.130's password: Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-65-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Tue Mar 16 20:41:47 2021 hallgato@ubuntu:~$ whoami hallgato hallgato@ubuntu:~$ ``` Ez mit is mutat? - `whoami` (ki vagyok én?) válaszol erre a kérdésre - Ezt a parancsot kiadom a saját gépemen és visszaadja, hogy `patrik` - `ssh hallgato@172.16.228.130 ` szeretnék belépni ssh-n keresztül a 172.16.228.130 ip címmel rendelkező gépre hallgato felhasználó névvel - `hallgato@172.16.228.130's password:` itt kell megadni a felhasználó jelszavát - Ha létezik a felhasználó és jó a megadott jelszó, akkor belépünk a rendszerbe - Ezután látható, hogy tényleg sikeresen beléptem, egy "üdvözlő üzenet" fogad, valamint a promt is megváltozott `hallgato@ubuntu:~$`-ra - `whoami` parancs kiadása a távoli gépem - Itt már a `hallgato` nevet kapom vissza, ebből is látszik, hogy most egy másik felhasználóként használom a shell-t